소스 검색

Loop over faces in create_trimesh_shape()

(cherry picked from commit ee0262977e21c416053c9fe41003e680f2e34ff9)
lupoDharkael 5 년 전
부모
커밋
536c2fc0c0
1개의 변경된 파일4개의 추가작업 그리고 2개의 파일을 삭제
  1. 4 2
      scene/resources/mesh.cpp

+ 4 - 2
scene/resources/mesh.cpp

@@ -254,10 +254,12 @@ Ref<Shape> Mesh::create_trimesh_shape() const {
 	PoolVector<Vector3> face_points;
 	face_points.resize(faces.size() * 3);
 
-	for (int i = 0; i < face_points.size(); i++) {
+	for (int i = 0; i < face_points.size(); i += 3) {
 
 		Face3 f = faces.get(i / 3);
-		face_points.set(i, f.vertex[i % 3]);
+		face_points.set(i, f.vertex[0]);
+		face_points.set(i + 1, f.vertex[1]);
+		face_points.set(i + 2, f.vertex[2]);
 	}
 
 	Ref<ConcavePolygonShape> shape = memnew(ConcavePolygonShape);