Mesh Statistics
GetAverageTriArea
GetAverageTriAreapublic float GetAverageTriArea(bool useColliderMesh)
{
Mesh m = useColliderMesh ? ColliderMesh : VisualMesh;
if (m == null) return 0f;
int[] tris = m.triangles;
Vector3[] v = m.vertices;
double areaSum = 0d; int triCount = 0;
for (int i = 0; i < tris.Length; i += 3)
{
if (i + 2 >= tris.Length) break;
Vector3 a = v[tris[i]], b = v[tris[i + 1]], c = v[tris[i + 2]];
areaSum += Vector3.Cross(b - a, c - a).magnitude * 0.5;
triCount++;
}
return triCount == 0 ? 0f : (float)(areaSum / triCount) * 10000f; // m² → cm²
}GetDegenerateTriRatio
GetDegenerateTriRatioLast updated