A class represents a single joint of a spring bone. It should be managed by a [[VRMSpringBoneManager]].

Constructors

  • Create a new VRMSpringBone.

    Parameters

    • bone: Object3D

      An Object3D that will be attached to this bone

    • child: null | Object3D<Object3DEventMap>

      An Object3D that will be used as a tail of this spring bone. It can be null when the spring bone is imported from VRM 0.0

    • Optionalsettings: Partial<VRMSpringBoneJointSettings>

      Several parameters related to behavior of the spring bone

    • OptionalcolliderGroups: VRMSpringBoneColliderGroup[]

      Collider groups that will be collided with this spring bone

    Returns VRMSpringBoneJoint

Properties

bone: Object3D

An Object3D attached to this bone.

child: null | Object3D<Object3DEventMap>

An Object3D that will be used as a tail of this spring bone. It can be null when the spring bone is imported from VRM 0.0.

colliderGroups: VRMSpringBoneColliderGroup[]

Collider groups attached to this bone.

Settings of the bone.

Accessors

  • get center(): null | Object3D<Object3DEventMap>

    Returns null | Object3D<Object3DEventMap>

  • set center(center: null | Object3D<Object3DEventMap>): void

    Parameters

    • center: null | Object3D<Object3DEventMap>

    Returns void

  • get dependencies(): Set<Object3D<Object3DEventMap>>

    Set of dependencies that need to be updated before this joint.

    Returns Set<Object3D<Object3DEventMap>>

  • get initialLocalChildPosition(): Vector3

    Returns Vector3

Methods

  • Reset the state of this bone. You might want to call [[VRMSpringBoneManager.reset]] instead.

    Returns void

  • Set the initial state of this spring bone. You might want to call VRMSpringBoneManager.setInitState instead.

    Returns void

  • Update the state of this bone. You might want to call [[VRMSpringBoneManager.update]] instead.

    Parameters

    • delta: number

      deltaTime

    Returns void