通过脚本添加一个MeshFilter网格
本文关键字:一个 MeshFilter 网格 脚本 添加 | 更新日期: 2023-09-27 18:16:39
如何通过c#添加具有特定网格的MeshFilter组件,例如Capsule网格(来自Unity默认库资源)?我已经走了这么远了……
GameObject obj = new GameObject("Player");
MeshFilter meshFilter = obj.AddComponent<MeshFilter>();
meshFilter.mesh =
胶囊和其他原始网格在Unity默认资源,我知道如何在编辑器中分配它,但我如何在c#中获得一个?显然,实例化是不可用的,因为它是一个库资源。
:
我本以为这是可行的:
meshFilter.mesh = Resources.Load<Mesh>("Capsule");
但是在编辑器组件检查器中网格仍然是空的。
我不知道如何直接做到这一点,但有一个"hack"的方法:
MeshFilter meshfilter = gameObject.AddComponent<MeshFilter>();
GameObject go = GameObject.CreatePrimitive(PrimitiveType.Capsule);
meshfilter.mesh = go.GetComponent<MeshFilter>().mesh;
meshfilter.gameObject.AddComponent<MeshRenderer>();
Destroy(go);
有帮助吗?
GameObject obj=GameObject.CreatePrimitive(PrimitiveType.Capsule);
obj.name="Player";