General stability and Moov physics implementation

 
 
 
Posted by:MDI
Data created:13 March 2023

I've been using Ornatrix for a few years now and the inclusion of the Moov physics was a very welcome addition (I used it for the furry dancer at the start of this V7 promo video https://vimeo.com/474949609) and at the time, I was happy to accomodate it's various quirks as the results were so good. However, it's been almost 4 years since its inclusion and I still find myself having to take some incredibly frustrating steps to get it to behave and I have lost so much time to this process that it's becoming almost unusable for commercial projects.

It's clear the Moov script has come from the Maya version of Ornatrix (the 3ds Max help files for the Moov Physics Modifier repeatedly mention Maya) so I appreciate it's implementation and terminology isn't as smooth as the other aspects of Ornatrix for 3ds Max, however the necessity to add an Animation Cache modifier on top to bake the physics causes a lot of issues in my experience, and I feel it would be much better if the option to record the animation was part of the Moov Physics modifier itself. I have also noticed some unusual/frustrating behaviour with the Animation Cache Modifier, wherein it will sometimes refuse to record the information to the .abc file if oe is already present, or it automatically loads the last .abc file recorded even when a new Animation Cache Modifier is applied. My current failsafe for this is to keep creating a new folder for each recording which not only makes it difficult to keep track of versions, it also requires an extra manual step each time I want to simulate dynamics. I have also noticed issues when Show End Result is toggled on (which it is by default) with additional modifiers up the stack often affecting or disabling the physics of the Moov modifier, or simply causing Max to crash.

To work around these issues I have to remember to turn off all modifiers above the Moov/Animation Cache, set a new output path in the Animation Cache Modifier, hit Record, then remember to disable the Moov Physics modifier (in my experience it regularly crashes when below an Animation Cache Modifier with an .abc file loaded) and then turn back on the modifiers above, in sequence - or it will regulalry crash. 

I'm just about to start work on a project that will need a lot of simulated fur and the prospect of dealing with all of the above again is filling me with dread. I really want to use Ornatrix with the project because I am familiar with it and I love the end results, but if there's any way to improve the way Moov dynamics are currently implemented I would be so, so happy.

Likewise, if I'm missing something and the above issues are a user error, please let me know where I'm going wrong.

AJ Jefferies

Hi A.J.,

Thank you for your comments. We are now discussing how we can improve Moov and Animation Cache to make the process faster and more user friendly.

Regarding the documentation, although it has references to Maya, it works exactly the same in Max and the information is still valid. However, we are editing the Moov documentation to better describe its use in Max.

As for the crashes, I'll look into them and get back to you shortly.

Jeordanis Figuereo (Product Designer. EPHERE Inc.)

Thank you Jeordanis, I appreciate it!

Ok, for this current project I have reverted to a much simpler dynamics solution using the Oscillator modifier and I'm having the exact some promblems with the Animation Cache modifier. I have two completely separate hair systems in this scene, if I cache the animation from the Oscillator modifier (for network rendering), it is absolutely fine on one of the systems. When I apply a different Animation Cache modifier on the second object, it automatically tries to load the .abc generated by the first (completely separate) system. This will often cause a crash BUT on the occasions where it doesn't, I am completely unable to record the animation correctly, it either makes the guides go crazy, or when I toggle off the Oscillator modifier, it will instantly crash. No matter which order I attempt this the result is the same, the first object is always ok but the second cannot record the animation.

Happy to formally submit this as a fault if it would be better.

This is strange. Perhaps the generated files have the same name?
Are you generating the cache using multiple computers?

Can you prepare a minimal scene where I could reproduce this issue? 

Jeordanis Figuereo (Product Designer. EPHERE Inc.)

I have a simple scene here that I'm able to consistently reproduce the problem : https://we.tl/t-TWR4r3o1Ta

If you apply an Animation Cache modifier above the Oscillator modifier and record it to a file, it will work for the first of the hair systems you pick, but not the second. I've also inlcuded a screen recording of me recreating the issue with the file. 

It basically seems I am unable to record more than one animation cache in a scene at any one time. If I close 3ds Max and open the scene again I am able to record the separate files but even this will sometimes throw up an error. 

I forgot to mention, I am generating the cache on a single machine, however I am able to recreate the issue on two different computers. It's actually been plaguing me for years but I thought it was an issue with the Moov modifier, not the Animation Cache.

Thank you for the scene. We are looking into this issue. 

