Search Unity

Best deterministic 3D physics engine?

Discussion in 'Physics' started by darkhog, Jul 10, 2015.

  1. darkhog

    darkhog

    Joined:
    Dec 4, 2012
    Posts:
    2,218
    One of my projects I've toyed in the past with, was 3D version of popular The Incredible Machine game. Of course you can work out how it worked (or rather didn't) with Unity's physics that are non-deterministic. Therefore it is in backburner right now.

    What are some good deterministic (everything works out always the same for same set of forces, masses, etc.) 3D physics engines? Just say names, I'll work out integration myself now that there are plugins in free version (probably would make C# wrapper for their API).
     
  2. Woodlauncher

    Woodlauncher

    Joined:
    Nov 23, 2012
    Posts:
    173
    This is a post by Kevin Ryan, the programmer behind The Incredible Machine series and the spiritual successor Contraption Maker where he talks about determinism.

    http://www.gamasutra.com/blogs/KevinRyan/20150331/239636/The_Butterfly_Effect.php

    In both The Incredible Machine and Contraption Maker he wrote his own integer (fixed-point) physics system but it may be possible to get floating point determinism anyway with Box2D or PhysX. The reason he switched to a fixed-point system was that copying and pasting contraptions did not work due to differences in precision. A comment on the article suggests this can be solved by moving all contraptions away from the origin (0,0) to something like (50000,50000).
     
  3. darkhog

    darkhog

    Joined:
    Dec 4, 2012
    Posts:
    2,218
    Yes, I am aware he wrote his own physics, however I'm not such wizard to be able to do so myself, especially not in 3D, that's why I am asking of already made solutions. Again, don't worry about integration, I'd write necessary wrappers myself, just need names.
     
  4. change

    change

    Joined:
    Jul 12, 2014
    Posts:
    12
    hi,any result?
    Met the same problem
    search for a deterministic 3d physics
     
  5. FuzzyShan

    FuzzyShan

    Joined:
    Jul 30, 2012
    Posts:
    182
    True Sync might help you out, it is a jitter physics implementation within Unity3d, and the photon guys made jitter physics FixedPoint to be deterministic.

    However, currently there are bunch of limitations on what it can do, and I wish there were people in unity able to create a project to tune this 3D physics engine, it does have so much potential.

    1. Does not support compound collider(this was deal breaker for me)
    2. doesn't work well with animator/or not at all.
    3. No joint support.(this was something I needed, but I think I could've implemented it myself)
    4. some bugs with initialization, where all connected prefabs will reset to prefab's original position at start.
    5. Also performance is something you did have to worry about a lot... but that's not even come in before you fix/add the first 3 things.

    I would say months of work involved to get to something that's might be half commercial usable.
     
    Last edited: Jul 13, 2017
    change likes this.