void Awake() { createPatchMesh(); bodyMeshTriangles = bodyMeshFilter.sharedMesh.triangles; bodyMeshVertices = bodyMeshFilter.sharedMesh.vertices; bodyVertexDistances = new float[bodyMeshVertices.Length]; // Calculate each of the body triangle's area for the slamming force slammingForceData = new List <SlammingForceData>(); for (int i = 0; i < bodyMeshTriangles.Length / 3; i++) { Vector3 p1 = bodyMeshVertices[bodyMeshTriangles[i * 3]]; Vector3 p2 = bodyMeshVertices[bodyMeshTriangles[i * 3 + 1]]; Vector3 p3 = bodyMeshVertices[bodyMeshTriangles[i * 3 + 2]]; float area = TriangleData.GetTriangleArea(p1, p2, p3); slammingForceData.Add(new SlammingForceData(area)); bodySurfaceArea += area; } }