Many clients asked about how to setup the perfect dynamic characters.
Here we included all the steps and tips for building best physical characters simulation.
- Make Bone Shape Even Size
- Avoid Initial Penetration
- Select and Adjust Correct Dynamic Joints
- Combine Tiny Joints
- Skip Useless Joints
- Avoid High Speed Collide
- Avoid Initial Intersection
- Setup Parameters Correctly
Special Tips for Apart Bone Chain Problem
- Agent Cache without Translate Data
- Make Always Link by Bone Flag
Step 1 of 5 Make Bone Shape Even
Bone shape should be very even and thick enough, please treat them like the real physical boxes, and make character more reasonable like a Rag-Doll.
Like below pictures, please make it like the left picture and NOT the right one.
And if a chain contain the below "heavy-light-heavy" scheme will cause big problem, please also make it even.
Step 2 of 5 Avoid Initial Penetration
Due to any two rigid bodies will check collide each other, so please avoid collide before them enable dynamics, otherwise, the repel force will push them away, sometimes this force will be very big.
Only The neighborhood bones never check collide in physical engine. like the below pictures. So that they can initial intersection FREE.
Avoid the below situation, any bone cannot intersect the bone non-neighbour, once it happen, it will unstable.
Step 3 of 5 Select and Adjust Correct Dynamic Joints
The dynamical joint is crutial for simulation stable, please setup them very well based on our document (Physical Joint Type, Physical Joint Direction and Physical Joint Limits) and the Video Tutorial ( 037 Dynamic Joint Setup at Video Tutorials)
Notice Important: small rotate limit like -30 to 30 will be more UNSTABLE than bigger rotate limit like -60 to 60. In another words, make -60 to 60 will be more stable than -30 to 30.
Therefore, if situation allow, please make the limit bigger !
Step 4 of 5 Combine Tiny Joints
Sometimes the fingers, tentacles, or very complex bone chains need to combine into a single bone chain, this can make simulation much easier and more realistic,
Please refer the document Compound RBD Bones
Like below pictures:
finger like this need combine all fingers into hand and make it a entire rigid body
Left (compound on) | Right (compound off)
For example like this agent, if we simulate dynamic for this agent directly, there are a lot of penetrations and non-natural joints. It even cannot simulate.
If we select the bones in below picture and combine them into upper bone, the simulation will be perfect.
dynamic simulation in process
Step 5 of 5 Skip Useless Joints
If the tiny complex bones are not very noticeable and can be ignore, we have tool can bypass the simulation of them, please check the below picture, once we setup hand "disable dyn sub tree" all the fingers will not simulation at all. And when we run simulation, the hand will disappear.
When run simulation, the hand disappear:
the hand will not join the physical simulation
Tip 1 of 3 Avoid High Speed Collide
Especially when kinematic primitive hit agent, please don't make the kinematic primitive too fast, or that would cause unstable when kinematic primitive hit agents.
Also you can limit the maximum speed of agent by following parameter
Tip 2 of 3 Avoid Initial Penetration
If the 2 rigid bodies penetrate before they enable dynamics, and when enable dynamics, the repel force will push them out. It will cause agent "jump" out sometimes
So please avoid the below situation before enabling dynamics
avoid above initial penetration situation
Tip 3 of 3
Please keep the parameter like below setup, if anything unstable or error, please try to debug by logic channel and scene setup, instead of change the parameter too much.
Also, if need any help, you can also contact us or post your question on our forum