Contents
Inertia
Inertia is the effect that the character’s movement has on the vertices of the cloth.
For example, if the cloth sways too much for the movement of the character, it is possible to suppress the overall sway by adding restrictions.
You can also set things like automatically detecting character teleports and resetting the simulation.
Anchor |
Excludes the motion of the specified object from inertia. |
Anchor Inertia |
Specify the influence factor of the anchor. |
World Inertia |
Sets the effect that the movement of the entire character has on the cloth. However, if the character moves slowly, the effect is also reduced, so there is also the detrimental effect of making the shaking extremely small. |
World Inertia Smoothing |
By smoothing out the character’s inertia, you can reduce the problem of simulation disturbances caused by sudden starts or sudden stops. |
World Movement Speed Limit |
Limits the effect of the movement of the character on the cloth at the set speed. Basically, it is recommended to use this rather than “World Inertia”. |
World Rotation Speed Limit | Similar to “World Movement Speed Limit”, it limits the effect of character rotation on cloth by the set speed. The unit is rotation angle (Degree) per second. |
Teleport Mode |
Set the behavior when the character teleport is detected. [None] [Reset] [Keep] |
Teleport Distance |
Movement distance (m) in one frame of the character detected as teleport |
Teleport Rotation |
Rotation angle (Degree) in one frame of character detected as teleport |
Local Inertia | Sets how cloth movement affects vertices in the character’s local space. This is usually the effect of character animation. For example, a value of 0.2 will apply a force to the vertex that is 20% of the displacement of the center position in local space. |
Local Movement Speed Limit | Cuts the effect of the character’s movement in local space on the cloth at a constant speed. For example, if the value is 2.0, if the moving speed is within 2m/s, the force will be transmitted as is, and if it exceeds 2m/s, no further force will be applied to the vertex. |
Local Rotation Speed Limit | Cuts the amount of rotation of the character in local space at the specified speed. The unit is rotation angle (degree) per second. |
Local Depth Inertia |
Reduces local inertia according to vertex depth values. This is effective when you don’t want to move too much around the start point for skirts, hair, etc. |
Centrifual Acceleration |
Augmentation value for centrifugal force. |
Partice Speed Limit |
Limits the maximum velocity per vertex. However, if you lower the value below 1.0 (1m/s), the accuracy of collision detection will decrease, so be careful when lowering the value. |
Three inertias
Inertia is calculated separately into three parts: anchor, world, and local.
By setting these three effects separately, you can finely adjust the effect that the character’s movement has on the simulation.
Anchor
An anchor is a coordinate space that provides a reference point for inertia.
Usually it refers to the world space itself, but by setting a specific object, the movement of that object becomes the reference for inertia.
By setting the influence rate of the anchor to 0, it is possible to completely exclude the movement of that object.
This is useful when characters ride vehicles.
World inertia
World inertia is the effect a character has as it moves through the world.
This is how the speed of a character walking, running, or riding a vehicle affects the cloth.
It is possible to suppress this effect by manipulating world inertia.
World inertia is calculated from motion excluding the effects of anchors.
Local inertia
Local inertia is the effect of the character’s internal movement.
This can also be said to be an effect of the character’s animation.
By manipulating local inertia, it is possible to reduce its influence.
Local inertia is calculated from the movement excluding the effects of anchor and world inertia.
Inertia smoothing
You can smooth out world inertia by adjusting the WorldInertiaSmoothing parameter.
This can alleviate problems such as sudden starts and stops that disrupt the simulation.
In addition, small irregular movements of the character are smoothed out, making the simulation more stable.
Component placement
To fully utilize the effect of inertia, you need to be careful where you place MagicaCloth components.
This is because each inertia measurement method is different.
Anchor |
Anchor and world inertia are measured from the MagicaCloth component’s Transform position. |
Local Inertia |
Local inertia is automatically calculated from the distribution of the fixed attributes of the cloth. |
Below is a diagram of the recommended placement of MagicaCloth components on a character.
It is recommended to place the MagicaCloth component directly under the character GameObject as shown.
Center of local inertia
A cloth always has one center point.
This is automatically determined from the distribution of fixed attributes and is displayed as a gizmo in the scene view as a purple sphere.
Local inertia is measured from the movement of this center point.
Automatic teleport judgment
It is also possible to automatically detect when the character moves a lot and reset the simulation.
By setting the mode to “Keep”, you can continue the simulation with exactly the same posture after teleporting.