Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Feedback Fixed timestepping
#1
Hi everyone!

Just finished a detailed write up on fixed timestepping, in the context of physics simulations. There's not much information out there about this and misconceptions run rampant, so I decided to included this in Obi's manual to cover the basics of simulation.

http://obi.virtualmethodstudio.com/manua...eloop.html

would appreciate feedback/suggestions/complaints Sonrisa
Reply
#2
Hi Jose - this is a great article! The timestep visualizations are very useful.

I found the "Bolting Obi onto Unity's timestepping" section interesting, but incomplete - I'd love specific advice about why a game might choose to go with one of the less performant simulation modes.

My assumption is "use Asynchronous mode unless you can't", because it's the most performant. But does Async-mode rule out cloth that has an attachment to a moving object (like clothing on a character)? Having a cloth simulation that's one frame out of date doesn't sound like a big deal, unless that also means that the cloth's attachment locations are also one frame out of date and will lag behind the character.

What about Synchronous vs Synchronous Fixed modes? When would you choose one over the other?
Reply
#3
(23-09-2024, 08:10 PM)timconkling Wrote: Hi Jose - this is a great article! The timestep visualizations are very useful.

I found the "Bolting Obi onto Unity's timestepping" section interesting, but incomplete - I'd love specific advice about why a game might choose to go with one of the less performant simulation modes.
[...]
What about Synchronous vs Synchronous Fixed modes? When would you choose one over the other?

Hi Tim!

Thanks a lot for your feedback! I agree that that section is incomplete. The solver's manual page goes into a bit more detail regarding pros and cons of each method, but I agree that this should also be mentioned here since having info scattered around is not a good idea. I'll update the page to add this information.

(23-09-2024, 08:10 PM)timconkling Wrote: My assumption is "use Asynchronous mode unless you can't", because it's the most performant. But does Async-mode rule out cloth that has an attachment to a moving object (like clothing on a character)? Having a cloth simulation that's one frame out of date doesn't sound like a big deal, unless that also means that the cloth's attachment locations are also one frame out of date and will lag behind the character.

That's 100% on point. Asynchronous mode should be used unless you have a need for the simulation to be perfectly in sync with other elements in the scene, for instance when doing character cloth or attachments to fast moving objects. In many other situations (most fluid simulations, freely moving ropes/cloth/softbodies, etc) async looks good and will perform the best.

Synchronous fixed should be used when very tight coupling with rigidbodies is needed. For instance, highly tensioned ropes holding rigidbodies together. Using any of the 2 other modes would cause ropes to read rigidbody velocity information that's one frame late, so it can lead to unstable simulations.

kind regards,
Reply