Automaton animation

Images of characters done with MakeHuman

Moderator: joepal

Automaton animation

Postby jcpalmer » Fri May 12, 2017 7:15 pm

Here is a WebGL scene which uses busts of MakeHuman (https://palmer-jc.github.io/scenes/QueuedInterpolation/automaton/index.html) This is test scene for an animation system I am writing for the Babylon.JS framework. BJS already has an animation system, but does not meet my requirements.

This animation system is not complete. Also note that many of the reference pages are incomplete, out of date, etc. I pushed this stuff out just now. For readers looking at this in the future, I will add messages and edit this message as I correct them.

There is really too much to explain, so just enjoy. Before you ask, just note that knowing Javascript is a requirement to doing this.
jcpalmer
 
Posts: 115
Joined: Tue Dec 16, 2014 4:14 pm

Re: Automaton animation

Postby joepal » Fri May 12, 2017 9:01 pm

That's cute. What rig are you using for this? The MH default?
Joel Palmius (LinkedIn)
MakeHuman Infrastructure Manager
http://www.palmius.com/joel
joepal
 
Posts: 4474
Joined: Wed Jun 04, 2008 11:20 am

Re: Automaton animation

Postby jujube » Fri May 12, 2017 10:55 pm

I wish I could get WebGL to work in my browser so I could test this.
jujube
 
Posts: 404
Joined: Fri Aug 14, 2015 10:46 pm

Re: Automaton animation

Postby blindsaypatten » Sat May 13, 2017 5:54 pm

I think this is pretty awesome. I'm looking forward to the whole-body version.

jujube wrote:I wish I could get WebGL to work in my browser so I could test this.


Which browser are you using? It works fine for me in Chrome.
blindsaypatten
 
Posts: 586
Joined: Tue Mar 14, 2017 11:16 pm

Re: Automaton animation

Postby jujube » Sat May 13, 2017 6:47 pm

blindsaypatten wrote:I think this is pretty awesome. I'm looking forward to the whole-body version.

jujube wrote:I wish I could get WebGL to work in my browser so I could test this.


Which browser are you using? It works fine for me in Chrome.


I'm also using chrome. I did all the tips and tricks the internet told me to do to get it to work but still nothing. (It doesn't work in firefox for me either though. Or, the last one jcpalmer didn't work for me in firefox, but this one does for some reason when I tried it just now. It still doesn't work in chrome though.)

But now that I do see it in firefox, it is really cool.
jujube
 
Posts: 404
Joined: Fri Aug 14, 2015 10:46 pm

Re: Automaton animation

Postby jcpalmer » Mon May 15, 2017 3:27 pm

It is real important to have the latest versions of browsers. The Babylon.JS 3.0 Alpha version performs with both WebGL 1 & 2. You can see what is working in your browsers use a site like http://webglreport.com/

@joepal, I am not sure cute was the adjective I was trying to achieve, but I'll take it. Yes, this comes from custom expressions transferred using sync with the default rig. There is no armature in this final scene though. It is all done with exported shapekeys. The rig I use, when I need one is the Game Rig with the fingers removed. I use Finger IK rig snap-on to make a Pose library, then process the same way to exported shapekeys, see https://palmer-jc.github.io/scenes/QueuedInterpolation/finger_shapekeys/index.html

There is a reference to Automaton that is very wrong. I hope to have an update to date version which actually got implemented. This picture is right. Will advise when I upload.

process.png
Workflow Diagram
process.png (8.49 KiB) Viewed 9067 times
jcpalmer
 
Posts: 115
Joined: Tue Dec 16, 2014 4:14 pm

Re: Automaton animation

Postby jcpalmer » Mon May 15, 2017 8:10 pm

Ok, the process documentation has been updated. Here is a direct link without going through the scene References dropdown.

https://github.com/BabylonJS/Extensions/tree/master/QueuedInterpolation/src/meshes/automaton
jcpalmer
 
Posts: 115
Joined: Tue Dec 16, 2014 4:14 pm

Re: Automaton animation

Postby jcpalmer » Mon May 15, 2017 9:12 pm

@joepal, now that I just completed that doc, I was wonder if a call on MH could be made to get all the expressions of a given Tag, from blender? If that could be done as well passing a expression / or pose to assume prior to a sync, then with a little macro coding on the Blender side, you could transfer all the custom expressions of a given tag to a Skeleton Library with a single click.

That is the most tedious part of my process. I have 27 custom expression need for an Automaton, and the exact names must match on transfer. I was on Linux when I added the MH code for pose sync. There was source code in the distribution. Now on Win 10, it is all compiled. Even if I did have it, figuring out tags on MH might take me a long time.
jcpalmer
 
Posts: 115
Joined: Tue Dec 16, 2014 4:14 pm

Re: Automaton animation

Postby joepal » Tue May 16, 2017 7:28 am

Yes, this should not be too hard to do. It would also have the added benefit of being able to include extra downloaded expressions from the user repos.

What do you need on your side? Full paths to the mhpose files? Or an array with the contents of all files matching a tag?

Given that we're talking about pretty litte data, maybe we could even consider to simply merging all the mhpose files into a json array and send everything back to blender rather than trying to implement the filtering MH side.
Joel Palmius (LinkedIn)
MakeHuman Infrastructure Manager
http://www.palmius.com/joel
joepal
 
Posts: 4474
Joined: Wed Jun 04, 2008 11:20 am

Re: Automaton animation

Postby jcpalmer » Tue May 16, 2017 3:05 pm

I need the 'name' field in each. mhpose file. Looking at one of mine, I do not see every needing anything but the name, so that it can be passed back along with each syncpose call. The filter code is probably about the same labor as shipping everything, except with shipping everything there would have to be code to unpack & then filter on the Blender side without any upside that I can tell.
Code: Select all
{
    "license": "APACHE 2.0",
    "name": "SYMMETRY-CHIN_LEFT",
    "copyright": "(c) Jeff Palmer, 2017",
    "tags": [
        "QI.Automaton"
    ],
    "author": "Jeff Palmer",
    "unit_poses": {
        "ChinLeft": 1.0
    },
    "homepage": "https://github.com/Palmer-JC/",
    "description": "QI.Automaton"
}


I mocked up the UI I had in mind. The upside of doing this for other workflows is not getting a custom expression across. That can already be done one at a time. Providing a way to get all the stock expressions without relying on MHX2 would be very good for other formats, assuming the bone transfer is working for them.
Attachments
expTransfer.jpg
jcpalmer
 
Posts: 115
Joined: Tue Dec 16, 2014 4:14 pm

Next

Return to Gallery

Who is online

Users browsing this forum: No registered users and 1 guest