add some extra assets FX and SFX

This commit is contained in:
Robii Aragon
2026-03-29 23:03:14 -07:00
parent 6ef3eb1535
commit 24dc66a81e
10142 changed files with 2535978 additions and 36608 deletions

View File

@@ -85,6 +85,9 @@ public class ragdollBuilder : MonoBehaviour
int direction;
bool checkIfRagdollComponentsAlreadyAddedOnModelActive;
public void getCharacterBonesFromEditor ()
{
getCharacterBones ();
@@ -97,33 +100,69 @@ public class ragdollBuilder : MonoBehaviour
}
}
public void setCharacterBones (Transform newHead,
Transform newRightElbow,
Transform newLeftElbow,
Transform newRightArm,
Transform newLeftArm,
Transform newMiddleSpine,
Transform newPelvis,
Transform newRightHips,
Transform newLeftHips,
Transform newRightKnee,
Transform newLeftKnee)
{
head = newHead;
rightElbow = newRightElbow;
leftElbow = newLeftElbow;
rightArm = newRightArm;
leftArm = newLeftArm;
middleSpine = newMiddleSpine;
pelvis = newPelvis;
rightHips = newRightHips;
leftHips = newLeftHips;
rightKnee = newRightKnee;
leftKnee = newLeftKnee;
}
bool ignoreStoreBonesByGetBoneTransformActive;
public void getCharacterBones ()
{
if (animator != null) {
bonesTransforms.Clear ();
pelvis = animator.GetBoneTransform (HumanBodyBones.Hips);
if (!ignoreStoreBonesByGetBoneTransformActive) {
pelvis = animator.GetBoneTransform (HumanBodyBones.Hips);
leftHips = animator.GetBoneTransform (HumanBodyBones.LeftUpperLeg);
leftHips = animator.GetBoneTransform (HumanBodyBones.LeftUpperLeg);
leftKnee = animator.GetBoneTransform (HumanBodyBones.LeftLowerLeg);
leftKnee = animator.GetBoneTransform (HumanBodyBones.LeftLowerLeg);
rightHips = animator.GetBoneTransform (HumanBodyBones.RightUpperLeg);
rightHips = animator.GetBoneTransform (HumanBodyBones.RightUpperLeg);
rightKnee = animator.GetBoneTransform (HumanBodyBones.RightLowerLeg);
rightKnee = animator.GetBoneTransform (HumanBodyBones.RightLowerLeg);
leftArm = animator.GetBoneTransform (HumanBodyBones.LeftUpperArm);
leftArm = animator.GetBoneTransform (HumanBodyBones.LeftUpperArm);
leftElbow = animator.GetBoneTransform (HumanBodyBones.LeftLowerArm);
leftElbow = animator.GetBoneTransform (HumanBodyBones.LeftLowerArm);
rightArm = animator.GetBoneTransform (HumanBodyBones.RightUpperArm);
rightArm = animator.GetBoneTransform (HumanBodyBones.RightUpperArm);
rightElbow = animator.GetBoneTransform (HumanBodyBones.RightLowerArm);
rightElbow = animator.GetBoneTransform (HumanBodyBones.RightLowerArm);
middleSpine = animator.GetBoneTransform (HumanBodyBones.Chest);
middleSpine = animator.GetBoneTransform (HumanBodyBones.Chest);
head = animator.GetBoneTransform (HumanBodyBones.Head);
head = animator.GetBoneTransform (HumanBodyBones.Head);
}
//add every bone to a list
addBonesTransforms ();
@@ -277,7 +316,9 @@ public class ragdollBuilder : MonoBehaviour
GKC_Utils.updateComponent (mainRagdollActivator);
print ("Ragdoll Activator components assigned and updated");
if (!Application.isPlaying) {
print ("Ragdoll Activator components assigned and updated");
}
}
}
@@ -330,7 +371,23 @@ public class ragdollBuilder : MonoBehaviour
{
Vector3 center = Vector3.zero;
removeRagdoll ();
bool ignoreAddRagdollComponentsResult = false;
if (checkIfRagdollComponentsAlreadyAddedOnModelActive) {
//check if the model has ragdoll elements on it already
if (pelvis != null) {
if (pelvis.gameObject.GetComponent<BoxCollider> () != null) {
ignoreAddRagdollComponentsResult = true;
}
}
}
//print ("ignoreAddRagdollComponentsResult " + ignoreAddRagdollComponentsResult);
if (!ignoreAddRagdollComponentsResult) {
removeRagdoll ();
}
for (int i = 0; i < bones.Count; i++) {
//create capsule colliders
@@ -376,7 +433,13 @@ public class ragdollBuilder : MonoBehaviour
}
}
CapsuleCollider collider = bones [i].boneTransform.gameObject.AddComponent<CapsuleCollider> ();
CapsuleCollider collider = null;
if (ignoreAddRagdollComponentsResult) {
collider = bones [i].boneTransform.gameObject.GetComponent<CapsuleCollider> ();
} else {
collider = bones [i].boneTransform.gameObject.AddComponent<CapsuleCollider> ();
}
collider.direction = direction;
center = Vector3.zero;
@@ -387,18 +450,31 @@ public class ragdollBuilder : MonoBehaviour
}
//add rigidbodies
bones [i].boneRigidbody = bones [i].boneTransform.gameObject.AddComponent<Rigidbody> ();
if (ignoreAddRagdollComponentsResult) {
bones [i].boneRigidbody = bones [i].boneTransform.gameObject.GetComponent<Rigidbody> ();
} else {
bones [i].boneRigidbody = bones [i].boneTransform.gameObject.AddComponent<Rigidbody> ();
}
bones [i].boneRigidbody.mass = bones [i].mass;
//build joints
if (bones [i].parent != null) {
CharacterJoint joint = bones [i].boneTransform.gameObject.AddComponent<CharacterJoint> ();
CharacterJoint joint = null;
if (ignoreAddRagdollComponentsResult) {
joint = bones [i].boneTransform.gameObject.GetComponent<CharacterJoint> ();
} else {
joint = bones [i].boneTransform.gameObject.AddComponent<CharacterJoint> ();
}
bones [i].joint = joint;
//configure joint connections
joint.axis = getDirectionAxis (bones [i].boneTransform.InverseTransformDirection (bones [i].axis));
joint.swingAxis = getDirectionAxis (bones [i].boneTransform.InverseTransformDirection (bones [i].swingAxis));
joint.anchor = Vector3.zero;
joint.connectedBody = bones [i].parent.boneTransform.GetComponent<Rigidbody> ();
//configure jount limits
@@ -417,20 +493,40 @@ public class ragdollBuilder : MonoBehaviour
//add box colliders to the hips and spine
Bounds boxColliderInfo;
BoxCollider boxCollider;
BoxCollider boxCollider = null;
boxColliderInfo = adjustColliderScale (getColliderSize (pelvis), pelvis, middleSpine, false);
boxCollider = pelvis.gameObject.AddComponent<BoxCollider> ();
if (ignoreAddRagdollComponentsResult) {
boxCollider = pelvis.gameObject.GetComponent<BoxCollider> ();
} else {
boxCollider = pelvis.gameObject.AddComponent<BoxCollider> ();
}
boxCollider.center = boxColliderInfo.center;
boxCollider.size = boxColliderInfo.size * spineScale;
boxColliderInfo = adjustColliderScale (getColliderSize (middleSpine), middleSpine, middleSpine, true);
boxCollider = middleSpine.gameObject.AddComponent<BoxCollider> ();
if (ignoreAddRagdollComponentsResult) {
boxCollider = middleSpine.gameObject.GetComponent<BoxCollider> ();
} else {
boxCollider = middleSpine.gameObject.AddComponent<BoxCollider> ();
}
boxCollider.center = boxColliderInfo.center;
boxCollider.size = boxColliderInfo.size * spineScale;
//add head collider
float radius = (GKC_Utils.distance (rightArm.transform.position, leftArm.transform.position)) / 4;
SphereCollider sphere = head.gameObject.AddComponent<SphereCollider> ();
SphereCollider sphere = null;
if (ignoreAddRagdollComponentsResult) {
sphere = head.gameObject.GetComponent<SphereCollider> ();
} else {
sphere = head.gameObject.AddComponent<SphereCollider> ();
}
sphere.radius = radius;
center = Vector3.zero;
@@ -638,6 +734,16 @@ public class ragdollBuilder : MonoBehaviour
return direction;
}
public void setCheckIfRagdollComponentsAlreadyAddedOnModelActiveState (bool state)
{
checkIfRagdollComponentsAlreadyAddedOnModelActive = state;
}
public void setIgnoreStoreBonesByGetBoneTransformActiveState (bool state)
{
ignoreStoreBonesByGetBoneTransformActive = state;
}
public void getAnimator (Animator anim)
{
animator = anim;
@@ -651,6 +757,8 @@ public class ragdollBuilder : MonoBehaviour
void updateComponent ()
{
GKC_Utils.updateComponent (this);
GKC_Utils.updateDirtyScene ("Update Ragdoll Builder", gameObject);
}
[System.Serializable]