当第一人称在场景里漫游时应避免穿模问题,这就需要给第一人称和周边环境模型都添加碰撞器。当场景很大,且形状不规则时,一个个给周边模型手动添加碰撞器很慢且不精准,以下方式能实现一键给场景内所有模型添加精准碰撞MeshCollider。
1.新建脚本AddMeshCollider.cs,代码如下
//EditorWindow类无法打包,注意添加这个判断
#if UNITY_EDITOR
using UnityEngine;
using UnityEditor;
public class AddMeshCollider : EditorWindow
{
[MenuItem("Tools/添加移除碰撞体")]
public static void Open()
{
EditorWindow.GetWindow(typeof(AddMeshCollider));
}
void OnGUI()
{
if (GUILayout.Button("添加碰撞体"))
{
Add();
}
if (GUILayout.Button("移除碰撞体"))
{
Remove();
}
}
public static void Remove()
{
//寻找Hierarchy面板下所有的MeshRenderer
var tArray = Resources.FindObjectsOfTypeAll(typeof(MeshRenderer));
for (int i = 0; i < tArray.Length; i++)
{
MeshRend
一键添加/移除Unity场景MeshCollider脚本,

最低0.47元/天 解锁文章
1638





