Search Unity

PhysX Articulations Please! (attention Unity dev team)

Discussion in 'Physics' started by Hivemind9000, Oct 17, 2016.

  1. Hivemind9000

    Hivemind9000

    Joined:
    Mar 2, 2014
    Posts:
    11
    I don't know where the best place to post this request is, so I'll try the Physics forum first.

    Anyone trying to create machines (robots, vehicles) with articulated joints will know this problem. It is pretty much impossible to stop the joints from wobbling around a locked/limited axis under various circumstances (E.g. higher velocities). I've tried everything that Configurable Joint has to offer without success. It is a known problem with iterative solvers (which is the default joint that is exposed in Unity from PhysX) and all of the main physics engines have a specific/alternate solution for it.

    The various problems that this can cause are shown in this video from the APEngine guys (who have had to build their own physics engine to solve the problems for Unity):



    (check out the wobbly wheeled car thing)

    The simple solution would be for Unity to expose the Articulations feature of PhysX which has been available for over 4 years (it's in the version Unity currently bundles). One of the main developers of PhysX (Pierre Terdiman) says it is something Unity should really expose for us.

    Realistic physics in games is increasingly prevalent, and there will be a growing demand for more accurate/sophisticated physics in games. I think it is an extremely important aspect of game engines these days, and the other 3rd party solutions we have available to us are (for various reasons not worth going into here) sub-optimal for a Unity developer.

    We just need Unity to create a special "Articulated Joint" type that exposes this feature of PhysX (so it's separate from the currently implemented joints). Please do this Unity - our robot building game needs this!
     
    TeHuster likes this.
  2. CodeKiwi

    CodeKiwi

    Joined:
    Oct 27, 2016
    Posts:
    119
    I'd also really like to see PhysX Articulations exposed in Unity. I was testing them in UE4 and the difference between articulations and regular joints is amazing. Articulations aren't really supported in UE4 so I had to use the physx code directly. The torque is great, joints don't separate and it can counter internal /external forces so it can easily follow an animation.




    PuppetMaster seems to be relatively stable for standard PhysX. It might be worth checking to see if it's using any tricks.
     
    Last edited: Nov 19, 2017
  3. DeepMotionPhysics

    DeepMotionPhysics

    Joined:
    Jul 31, 2014
    Posts:
    243
    hippocoder likes this.
  4. CodeKiwi

    CodeKiwi

    Joined:
    Oct 27, 2016
    Posts:
    119
    APE looks amazing. I have a feeling that Unity won’t enable PhysX articulations so APE looks like a great alternative. I’m currently interested in machine learning. It would be cool if someone made an example in APE that used the Unity machine learning agents. The ball demo uses a reinforcement learning algorithm called Proximal Policy Optimization (PPO). The openAI site has some interesting humanoid demos using PPO. It feels like it should be easier to train a character using a more stable physics engine like APE.
     
  5. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    The UE4 implementation is much more stable because it has it's own animation joint type while Puppet Master has to jump through hoops to have historical support and has the lack of a really robust "ragdoll joint" - something that's kind of needed really.

    @yant spoke about the potential of adding it much later in time
     
  6. DeepMotionPhysics

    DeepMotionPhysics

    Joined:
    Jul 31, 2014
    Posts:
    243
    APE's parent project DeepMotion Avatar Character Physics Engine already employed APE for Machine Learning used to train physics based self balancing character. What's more we are planning to bring Avatar to Unity too! A closed Alpha of DeepMotion Avatar is being worked on now and will be made available to selected testers soon.

    DeepMotion Physcs
    www.deepmotion.com
     
    CodeKiwi likes this.
  7. starikcetin

    starikcetin

    Joined:
    Dec 7, 2017
    Posts:
    340
    All this time I thought that wobbling effect is a shortcoming of PhysX. Turns out it was a limitation of Unity.

    APE looks astonishing. Good job.
     
  8. DeepMotionPhysics

    DeepMotionPhysics

    Joined:
    Jul 31, 2014
    Posts:
    243
    Thank you for the nice words. Here is another demo built with APE using nothing more than robust joints and strong motors...