美工提供的模型,有时候子物体过于多,一个一个的添加碰撞体过程太繁琐了,所以,有必要写一个脚本来让场景中的所有MeshRenderer添加上碰撞体组件。
using UnityEngine;
using UnityEditor;
public class AddMeshCollider : EditorWindow
{
[MenuItem("Tools/添加碰撞体")]
public static void Open()
{
EditorWindow.GetWindow(typeof(AddMeshCollider));
}
void OnGUI()
{
if (GUILayout.Button("添加碰撞体"))
{
Add();
}
}
public static void Add()
{
var tArray = Resources.FindObjectsOfTypeAll(typeof(MeshRenderer ));
for (int i = 0; i < tArray.Length; i++)
{
MeshRenderer t = tArray[i] as MeshRenderer;
Undo.RecordObject(t, t.gameObject.name);
t.gameObject.AddComponent<MeshCollider>();
EditorUtility.SetDirty(t);
}
Debug.Log("Succed");
}
}
希望对你有帮助。
有疑问欢迎vx咨询159-7084-3394
|