Hey, I'm having some problems at render time, I working with a model that has 6 layers of hair (long hair, short hair, eyelashes, whiskers, etc). It's going to be animated so I need the hair to stay in place, so I check "remember root position" as well as "topology based", however at render time I'm getting the error/crash: [Ornatrix] Error in .. \src\OrnaCore\OrnaHair.cpp on line 273 [Message] OrnaHair::GetRootTM() Specified root TM index (220) is greater than number of roots (212) Can someone tell me what this means, and how to fix this, Thanks again. |
| Hi Emmanuel, Thank you for the report. Can you please let me know which version of Ornatrix you are using? Also, would it be possible to send me the scene that reproduces this to marsel.khadiyev (at) ephere.com? That would be very helpful in tracking this down and fixing it. Marsel Khadiyev (Software Developer, EPHERE Inc.) |
| Hey Marsel, I'll send you the file, I'm actually not sure what version I'm using, is there a way to find out in Max? I'm assuming its atleast 1.8 since I'm rendering with Vray. I think the main the problem is "Remember Root Positions", in my scene I have 5 hair objects coming from one main object, If I open my file fresh, with the setting set to "Remember", i'll get the above error at render time. If I go into every hair file and turn it off, render a frame, turn it back on, then I am able to render without it crashing, however, I'm eventually going to be rendering on a farm and this will make every station crash when it opens the file. I think it might have something to do with having multiple hair objects in the scene maybe? I never had this problem when I was initially working, when I only had 1 or 2 hair objects, as soon as I started adding the 3rd and 4th I started seeing this problem. I also have some questions: Ox Guides from Surface and Ox Hair from Guides both have a "Root Orientation: Topology-Based" and "Remember Root Positions: Remember" options, what are the difference between them, do they do the same thing? Also is there a way to permanently bake the hair creation onto the surface of the object? Thanks again for helping me out! |
| I think the error might have to do with the fact that your underlying root count changes at some point and cached hair count remains the same. Although I don't see how the problem would arise. A simplified scene that reproduces this would be very helpful. The 'Remember' option caches the hair count as soon as you render it. If you unpress it and then render again it resets the cache. This explains the 'fix' you describe because you simply recache the hair. I don't think it will cause problems with the render farm, it should do the opposite. Caching the hairs is similar to baking because it ensures that the hair information (or rather hair root information) doesn't change from one frame to another, or from one machine to another. Then again, I am not certain why you get an error so it'd be good to nail it down in a scene. "Topology Root Orientation" makes the strands orient along face edges instead of world coordinates. This means that as the face deforms the orientation of the strand should deform along with it (it will always try to align with one of the edges). Remembering root positions internally caches root positions and gets that info from memory instead of regenerating it when evaluating the modifier. You can permanently "bake" guides or hair by collapsing the stack. You can then assign the distribution geometry back to baked hair to ensure it continues deforming with it. Marsel Khadiyev (Software Developer, EPHERE Inc.) |
| Hey Marsel, thanks for your response it helped me a lot, I tried to send you the file but your email doesn't work? I just reverted to an older file and it solved the problem (not sure why it happened in the first place). About my earlier question (topology root orientation and remember root positions) I meant what was the difference between them being on the guides or the hair, does the options on the hair override those options on the guides? Also on baking, I was able to bake the guides or the hair, however when I baked the hair, it didn't keep my render settings so I was only rendering like 20% of the hair, and I couldn't see how I could increase that value, If I bake the guides with the guides to hair modifier on top I was able to change my render settings, would you recommend this solution? Also is there a way to save out the guides as splines and recomb a new hair object with those splines? And for my final question, Is there a way to have the hair be affected by a displacement map when using baked hair? Before I baked, I was using the Max's Displace modifier to push the hair out to match the underlying geometry, it didn't look like Vraydisplacement mod affected the hair. However with baked hair, the displacement modifier doesn't seem to affect the hair. Thanks again for all your help. |
| Hello Emmanuel, That is correct. You usually want to bake out the guides and then use Hair from Guides to generate more or less hair from. I think the displacement modifier should work after baking but you might need to add it ontop. Have you tried moving it higher in the stack? Thanks Michael McCarthy |
| Yeah the dispacement works, but the main problem is that once I bake the guides, the UVs from the original geometry gets thrown out, so the dispacement isn't really pushing out based off the displacement map, but more of pushing up and down from a default UV plane. I'm trying to bake the the guides with the displacement applied to the model, not getting the results I want, but I'm sure theres a way to do it |