Jeordanis Figuereo (Product Designer. EPHERE Inc.)

Thank you Jeordanis

Hello,

I've been testing hair simulation extensively for the past 2 weeks and I must agree with MDI. I've been experiencing the same issues described in the first post and I find working with animation cache extremely frustrating. When you add a new animation cache modifier it just automatically loads previously cached animation not assosiated to the animation that I'm working on. Sometimes it crashes and produces erratic simulations. Quick fix is to delete the File Location string and it usually resets everything to zero then delete the cache modifier. After deleting the modifier add a clean cache modifier and you should be good to go. No issues with Moov it's very stable and quick. 

Using 3dsmax 2017 with the latest stable Ornatrix 7.4.1.32079 build.

Thank you for confirming it isn't just me Hannu! Much appreciated.

Now I've tried other dynamic solutions, I agree that my initial assesment that the Moov physics was to blame was incorrect. It's very solid, however the Animation Cache workflow makes it incredibly frustrating to use in production.

Correct. The team is still looking into it. 

Jeordanis Figuereo (Product Designer. EPHERE Inc.)

I am still working on this project and have been able to work around the Animation Cache limitations until now. However, I am now faced with a situation where more than one hair system needs to be cached (on separate characters) and I still cannot get this to work. I need to network render the animation and Moov creates different results on different machines, so I need to bake that down to a cache file it but as soon as I add an Animation Cache modifier to a second object it has the same issue I shared earlier in this post.

Can you please advise on what I can do to rectify this? Or even work around it?

Hi,

This was fixed for V8 beta only. For V7 the workaround is to change the file path manuall.

 

Jeordanis Figuereo (Product Designer. EPHERE Inc.)

I am in the middle of a production using v7, if I move to the v8 beta I'm guessing there may be stability/compatability issues..?

Also, forgive me if I've misunderstood, but as I explained in my earlier example, I am not able to manually change the file path - I cannot record a second .abc file using the Animation Cache modifier in any scene, at all. It simply doesn't work. I also cannot load two .abc files in the same scene, even if they're calculated separately. If there is a manual work around to this, please let me know.

My bad. I've been told that this was fixed in V7 as well. please try the latest build. 


Jeordanis Figuereo (Product Designer. EPHERE Inc.)

Thank you Jeordanis, I will install it now and test.

The issue is still present in the latest build of V7. If you download the scene I uploaded further up the thread and apply an Animation Cache modifier to each of the hair objects, it will only permit you to cache (or load) one of them. The other one always has errors, defaults to attempting to load the other objects .abc file and/or crashes.

Can you confirm that if I install the Beta of v8 it is resolved? Is it also simple to roll back to V7 if there are compatibility or continuity issues?

I see. Ok, thanks for testing. Before you update let me do some tests first.

I will get back to you soon. 

Jeordanis Figuereo (Product Designer. EPHERE Inc.)

Hey Jeordanis, any update on this? 

Hi Jeordanis,

Since I didn't hear back from you I just wanted to let you know that I've moved to the Beta of v8 and the issue is mostly resolved (I sometimes have to delete and reapply the Animation Cache modifier but it's much more stable than it was).

With regards to working with the Beta, is there a formal process for submitting bug reports? I'm currently experiencing a lot of crashes whenever I attempt to copy or change the order of Ox modifiers in the stack for example, but I don't know if there's something specific I can report on to help with this issue. Let me know.

Hi MDI,

The fix was implemented on V7 as well. I just started a new build(which should be online once the tests pass) for V7 to make sure that you get the latest changes. But feel free to continue using V8 beta if it fits your project.

You say that it is mostly fixed. What other issue related to this topic remains there?

About support, you can also reach out on Discord (link below), which is way more convenient.

To report an issue is always best to narrow down the steps to reproduce it on your end. You can start with a simple scene and see if you can reproduce it there. That will help us get closer to the issue.

For example, if changing the order of the modifiers causes a crash, try to determine which modifier specifically causes it. If you get a popup you can paste it here.

Jeordanis Figuereo (Product Designer. EPHERE Inc.)

You say that it is mostly fixed. What other issue related to this topic remains there?

I've had a few occasions qhere recording the cache and turning off the moov modifier has cause the hair to spring into an unusual shape. I can fix it by deleting the abc file and the cache modifier, however I'll see if I can reproduce the bug consistantly and get you a file. 

I'll look into the Discord, thank you!