我在 Unity 中有一个球体,并使用脚本翻转法线,因此我可以在内部看到一个 360 度纹理。我这样做是因为最终我想在里面播放视频,并且帽子内的其他球体可以被扔到周围并从外球体的内壁反弹。问题是,尽管球体的法线朝内,但碰撞仍然是标准的。球体内的物体直接掉落。
我需要添加到我的脚本中以包含碰撞网格吗?
你不能让非凸面 MeshColliders 在 Unity 中表现得像 Rigidbodies,你需要将墙壁伪造成一系列凸面碰撞器,近似于盒子碰撞器?
假设你为渲染重新计算了反转法线的网格,现在只需使用 GetComponent 获取游戏对象的网格碰撞器,然后将其共享网格设置为上面计算的网格。
MeshCollider abcd = this.GetComponent();
abcd.sharedMesh = 网格;
这里的“newmesh”是我用翻转法线计算的渲染网格