Table of Contents

Class RagdollAnim

Namespace
VoxelPlayground.Ragdoll
Assembly
GamePlay.dll
public class RagdollAnim : MonoBehaviour
Inheritance
object
RagdollAnim
Extension Methods

Fields

checkColStay

[NonSerialized]
public bool checkColStay

Field Value

bool

enableEndAnimUpdate

public bool enableEndAnimUpdate

Field Value

bool

enableLockAngular

public bool enableLockAngular

Field Value

bool

enableLockLinear

public bool enableLockLinear

Field Value

bool

enableMiddleAnimUpdate

public bool enableMiddleAnimUpdate

Field Value

bool

hipLocalPosWeight

public float hipLocalPosWeight

Field Value

float

hipLocalRotWeight

public float hipLocalRotWeight

Field Value

float

ignoreListA

public Collider[] ignoreListA

Field Value

Collider[]

ignoreListB

public Collider[] ignoreListB

Field Value

Collider[]

localPosWeight

public float localPosWeight

Field Value

float

localRotWeight

public float localRotWeight

Field Value

float

muscleStates

public List<RagdollMuscleState> muscleStates

Field Value

List<RagdollMuscleState>

profile

[NonSerialized]
public RagdollProfile profile

Field Value

RagdollProfile

rootForwardDir

public Vector3 rootForwardDir

Field Value

Vector3

rootRightDir

public Vector3 rootRightDir

Field Value

Vector3

rootUpDir

public Vector3 rootUpDir

Field Value

Vector3

SkipCopyBones

public static List<Transform> SkipCopyBones

Field Value

List<Transform>

updateJoints

[NonSerialized]
public bool updateJoints

Field Value

bool

worldPosWeight

public float worldPosWeight

Field Value

float

worldRotWeight

public float worldRotWeight

Field Value

float

Methods

AddForce(Vector3, ForceMode)

public void AddForce(Vector3 force, ForceMode fm = ForceMode.VelocityChange)

Parameters

force Vector3
fm ForceMode

AddJoint(Rigidbody, Rigidbody, Vector3, Vector3, Quaternion, float)

public ConfigurableJoint AddJoint(Rigidbody source, Rigidbody target, Vector3 anchorPos, Vector3 anotherAnchor, Quaternion desireRot, float rotSpring)

Parameters

source Rigidbody
target Rigidbody
anchorPos Vector3
anotherAnchor Vector3
desireRot Quaternion
rotSpring float

Returns

ConfigurableJoint

AddMuscleMirror(string, RagdollMuscle)

public void AddMuscleMirror(string mirror, RagdollMuscle mu)

Parameters

mirror string
mu RagdollMuscle

AddMuscleParentRelationship(RagdollMuscle, RagdollMuscle)

public void AddMuscleParentRelationship(RagdollMuscle child, RagdollMuscle parent)

Parameters

child RagdollMuscle
parent RagdollMuscle

AddTorque(Vector3, ForceMode)

public void AddTorque(Vector3 torque, ForceMode fm = ForceMode.VelocityChange)

Parameters

torque Vector3
fm ForceMode

ApplyProfile(RagdollProfile)

public void ApplyProfile(RagdollProfile profile)

Parameters

profile RagdollProfile

ApplyVelocityMlp(float)

public void ApplyVelocityMlp(float f)

Parameters

f float

BalanceMuscle(float)

public void BalanceMuscle(float miniVal = 0.05)

Parameters

miniVal float

BuildMiddleAnimPair(Transform, Transform)

public void BuildMiddleAnimPair(Transform animRoot, Transform rb)

Parameters

animRoot Transform
rb Transform

BuildMuscle(ConfigurableJoint, Transform, Transform, Transform, string)

public RagdollMuscle BuildMuscle(ConfigurableJoint joint, Transform skl, Transform jointParent, Transform sklParent, string muscleName)

Parameters

joint ConfigurableJoint
skl Transform
jointParent Transform
sklParent Transform
muscleName string

Returns

RagdollMuscle

BuildPureAnimPair(Transform, Transform)

public void BuildPureAnimPair(Transform animRoot, Transform rb)

Parameters

animRoot Transform
rb Transform

ChangeVelocity(Vector3)

public void ChangeVelocity(Vector3 vel)

Parameters

vel Vector3

ClearInfo()

public void ClearInfo()

CopyEndAnim(bool)

public void CopyEndAnim(bool local = true)

Parameters

local bool

CopyMiddleAnim(bool)

