diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-05-14 12:06:55 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-05-14 12:06:55 +0200 |
commit | a8c6eb36e9bafad79d8fd401dbcf271e6b171df8 (patch) | |
tree | 4fe355cd991618dee8bcd3327d32e96e40cc955b | |
parent | 598be9bb4e6d577c5b659dfdfe082d62309dc7e9 (diff) | |
parent | d9399f59f5be664bc0513772a115341b5128913f (diff) | |
download | redot-engine-a8c6eb36e9bafad79d8fd401dbcf271e6b171df8.tar.gz |
Merge pull request #91896 from jsjtxietian/softbody-msg
Add useful error msg in `GodotSoftBody3D::set_mesh`
-rw-r--r-- | servers/physics_3d/godot_soft_body_3d.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/servers/physics_3d/godot_soft_body_3d.cpp b/servers/physics_3d/godot_soft_body_3d.cpp index fd9141f46e..7284076a47 100644 --- a/servers/physics_3d/godot_soft_body_3d.cpp +++ b/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(); } |