using System.Collections; using System.Collections.Generic; using UnityEditor; using UnityEngine; public class SkinnedMeshCollider : MonoBehaviour { public BoxCollider boxcCollider; #if UNITY_EDITOR [MenuItem("GameObject/Chiva/创建简易骨骼碰撞器", priority = 0)] public static void CreatCollider() { GameObject currentObject = Selection.activeGameObject; SkinnedMeshRenderer skinnedMeshRenderer = currentObject.GetComponent(); if (skinnedMeshRenderer == null) return; GameObject SkinedCollider = new GameObject(currentObject.name + "_Collider"); SkinedCollider.transform.parent = skinnedMeshRenderer.rootBone; SkinedCollider.transform.position = currentObject.transform.position; SkinedCollider.transform.rotation = currentObject.transform.rotation; BoxCollider collider = SkinedCollider.GetComponent() == null ? SkinedCollider.gameObject.AddComponent() : SkinedCollider.GetComponent(); SkinnedMeshCollider skinnedMeshCollider = currentObject.GetComponent() == null ? currentObject.AddComponent() : currentObject.GetComponent(); skinnedMeshCollider.boxcCollider = collider; SetColliderSize(collider, skinnedMeshRenderer.sharedMesh.bounds); } public static void SetColliderSize(BoxCollider collider, Bounds bound) { collider.center = bound.center; collider.size = bound.size; } #endif }