PinRoot
Bool = true True, which is the default: the root joint of the tree is pinned. False: the root
is pinned only if it is in PinnedJointNames.
Selects the pinned joints of one joint tree of a dynamics chain. A pinned joint is not moved by the simulation. It keeps its animated position on every frame, and the joints below it swing from that position.
A joint of the tree is pinned in two cases:
PinRoot is true.PinnedJointNames.With the default values only the root is pinned, which is what the client did for every tree before this class existed.
What a pinned joint does:
AnimPoseAttraction do not apply to it, and the client does not write a simulated
position for it.UseRodPhysics, a pinned joint
with exactly one simulated child is turned toward that child, so the bone between
them points at the simulated child.A tree whose root is not pinned (PinRoot false, and the root not in
PinnedJointNames): the root is a simulated joint. It falls under gravity and is
pulled toward its own animated position at the rate of AnimPoseAttraction. It has
no parent in the tree, so the limit cone (LimitAngle) and the length restore
(Stretch) do not apply to it. The client writes its position and its rotation.
PinnedJointNames.Bool = true True, which is the default: the root joint of the tree is pinned. False: the root
is pinned only if it is in PinnedJointNames.
List2<Hash> = [] Joints of the tree that are pinned, as hashes of their names (FNV-1a 32 of the
lowercased name), in the same form as RootJointName.