Bladeren bron

Merge pull request #91896 from jsjtxietian/softbody-msg

Add useful error msg in `GodotSoftBody3D::set_mesh`
Rémi Verschelde 1 jaar geleden
bovenliggende
commit
a8c6eb36e9
1 gewijzigde bestanden met toevoegingen van 6 en 1 verwijderingen
  1. 6 1
      servers/physics_3d/godot_soft_body_3d.cpp

+ 6 - 1
servers/physics_3d/godot_soft_body_3d.cpp

@@ -140,7 +140,12 @@ void GodotSoftBody3D::set_mesh(RID p_mesh) {
 	Array arrays = RenderingServer::get_singleton()->mesh_surface_get_arrays(soft_mesh, 0);
 	ERR_FAIL_COND(arrays.is_empty());
 
-	bool success = create_from_trimesh(arrays[RenderingServer::ARRAY_INDEX], arrays[RenderingServer::ARRAY_VERTEX]);
+	const Vector<int> &indices = arrays[RenderingServer::ARRAY_INDEX];
+	const Vector<Vector3> &vertices = arrays[RenderingServer::ARRAY_VERTEX];
+	ERR_FAIL_COND_MSG(indices.is_empty(), "Soft body's mesh needs to have indices");
+	ERR_FAIL_COND_MSG(vertices.is_empty(), "Soft body's mesh needs to have vertices");
+
+	bool success = create_from_trimesh(indices, vertices);
 	if (!success) {
 		destroy();
 	}