Jump to content

Automaton QA scene


Recommended Posts

This is not actually a demo, but rather a QA scene for both testing a new feature of QI 1.1, the Automaton Class, as well as developing expressions.  QI 1.1 is not final yet.

There are also other aspects of this scene which have not been seen before: new grand entrances & read ahead.  The grand entrances are done using shader builder. 

For read ahead, first remember that the Tower of Babel exporter for Blender outputs inline Javascript.  Javascript can be dynamically linked outside of script tags in the header section of html.  When a .js file is retrieved using BABYLON.Tools.loadFile(), it occurs on one of the browser's threads asynchronously.  This means that a scene's renderloop can be running unaffected during retrieval. This opens up the possibility that additional geometry can be retrieved, but not actually loaded into the scene, ahead of it being needed.

Of course, this is not really great if the textures are not also gotten in advance.  To solve this, a small entry point in the generated .js file was added, matReadAhead().  This method causes all the texture files to also be retrieved & buffered in the VM async as well, but no Texture Objects are created till needed.  When the .js arrives, there is a very brief eval call on the user thread to touch this off.  Note:  this works with compressed textures as well.

In this scene, all the busts are retrieved dynamically.  The first of course, delays when the scene becomes actually usable, but all the remaining are downloaded after the first is taken care of.  Right now there are only 2, but more are coming.  Also, full size characters with armatures, 30 face shapekeys, & 10 shapekeys on each hand are 5mb of geometry and up.

BTW, this all started, because I wanted to do a bunch of scenes for this blog site, but would get drowned if I had to make characters for every single scene.  I also did not want to have to statically link characters as this would be a maintenance issue as I add characters / busts.  Not to mention that it would slow down launch with each one added.

I normally do not do long reads, sorry.  If you are still reading, enjoy.

Link to comment
Share on other sites

Thanks, I am not really sure it is a "blog" site.  That is just what github.io called them.  I need / want multiple scenes, partly because some are test / QA scenes.  They have their own UI controls.  The Automaton scene has undergone many enhancements since I posted, but not yet republished.  Have improved all but one of the expressions.  Have also added a set of expressions which constitute visemes for speech.  I have another scene using the busts which is used to actually make speech.  It has its own UI.

For full size characters, I have one scene which tests the 5 different grand entrances.  Another is used to weave skeleton poses into interpolated animation.  Each has controls which are different, but both can use the same characters.

Finally, was going some warm up "theatrical" scenes where everything was being done at the same time.  There is also another type of read ahead for "sets".  The first one I have in dev is a concert hall.  I can then make multiple scenes from that set.  I also am deciding how to make it so that chunks of a scene can be created as needed.  This is where read ahead for sets can download in advance.

Link to comment
Share on other sites

On 5/30/2017 at 8:38 PM, Spankied said:

So its not a blog site.

Well, the unfiltered / unedited crackpot authoring part matches a blog:blink:.  Right now the index.html is a re-direct to one of the scenes, one not currently working in the QI 1.0 to 1.1 transition.  Will eventually switch to a single page which discusses / links to the scenes.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...