Dynamic Bone Chain

From Neos Wiki
Jump to navigation Jump to search
Other languages:
English • ‎日本語 • ‎한국어

This article or section is a Stub. You can help the Neos Wiki by expanding it.


Dynamic Bone Chain component as seen in the Scene Inspector

Dynamic Bone Chain is a component that allows you to add rigidbody physics to the bones of a rigged model or avatar. Bones with rigidbody physics are called dynamic bones; this name is derived from a Unity asset that offers similar functionality.

To add dynamic bones to a model, navigate through the model's armature in the Inspector until you locate the bone you want to use as the "root" or "master" bone. Then, attach the Dynamic Bone Chain component, and click Setup From Children. This will add the root bone and all its children to the dynamic bone chain.

The Dynamic Bone Chain component contains various properties for adjusting the physical behavior of the bone chain. The most important properties in the component are Inertia, InertiaForce, Damping, Elasticity, and Stiffness. The descriptions of each are listed below:

Fields

Fields
Name Type Description
persistent Bool Determines whether or not this item will be saved to the server.
UpdateOrder Int Controls the order in which this component is updated
Enabled Bool Controls whether or not this component is enabled
Inertia Float Controls the amount of inertia a bone experiences. Does not affect acceleration of bones.
InertiaForce Float Controls the amount of inertia a bone experiences. Does affect acceleration of bones.
Damping Float Controls the amount of damping a bone experiences. A high damping value will cause bones to decelerate quickly.
Elasticity Float Controls the elasticity of bone joints. A high elasticity value will cause bones to accelerate toward their starting rotation more quickly.
Stiffness Float Controls the stiffness of bone joints.
SimulateTerminalBones Bool Whether or not to use the last bone in the chain. If your armature has end bones that do not control anything, you probably want this off.
BaseBoneRadius Float The default size of the sphere that allows a bone to be interacted with.
DynamicPlayerCollision Bool
CollideWithOwnBody Bool
HandCollisionVibration VibratePreset
CollideWithHead Bool
CollideWithBody Bool
CollideWithLeftHand Bool
CollideWithRightHand Bool
Gravity Float3
LocalSpace Slot
UseParentSpace Bool
OverrideRootSpace RootSpace
UseUserGravityDirection Bool
LocalForce Float3
GlobalStretch Float How stretched out the bone chain should be at rest.
MaxStretchRatio Float The maximum amount of stretching that can be caused by pulling on the bones.
CurrentStretchRatio Float The current amount of stretching applied to the bones.
StretchRestoreSpeed Float How quickly extra stretching dissipates.
UseLocalUserSpace SyncRefList<IDynamicBoneCollider>
LocalSpace Slot
UseParentSpace Bool
OverrideRootSpace RootSpace
StaticColliders SyncRefList`1 A list of dynamic bone collider components to be used.
VisualizeColliders Bool Causes all bone colliders to be displayed.
VisualizeBones Bool Causes the bones and the connections between them to be displayed.
IsGrabbable Bool Allows you to grab bones by touching them and grabbing.
ActiveUserRootOnly Bool
AllowSteal Bool Whether or not a second user can grab the chain while someone is holding it.
GrabPriority Int Determines what gets grabbed if several grabbable objects are touching someone's grab sphere.
IgnoreGrabOnFirstBone Bool
GrabRadiusTolerance Float
GrabReleaseDistance Float How far a bone can be dragged before it automatically releases.
GrabSlipping Bool
GrabTerminalBones Bool Whether or not the final bone in the chain can be grabbed.
GrabVibration VibratePreset
IgnoreOwnLeftHand Bool
IgnoreOwnRightHand Bool
EffectorTarget SyncList<Bone> The chain tries to position one if its bones at this slot (used for grabbing)
EffectorBoneIndex Int Which bone is being positioned
EffectorBoneOffset Float3
_activeGrabber Grabber
Bones SyncList`1

Usage

Examples

Related Components