5 parent=
"AttachmentContainer"
6 mixinparent=
"SkeletonParent"
8 pointerfieldtypes=
"both"
10 systemcomponent=
"true"
11 parentsystemcomponent=
"true"
16 A Skeleton is simply one (or multiple) node hierarchies that contain some
18 Traversal will jump to the roots (MFRoots) of these hierarchies and traverse
19 them, updating the matrix for each joint (MFJointMatrices) in the process.
20 A Skeleton assumes exclusive ownership of its joints, but the Skeleton itself
31 The roots of the joint (or bone) hierarchies for the skeleton.
32 There should be Nodes with SkeletonJoint cores in the pointed-to
38 type=
"BaseSkeletonJoint"
39 category=
"childpointer"
40 linkParentField=
"Skeleton"
45 The joints (or bones) of the skeleton. Sorted by their jointId.
46 READ ONLY: You should never write to this field, Skeleton scans
47 for joints whenever the set of roots is modified.
52 type=
"BaseSkeletonJoint"
58 Stores the parent of each joint at the position of the childs jointId.
59 In other words parentJoints[i] is the parent of the joint with
60 jointId i (which is stored in joints[i]). If the joint has no parent
61 NULL is stored instead.
62 READ ONLY: You should never write to this field, Skeleton scans
63 for joints whenever the set of roots is modified.
74 Matrices for all joints of the skeleton. Elements correspond to
75 joints at the same index in _mfJoints.
76 These matrices are absolute, not relative to the parent joint.
77 READ ONLY: You should never write to this field, Skeleton updates
78 it during the RenderActions traversal.
82 name=
"jointNormalMatrices"
89 Normal matrices for all joints of the skeleton (these are the inverse
90 transpose of the jointMatrices). Elements correspond to
91 joints at the same index in _mfJoints.
92 These matrices are absolute, not relative to the parent joint.
93 READ ONLY: You should never write to this field, Skeleton updates
94 it during the RenderActions traversal.
98 name=
"useInvBindMatrix"
102 visibility=
"external"
106 Whether joints should use their SFInvBindMatrix when computing
107 the jointMatrices/jointNormalMatrices.
108 This is normally set automatically by a SkinnedGeometry as for
109 debug rendering of the bones this must be false.
113 name=
"calcNormalMatrices"
117 visibility=
"external"
121 Whether jointNormalMatrices should be calculated when computing the
130 visibility=
"internal"
133 Used by the joints to efficiently notify the Skeleton that they have been
134 modified and matrices need to be recalculated.
135 If the trees starting at 'roots' contain for example Transform cores and
136 you modify those without making changes to any SkeletonJoint cores you will
137 have to call editJointsChanged() manually once per frame to force a
138 recomputation of the joint matrices.