【发布时间】:2021-12-18 09:44:44
【问题描述】:
我需要统一反转球体对撞机,但我不够聪明,无法做到这一点。如果有人帮助我,将不胜感激。
【问题讨论】:
-
请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。
我需要统一反转球体对撞机,但我不够聪明,无法做到这一点。如果有人帮助我,将不胜感激。
【问题讨论】:
SphereCollider 本身是不可能的。
但您可以使用 MeshCollider 并为其分配 Sphere 网格。
然后您可以通过简单地反转所有三角形索引来反转所有法线,例如
// Linq provides handy shorthand queries and operations for IEnumerable collections
using System.Linq;
...
public MeshCollider meshCollider;
private void Awake ()
{
if(!meshCollider) meshCollider = GetComponent<MeshCollider>();
var mesh = meshCollider.sharedMesh;
// Reverse the triangles
mesh.triangles = mesh.triangles.Reverse().ToArray();
// also invert the normals
mesh.normals = mesh.normals.Select(n => -n).ToArray();
}
【讨论】:
sharedMesh