Our first job using Ornatrix for Maya

 
 
 
Posted by:patrickvp
Data created:4 October 2018

Finally got the Youtube link for this spot and I wanted to share it with the community:

 

This spot was made over the summer and ALL the fur was generated by Ornatrix.  We use the Arnold renderer, so rather than render the fur directly, I set up a system that would cache out the fur per-frame as Arnold stand-in files that were then loaded into our render scenes.  This saved license use, and a lot of processing overhead for our lighters.  All the fur was styled and managed by myself, and I set up a bunch of scripts that would handle the simulation of the fur automatically on our renderfarm, so I didn't have to chase after animation changes manually (except for one problem character I mention below).

Having only played with an evaluation license for about a month before this project began, I was nervous about running such a heavy fur job through a new piece of software for us, but it was really the only real option we had at the time, and the plugin held up really well during production.  The fur dynamics is all using the nCloth dynamics option as it seemed the most flexible (plus I couldn't get moovPhysics running on our linux farm in batch mode for some reason).  I learned through this process that having the fur be generated off of extremely histry-clean geometry works best, so the fur generating geometry was simply blendshaped to the rigged geometry, so the only history on the fur geometry was a blendshape.  I found that having particular construction history nodes could adversely affect how the fur would cache out on the farm (usually in the form of a few fibers jumping and flying off into space).

The only difficulty I had with it was that the long hair on the drummer was made using the guides-from-mesh-strips option, but for some reason the guide "rotation" on the strips would always cache 90 degrees away from how it should be.  If I loaded the scenes interactively in Maya, they would display correctly, but the rotation would not be correct if it was cached through a command line batch process (on the farm).  This was mainly giving me trouble in the last week or two of production, so I just exported her long hair manually any time it needed to be updated (it usually only took 2-3 minutes per shot to export).  After the project was over, I went back and found that I could have inserted a few MEL lines into the export script that would have just done an extra rotation on the guides and it would have worked.

Anyway, we're pretty proud of this project, and I wanted to share it with the community.  I'm looking forward to the next time we need to do furry/hairy stuff (although hopefully with not so many characters at once!)

Hi Patrick,

Wow, this is a very impressive project considering how much fur there is and also that the fur is animated/simulated! Thank you very much for the write up. It is very interesting how you managed to overcome some of the limitations for Arnold and Ox. Did you use Ornatrix V2 for this (you mentioned Moov)?

If you have some time to report the Ox issues individually (rotated fur, Moov with batch on Linux, flying hairs with a distr. surface that has history) please do, especially if you can direct us on how to reproduce these. We'll be happy to fix them in time for your next project so you'd have to do less workarounds.

Congratulations again, and keep it coming! We'll feature this on our social media.

Marsel Khadiyev (Software Developer, EPHERE Inc.)

Thanks!  And yes I'll start posting some of the stuff for debugging; first one coming in a new thread shortly.

For this spot we used version 2.1.5.  That was the latest version available when we started nailing things down, so we kept to that version through the end of the project.

Hey Patrick, that's really impressive work, is it possible to drop you an email and pick your brain about your studio's pipeline, thinking of doing a long format project using ornatrix for maya, would love to hear about your experience using scalp meshes and alembics.  Please drop me a line at kostadamus@gmail.com if you have a few minutes to spare.  Cheers

Sure thing!  I didn't get to use scalp meshes (ground strands operator I guess) much on this project, except for a brief moment of troubleshooting.  I also avoided alembic exports of the hair (for us it was easier just to go straight to Arnold standins).  Happy to detail out the process a bit more if needed though.  I'll send you an email shortly.

Follow-up while I'm here:  One of the issue I mentioned briefyl above was that caching out the hair with "mesh-from-strips" would often be rotated 90 degrees away from where it should be.  Turns out that appears to have been an issue with caching on Linux.  I have since run the same cache export on Windows and it exported correctly in batch mode.  I think I added this to the other thread where I detailed it out a bit more.