Inertia

Inertia


Controls how character movement affects cloth vertices.
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.

World Inertia

Sets the effect that the movement of the entire character has on the cloth.
For example, a value of 0.1 adds 10% of the character’s movement to the cloth.
This makes it possible to suppress the overall shaking even if the character moves at high speed.

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 Movement Speed Limit

Limits the effect of the movement of the character on the cloth at the set speed.
For example, if the value is 2.0, if the character’s movement speed is within 2m/s, the force will be transmitted as it is, and if it exceeds 2m/s, no further force will be applied to the vertex no matter how fast the character moves.

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]
Disable automatic teleport detection.

[Reset]
Perform automatic teleport judgment and reset the simulation after teleporting.

[Keep]
Automatic teleport judgment is performed, and the simulation continues as it is after teleporting.

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.
If the value is increased, the closer the depth is to the starting point, the harder it will be to move.
The endpoint is not subject to reduction.

This is effective when you don’t want to move too much around the start point for skirts, hair, etc.
However, please note that if the inertia near the starting point is reduced, the overall movement will be weaker.

Centrifual Acceleration

Augmentation value for centrifugal force.
It is possible to increase the centrifugal force by increasing the value.

Partice Speed Limit

Limits the maximum velocity per vertex.
This can alleviate the phenomenon that the tip of a long belt-like object bulges outward excessively due to centrifugal force.

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.

World inertia and local inertia


Inertia is calculated separately into two parts: world and local.
By setting these two effects separately, you can finely adjust the effect that the character’s movement has on the simulation.

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.

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.

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.

World Inertia

World inertia is measured from the Transform position of the MagicaCloth component.
Therefore, it is usually desirable to place it directly under the character’s root GameObject.

Local Inertia

Local inertia is automatically calculated from the distribution of the fixed attributes of the cloth.
Therefore, no special attention is required.

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.