为蒙皮网格添加碰撞体
下面展示一些 内联代码片
。
static void AddCollider()
{
Transform parent = Selection.activeGameObject.transform;
SkinnedMeshRenderer skinnedMeshRenderer = parent.GetComponent<SkinnedMeshRenderer>();
if (skinnedMeshRenderer == null)
{
Debug.LogError("所选物体不是 SkinnedMeshRenderer 蒙皮网格");
return;
}
Transform rootBone = skinnedMeshRenderer.rootBone;
Collider collider = rootBone.GetComponent<Collider>();
GameObject.DestroyImmediate(collider, true);
BoxCollider boxCollider = rootBone.gameObject.AddComponent<BoxCollider>();
boxCollider.center = skinnedMeshRenderer.localBounds.center;
boxCollider.size = skinnedMeshRenderer.localBounds.size;
EditorUtility.SetDirty(rootBone);
Debug.Log("添加完成,点击日志可选中: " + rootBone.name, rootBone.gameObject);
}