Self-collision setting

Self Collision and Mutual Collision

Here, we will explain two collision detection functions, self-collision and mutual collision.
The two are similar but have different uses.

What is self collision?

Self-collision is the ability for cloth to collide with itself.
By using this function, even if the cloth itself overlaps, it will not penetrate.

What is Mutual Collision?

Mutual Collision is the ability for a cloth to collide with another cloth.
By using this function, it is possible to make separately set cloths collide with each other.


Precautions for use

These two collision features are powerful, but there are some caveats to using them.
We will continue to investigate and improve these issues.

beta version

The self-collision feature is currently in beta.
So it is quite possible that the functionality will change in the future.

Processing load

Self-collision is a very expensive process.
Therefore, it is recommended to use it on a desktop PC or a high-end console machine.
This cost is exactly proportional to the number of vertices in the proxy mesh.
Therefore, if you use it on a mobile device, please reduce the number of vertices of the proxy mesh as much as possible.

accuracy problem

Current self-collision is not very accurate.
Therefore, if you move at high speed, the cloth may get tangled.
However, there is also a built-in mechanism to detect and untangle the entanglement inside.

vibration problem

Currently, it has been confirmed that self-collision is prone to vibration.
This is largely due to the structure of the proxy mesh.
Therefore, it may be difficult to use depending on the shape of the mesh.


Self-collision settings

Self collision is set from the [Self Collision] panel.
The configuration is quite simple compared to the previous constraints.

Self-collision only uses two properties, Self Mode and Surface Thickness.

Self Mode

Currently only Full Mesh can be set.
Full Mesh performs collision detection for Point-Triangle and Edge-Edge combinations.

Modes may be expanded in the future.

Surface Thickness

Collision thickness.
The base unit is (m).
Self-collision does not use the vertex radius used in collider collision detection.
Self-collisions are resolved with this thickness only.

Note that thickness is added to both values of the collision combination.
In other words, even if the thickness is 0.005 (m), the thickness that is actually separated is 0.01 (m).
Also note that this thickness is mutual collision and shared.

The larger the thickness, the more robust the collision detection.
However, if it is too large, the vertices may vibrate.


Mutual collision setting

Mutual collision is also set from the [Self Collision] panel.
Mutual collision is a little more complicated to set up.

Mutual collision utilizes Sync Mode, Surface Thickness and Cloth Mass.

Sync Mode

As with self-collision, currently only Full Mesh can be set here.
Full Mesh performs Point-Triangle and Edge-Edge collision judgment for the opponent.

If you change the mode to Full Mesh, you will be able to set one cloth component as a colliding partner as a Sync Partner.
Describe this partner.

Suppose we have two pieces of cloth, one white and one green.
The two are independent cloth components.

For mutual collision, set the mutual collision only for one of these two.
It is not necessary to set for both.

Here we set the green cloth so that it collides with the white cloth.
The settings for the green cloth look like this:

There is no need to set SyncMode and SyncPartner for the white cloth.

Only one mutual collision can be set for one cloth in this way.
Therefore, if you want to have multiple mutual collisions for one piece of cloth, consider carefully which side should have the setting.

Surface Thickness

Collision thickness.
The base unit is (m).
This setting is shared with Self Collision.
See the self-collision description for details.

The important thing is that both values are added and calculated.
Therefore the thickness must be set correctly for both fabrics.

Cloth Mass

The weight of the cloth itself used for mutual collisions.
The higher this value, the heavier it will be.

When a heavy cloth and a light cloth collide with each other, the lighter cloth moves more and the heavier cloth moves less.

For example, when accessories and skirts collide with each other, by making the skirt side heavier, you can avoid the problem of the accessories pushing down the skirt unnecessarily.
Therefore, in general, the heavier the cloth inside the layer, the more stable the movement.