public void CopyMiddleAnim(bool local = true)

Parameters

local bool

CreateSklForJoint(string, ConfigurableJoint, Vector3, Quaternion)

public Transform CreateSklForJoint(string name, ConfigurableJoint cfg, Vector3 desiredLocalPos, Quaternion desiredLocalRot)

Parameters

name string
cfg ConfigurableJoint
desiredLocalPos Vector3
desiredLocalRot Quaternion

Returns

Transform

CrossFadeBegin(RagdollProfile, float)

public void CrossFadeBegin(RagdollProfile target, float crossTime)

Parameters

target RagdollProfile
crossTime float

CrossFadeProfile(RagdollProfile, float)

public void CrossFadeProfile(RagdollProfile target, float percent)

Parameters

target RagdollProfile
percent float

DoRemoveMuscle(RagdollMuscle)

public void DoRemoveMuscle(RagdollMuscle mu)

Parameters

mu RagdollMuscle

FindInChildren(Transform, string)

public static Transform FindInChildren(Transform tran, string name)

Parameters

tran Transform
name string

Returns

Transform

GetAllMuscles()

public RagdollAnim.StringMuscleDictionary GetAllMuscles()

Returns

RagdollAnim.StringMuscleDictionary

GetChildren(string)

public List<RagdollMuscle> GetChildren(string mirror)

Parameters

mirror string

Returns

List<RagdollMuscle>

GetChildren(RagdollMuscle)

public List<RagdollMuscle> GetChildren(RagdollMuscle mu)

Parameters

mu RagdollMuscle

Returns

List<RagdollMuscle>

GetCols()

public Collider[] GetCols()

Returns

Collider[]

GetDismemberMuscles()

public List<RagdollMuscle> GetDismemberMuscles()

Returns

List<RagdollMuscle>

GetDismemberRootMuscle(RagdollMuscle)

public RagdollMuscle GetDismemberRootMuscle(RagdollMuscle mu)

Parameters

mu RagdollMuscle

Returns

RagdollMuscle

GetMuscle(string)

public RagdollMuscle GetMuscle(string name)

Parameters

name string

Returns

RagdollMuscle

GetMuscle(Transform)

public RagdollMuscle GetMuscle(Transform tran)

Parameters

tran Transform

Returns

RagdollMuscle

GetMuscleByCol(Collider)

public RagdollMuscle GetMuscleByCol(Collider col)

Parameters

col Collider

Returns

RagdollMuscle

GetMuscleBySkl(Transform)

public RagdollMuscle GetMuscleBySkl(Transform skl)

Parameters

skl Transform

Returns

RagdollMuscle

GetMusclesFromRootMuscle(RagdollMuscle)

public List<RagdollMuscle> GetMusclesFromRootMuscle(RagdollMuscle muSet)

Parameters

muSet RagdollMuscle

Returns

List<RagdollMuscle>

GetParent(RagdollMuscle)

public RagdollMuscle GetParent(RagdollMuscle mu)

Parameters

mu RagdollMuscle

Returns

RagdollMuscle

GetRippedMuscles()

public List<string> GetRippedMuscles()

Returns

List<string>

GetRoot()

public RagdollMuscle GetRoot()

Returns

RagdollMuscle

GetRootForward()

public Vector3 GetRootForward()

Returns

Vector3

GetRootRight()

public Vector3 GetRootRight()

Returns

Vector3

GetRootUp()

public Vector3 GetRootUp()

Returns

Vector3

GetRuntimeMuscle(string)

public RagdollMuscle GetRuntimeMuscle(string name)

Parameters

name string

Returns

RagdollMuscle

GetUpdateJointEnabled()

public bool GetUpdateJointEnabled()

Returns

bool

HasBeenRipped()

public bool HasBeenRipped()

Returns

bool

IsAnimBone(Transform)

public bool IsAnimBone(Transform bone)

Parameters

bone Transform

Returns

bool

IsAnimEndingBone(Transform)

public bool IsAnimEndingBone(Transform bone)

Parameters

bone Transform

Returns

bool

IsChildMuscle(RagdollMuscle, RagdollMuscle)

public bool IsChildMuscle(RagdollMuscle root, RagdollMuscle child)

Parameters

root RagdollMuscle
child RagdollMuscle

Returns

bool

IsMuscleRipped(string)

public bool IsMuscleRipped(string muscleName)

Parameters

muscleName string

Returns

bool

IsPureAnimEnding(Transform)

