Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Cloth penetration on animated mesh
#1
Hi Obi team,

I'am lucky to test Obi V5 beta, you made a great job, congrats.
I'm new with Obi and i'am trying to understand some issues i have.

I test Obi with Unity 2019.2.2f1.
I have an animated mesh (with animator set to update mode Animate Physics) and a cloth attached to hip bone. I set simple obi colliders (capsule and sphere), set blueprint etc.
The behavior of the cloth is quite good but i have penetration. 

On the capture debug particles are inside the colliders. What i missed? Is this issue is rely on the update order (unity animation, obi fixed update,...) ?

Do you have any idea how i can fix this or a workaround?
I tried to increase colliders thickness or particle size but it's not satisfying. 
Your character clothing demo is the goal i'am trying to reach.

Thx.
Jonathan
Reply
#2
(20-11-2019, 04:23 PM)Jonathan Wrote: Hi Obi team,

I'am lucky to test Obi V5 beta, you made a great job, congrats.
I'm new with Obi and i'am trying to understand some issues i have.

I test Obi with Unity 2019.2.2f1.
I have an animated mesh (with animator set to update mode Animate Physics) and a cloth attached to hip bone. I set simple obi colliders (capsule and sphere), set blueprint etc.
The behavior of the cloth is quite good but i have penetration. 

On the capture debug particles are inside the colliders. What i missed? Is this issue is rely on the update order (unity animation, obi fixed update,...) ?

Do you have any idea how i can fix this or a workaround?
I tried to increase colliders thickness or particle size but it's not satisfying. 
Your character clothing demo is the goal i'am trying to reach.

Thx.
Jonathan

Hi!

Make sure that:
- You're using a LateFixedUpdater, if the animator is set to Animate Physics, simulation should happen after animation every frame.
- Make sure interpolation is disabled in the solver. This introduces a 1-frame delay.
Reply
#3
Thx for your quick answer.

Yes, i am using LateFixedUpdater and solver interpolation is set to none.
I found a workaround adding a LateUpdater component in addition to the LateFixedUpdater. Obviously performance is affected but simulation is perfect.

Do you have another idea for me? To preserve performance.   Sonrisa
Reply
#4
(20-11-2019, 06:01 PM)Jonathan Wrote: Thx for your quick answer.

Yes, i am using LateFixedUpdater and solver interpolation is set to none.
I found a workaround adding a LateUpdater component in addition to the LateFixedUpdater. Obviously performance is affected but simulation is perfect.

Do you have another idea for me? To preserve performance.   Sonrisa

Try removing the LateFixedUpdater. Having two updaters for the same solver means you're updating the solver twice per frame, essentially doing double the work. This specifically advised against in the docs:
http://obi.virtualmethodstudio.com/tutor...aters.html

If it works for you using the LateUpdater but not the LateFixedUpdater, it means the animation isn't being updated during FixedUpdate for some reason, despite the Animator being set to AnimatePhysics. Or to be more specific, bone positions are not final after FixedUpdate(). Should take a closer look to it. Will try to reproduce and get back to you asap Sonrisa

Edit: are you using IK, or any other system that modifies the bone transforms after animation?
Reply
#5
(20-11-2019, 08:12 PM)josemendez Wrote: Try removing the LateFixedUpdater. Having two updaters for the same solver means you're updating the solver twice per frame, essentially doing double the work. This specifically advised against in the docs:
http://obi.virtualmethodstudio.com/tutor...aters.html

If it works for you using the LateUpdater but not the LateFixedUpdater, it means the animation isn't being updated during FixedUpdate for some reason, despite the Animator being set to AnimatePhysics. Or to be more specific, bone positions are not final after FixedUpdate(). Should take a closer look to it. Will try to reproduce and get back to you asap Sonrisa

Edit: are you using IK, or any other system that modifies the bone transforms after animation?

Hi,

No i don't use IK or any bone transform operation. I have same results (penetration) with LateFixedUpdater Or LateUpdater, It works only with the both for the same solver, but as you said it's not recommended.

I have an animator set to "Animate Physics", one skinned mesh and multiple animation for tests, i added multiple unity(and Obi) collider on the bones of the mesh.

Maybe the issues come from my animations, or animation settings in unity.
Reply