summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2020-03-11 15:04:14 +0100
committerGitHub <noreply@github.com>2020-03-11 15:04:14 +0100
commit153a2b094c4568b0702ef6da29c35754ba24c2b3 (patch)
treef96117fc317ba181c89d3e3c0092e8edf5880045
parent5b97db325ac487e4d4f27686b70fa3d4fe6eb181 (diff)
parentee0262977e21c416053c9fe41003e680f2e34ff9 (diff)
Merge pull request #36978 from lupoDharkael/opti-trimesh
Loop over faces in create_trimesh_shape()
-rw-r--r--scene/resources/mesh.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/scene/resources/mesh.cpp b/scene/resources/mesh.cpp
index a063b7f74f..1caeddd881 100644
--- a/scene/resources/mesh.cpp
+++ b/scene/resources/mesh.cpp
@@ -252,10 +252,12 @@ Ref<Shape> Mesh::create_trimesh_shape() const {
Vector<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);