18-01-2021, 08:53 PM
(This post was last modified: 18-01-2021, 09:03 PM by josemendez.)
(18-01-2021, 06:01 PM)NathanBrower Wrote: Hello Virtual Method Community!
I have been enjoying the Softbody asset for a while now, but recently I have encountered an unexpected behavior that I am hoping is not a limitation with the asset's capabilities. As the title suggests, softbody actors placed onto a moving Obi Collider do not move along with it. Both participants have been tested with different combinations of physics materials with varying degrees of friction (and even stickiness).
Any ideas?
If you’re moving the collider by setting its transform position, you’re not actually moving it in the physical sense of the word but teleporting it from frame to frame. Any physics engine will ignore friction in this case, as friction is a force that opposes relative movement between surfaces, and no force is acting upon the collider to move it. You can test this by placing a rigidbody cube on top of your moving colliders, Unity’s physics engine will ignore friction as well.
The simple answer is that you have to use forces
to move your colliders. That way, frictional forces will be accounted for. This is true for all existing physics engines, not just Obi.
See the included obstacle course sample scene. The rotating platforms at the end rotate via forces (torques), and as you can see there’s accurate friction going on:
https://youtu.be/xQeBA0H4b40
Alternatively, you can use kinematic rigidbodies. What’s important is that there must be a rigidbody in the collider, and movement must affect its linear/angular velocities.