Parameters to create soft-skinned actors with a shared articulated skeleton.
More...
#include <mochi_structs.h>
Parameters to create soft-skinned actors with a shared articulated skeleton.
Soft-skinned actors combine deformable soft bodies with an articulated skeleton, allowing realistic tissue simulation that follows skeletal motion.
- See also
- Scene::CreateSoftSkinnedActor
Definition at line 276 of file mochi_structs.h.
◆ enableCollidingLinks
| bool superdex::SoftSkinnedActorParams::enableCollidingLinks = false |
Enable internal skeleton links as colliding actors.
- Note
- If false, only nested soft actors act as colliding actors when no skin is present; otherwise, only the articulated actor acts as a colliding actor through its skin.
-
This setting does not affect whether the links act as colliders.
Definition at line 280 of file mochi_structs.h.
◆ hasGravity
| bool superdex::SoftSkinnedActorParams::hasGravity = false |
◆ hasInertia
| bool superdex::SoftSkinnedActorParams::hasInertia = false |
Enable inertia evaluation of nested soft actors on posed/skinned positions.
- Note
- If true, each SoftActorParams entry must have its hasInertia set to false.
-
If true, inertia is applied in the posed (post-skinning) configuration. This is the physically correct behavior.
-
If false, inertia is applied in the unposed configuration for each SoftActorParams entry that has its hasInertia set to true. This is an approximation but may improve performance.
Definition at line 282 of file mochi_structs.h.
◆ hasStress
| bool superdex::SoftSkinnedActorParams::hasStress = false |
Enable elasticity evaluation of nested soft actors on posed/skinned positions.
- Note
- If true, each SoftActorParams entry must have its hasStress set to false.
-
If true, stress forces are applied in the posed (post-skinning) configuration. This is the physically correct behavior.
-
If false, stress forces are applied in the unposed configuration for each SoftActorParams entry that has its hasStress set to true. This is an approximation but may improve performance.
Definition at line 283 of file mochi_structs.h.
◆ skeletonParams
Parameters for the articulated skeleton.
- Note
- If a skin shape is provided, the skin mesh acts as the colliding surface, not the surfaces of individual nested soft actors. The skin shape must include blending data to define how the skinned surfaces of the nested soft actors are blended with the overarching skin. Each nested soft actor must be linked to its corresponding blending data via its effective nested soft local name after default-name assignment.
- See also
- ArticulatedActorParams, ArticulatedSkinParams
Definition at line 277 of file mochi_structs.h.
◆ softAttachLinks
Optional local names of the rigid links where nested soft actors are attached.
- Note
- If empty, nested soft actor shapes must include skinning data.
-
If provided, must be 1-to-1 with softParams. Each entry must be non-empty and must match a skeleton link local name.
-
Contact is automatically disabled between nested soft actors and their attachment links.
Definition at line 279 of file mochi_structs.h.
◆ softParams
Parameters for the nested soft actors.
- Note
- If a skin shape is provided, the skin mesh acts as the colliding surface, not the surfaces of individual nested soft actors.
-
If a skin shape is provided, dynamic hyper-reduction is not allowed on the nested soft actors.
-
If a SoftActorParams entry has its hasInertia set to true, inertia is applied in the unposed configuration of that actor (prior to skinning) and this struct's hasInertia must be false.
-
If a SoftActorParams entry has its hasStress set to true, elasticity is applied in the unposed configuration of that actor (prior to skinning) and this struct's hasStress must be false.
-
Each SoftActorParams entry must have its hasGravity set to false (use this struct's hasGravity instead).
-
Each nested soft actor must have some DoFs constrained. This can be implemented (a) by constraining nodes in the SoftActorParams shape for FOM actors, or (b) by constraining the ROM subspace for ROM actors.
-
Each nested soft actor must have at least one energy term enabled: either this struct's hasGravity, hasInertia or hasStress (applied to every entry), or that entry's own SoftActorParams::hasInertia or SoftActorParams::hasStress.
-
Each entry's SoftActorParams::name is a nested soft local name. Explicit non-empty names must be unique across skeleton link local names and other nested soft local names, and must not contain forward slash, backslash, or embedded NUL characters.
-
Empty names are assigned deterministically after reserving all skeleton link names and all explicit nested soft names: an empty entry at index i uses soft_i if available; otherwise it uses the first available soft_N found by scanning upward from N = 0.
-
Each entry's SoftActorParams::worldFromLocal must be identity. Each nested soft actor's shape must be defined directly in the reference frame of the articulated actor. The soft-skinned actor's placement in scene world is provided by ArticulatedActorParams::worldFromRoot from skeletonParams.
-
For a blended skin, author the skin and nested-soft shapes in the same rest frame and use the articulation skin as the canonical source for each positively blended vertex's rest position and ordered skinning data.
- See also
- hasGravity, hasInertia, hasStress
Definition at line 278 of file mochi_structs.h.
The documentation for this struct was generated from the following files: