unreal.AnimNode_BoneMask¶
- class unreal.AnimNode_BoneMask(base_pose: PoseLink = [], blend_poses: None = [], blend_weights: None = [], bone_mask: BoneMask = Ellipsis, bone_mask_definition_data_asset: BoneMaskDefinitionDataAsset = Ellipsis, curve_blend_option: CurveBlendOption = Ellipsis, process_mesh_space_as_root_space: bool = False, lod_threshold: int = 0)¶
Bases:
AnimNode_BaseThis node is heavily based on AnimNode_LayeredBoneBlend but replacing both BranchFilter and BlendMask option with a single input param that represents different body parts. Each body parts has a list of BranchFilter that maps to actual bones. Blending is done in the order the body parts are created and in local space first and mesh space after. Unlike AnimNode_LayeredBoneBlend, with this node we can change the mask dynamically.
C++ Source:
Plugin: AnimationLayering
Module: AnimationLayering
File: AnimNode_BoneMask.h
Editor Properties: (see get_editor_property/set_editor_property)
base_pose(PoseLink): [Read-Write] The source poseblend_poses(Array[PoseLink]): [Read-Write] Each layer’s blended poseblend_weights(Array[float]): [Read-Write] The weights of each layerbody_parts(Array[BoneMaskBodyPartNameContainer]): [Read-Write] List of BodyParts that want to use different Poses When adding a new input pose to the node (right click on the node Add Input Pose) an entry to this array is automatically added allowing the user to specify the body part(s) that should use that posebone_mask(BoneMask): [Read-Write] Mask with all the body part dynamic valuesbone_mask_definition_data_asset(BoneMaskDefinitionDataAsset): [Read-Write] Mask with all the body part static valuescurve_blend_option(CurveBlendOption): [Read-Write] How to blend the layers togetherlod_threshold(int32): [Read-Write] Max LOD that this node is allowed to run For example if you have LODThreadhold to be 2, it will run until LOD 2 (based on 0 index) when the component LOD becomes 3, it will stop update/evaluate currently transition would be issue and that has to be re-visitedprocess_mesh_space_as_root_space(bool): [Read-Write] Process mesh space rotations in root space, effectively ignoring any root rotationupdate_skeleton_data_on_demand(bool): [Read-Write] Whether this node should update bone weights and child bone indices at runtime or use the data cached in the BoneMaskDefinitionDataAsset. Useful for cases where the skeleton can change at runtime and is not possible to have a BoneMaskDefinitionDataAsset for each skeleton.
- property bone_mask: BoneMask¶
[Read-Write] Mask with all the body part dynamic values
- Type:
(BoneMask)
- property bone_mask_definition_data_asset: BoneMaskDefinitionDataAsset¶
[Read-Write] Mask with all the body part static values
- Type:
- property curve_blend_option: CurveBlendOption¶
[Read-Write] How to blend the layers together
- Type:
- property lod_threshold: int¶
[Read-Write] Max LOD that this node is allowed to run For example if you have LODThreadhold to be 2, it will run until LOD 2 (based on 0 index) when the component LOD becomes 3, it will stop update/evaluate currently transition would be issue and that has to be re-visited
- Type:
(int32)