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 259 of file mochi_structs.h.
◆ enableCollidingLinks
| bool superdex::SoftSkinnedActorParams::enableCollidingLinks = false |
Enable internal skeleton links as colliding actors.
- Note
- If false, only the soft actors or the skin mesh act as colliding actors.
Definition at line 263 of file mochi_structs.h.
◆ hasGravity
| bool superdex::SoftSkinnedActorParams::hasGravity = false |
◆ hasInertia
| bool superdex::SoftSkinnedActorParams::hasInertia = false |
Enable inertia evaluation of 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 265 of file mochi_structs.h.
◆ hasStress
| bool superdex::SoftSkinnedActorParams::hasStress = false |
Enable elasticity evaluation of 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 266 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 individual soft actor surfaces. The skin shape must include blending data to define how the skinned surfaces of the soft actors are blended with the overarching skin. Each 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 260 of file mochi_structs.h.
◆ softAttachLinks
Optional local names of the rigid links where soft actors are attached.
- Note
- If empty, 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 soft actors and their attachment links.
Definition at line 262 of file mochi_structs.h.
◆ softParams
Parameters for the soft deformable actors.
- Note
- If a skin shape is provided, the skin mesh acts as the colliding surface, not the individual soft actor surfaces.
-
If a skin shape is provided, dynamic hyper-reduction is not allowed on the 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 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 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 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.
- See also
- hasGravity, hasInertia, hasStress
Definition at line 261 of file mochi_structs.h.
The documentation for this struct was generated from the following files: