14-05-2024, 07:58 AM
(This post was last modified: 14-05-2024, 08:03 AM by josemendez.)
(14-05-2024, 04:04 AM)lu_dens Wrote: There is a new problem, When I scale down the model, it seems that the bones are still being calculated based on the original size. How do I make it so that they operate based on the scaled-down proportion?
Are you scaling the model to solve the original issue? You shouldn't do that, the solution would be to re-export your character at the correct scale you want to use. There's 3 scaling values you need to be mindful about: the scale at which you export your objects (from Blender or any other software), the scale at which you import them in Unity (the "scale factor" value in Unity's mesh import settings), and the scale you apply at runtime (the "scale" values of the transform component).
In case you're changing transform scale at runtime (to make a growing/shrinking character for instance), make sure to scale the entire ObiSolver, not just the bones. Scaling the solver will scale down the entire simulation space, which is the result you want for a character. See: http://obi.virtualmethodstudio.com/manua...olver.html
Quote:Solvers always perform the simulation in local space. This means that translating, rotating or scaling the solver will rigidly transform the simulation as a whole.
Scaling individual bones is not supported, because applying rotation before non-uniform scaling (which is what the simulations needs to do) yields shear which is almost never a desired outcome.
kind regards,