public bool IsPureAnimEnding(Transform bone)

Parameters

bone Transform

Returns

bool

JointRipped(string)

public void JointRipped(string muscleName)

Parameters

muscleName string

MakeABListIgnore(bool)

public void MakeABListIgnore(bool ig = true)

Parameters

ig bool

OnMuscleCollisionEvent(Collision, RagdollMuscle)

public void OnMuscleCollisionEvent(Collision c, RagdollMuscle mu)

Parameters

c Collision
mu RagdollMuscle

OnMuscleCollisionStayEvent(Collision, RagdollMuscle)

public void OnMuscleCollisionStayEvent(Collision c, RagdollMuscle mu)

Parameters

c Collision
mu RagdollMuscle

RemoveJoint(RagdollMuscle)

public void RemoveJoint(RagdollMuscle mu)

Parameters

mu RagdollMuscle

RemoveMuscle(Transform, bool)

public void RemoveMuscle(Transform rbTrans, bool removeChild = true)

Parameters

rbTrans Transform
removeChild bool

RemoveMuscleMirror(string, RagdollMuscle)

public void RemoveMuscleMirror(string mirror, RagdollMuscle mu)

Parameters

mirror string
mu RagdollMuscle

RemoveMuscleParentRelationship(RagdollMuscle, RagdollMuscle)

public void RemoveMuscleParentRelationship(RagdollMuscle child, RagdollMuscle parent)

Parameters

child RagdollMuscle
parent RagdollMuscle

ResetAllRefs()

public void ResetAllRefs()

ResetMuscles()

public void ResetMuscles()

ScaleJoint(ConfigurableJoint, Vector3)

public void ScaleJoint(ConfigurableJoint joint, Vector3 scaleTarget)

Parameters

joint ConfigurableJoint
scaleTarget Vector3

SetAllMusclesToPosition()

public void SetAllMusclesToPosition()

SetCollisionIgnoreWith(Collider[], bool)

public void SetCollisionIgnoreWith(Collider[] cols, bool ignore)

Parameters

cols Collider[]
ignore bool

SetLODLevel(int)

public void SetLODLevel(int level)

Parameters

level int

SetRoot(RagdollMuscle)

public void SetRoot(RagdollMuscle mu)

Parameters

mu RagdollMuscle

SetSelfCollisionIgnore(bool)

public void SetSelfCollisionIgnore(bool ignore)

Parameters

ignore bool

SetSelfIgnore(bool)

public void SetSelfIgnore(bool ig = true)

Parameters

ig bool

SetSyncHipEnable(bool)

public void SetSyncHipEnable(bool enable)

Parameters

enable bool

SetUpdateJointEnabled(bool)

public void SetUpdateJointEnabled(bool e)

Parameters

e bool

SyncHipLocalPosition(Rigidbody, Transform, Transform, float)

public void SyncHipLocalPosition(Rigidbody hipRb, Transform hipTrans, Transform hipAnim, float deltaTime)

Parameters

hipRb Rigidbody
hipTrans Transform
hipAnim Transform
deltaTime float

SyncHipLocalRotation(Rigidbody, Transform, Transform, float)

public void SyncHipLocalRotation(Rigidbody hipRb, Transform hipTrans, Transform hipAnim, float deltaTime)

Parameters

hipRb Rigidbody
hipTrans Transform
hipAnim Transform
deltaTime float

TickMuscles()

public void TickMuscles()

UpdateAll(float)

public void UpdateAll(float delta)

Parameters

delta float

UpdateCols()

public void UpdateCols()

UpdateMuscles(float, bool)

更新ragdoll肌肉状态 animatorUpdated: true=允许CopyMiddleAnim/CopyEndAnim,false=跳过

public void UpdateMuscles(float delta, bool animatorUpdated = true)

Parameters

delta float
animatorUpdated bool

Events

MuscleChangedEvent

public event Action<RagdollMuscle, bool> MuscleChangedEvent

Event Type

Action<RagdollMuscle, bool>

MuscleCollisionEvent

public event Action<Collision, RagdollMuscle> MuscleCollisionEvent

Event Type

Action<Collision, RagdollMuscle>

MuscleCollisionStayEvent

public event Action<Collision, RagdollMuscle> MuscleCollisionStayEvent

Event Type

Action<Collision, RagdollMuscle>

MuscleJointBrokeEvent

public event Action<RagdollAnim, string> MuscleJointBrokeEvent

Event Type

Action<RagdollAnim, string>