godotengine / godot-proposals

Godot Improvement Proposals (GIPs)
MIT License
1.12k stars 69 forks source link

Re-create mesh collider when model change #4877

Open TaraSophieDev opened 2 years ago

TaraSophieDev commented 2 years ago

Describe the project you are working on

A 3D Game where many 3d models be imported and used.

Describe the problem or limitation you are having in your project

When changing the 3d Model and exporting it to Godot, a new mesh collider must be created manually.

Describe the feature / enhancement and how it helps to overcome the problem or limitation

Add a setting in the Engine Settings, that allows the engine to create a new mesh collider when the 3d Model got updated.

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

When the user exports the updated 3d Model to godot and it had a mesh collider before, the engine should recreate a mesh collider, so it fits the updated model structure.

If this enhancement will not be used often, can it be worked around with a few lines of script?

It will be used often, because it's a important part in 3d Assets importing.

Is there a reason why this should be core and not an add-on in the asset library?

Because it's a feature the User would expect, like in Unity.

Calinou commented 2 years ago

This is likely a duplicate of https://github.com/godotengine/godot/issues/38853.

How are you creating the collision shape? Most of the time, instead of using Create Trimesh Collision Sibling, you should use the -col prefix when importing a 3D scene if you intend to make a reusable 3D scene of any kind.

If needed, you can import .obj meshes as scenes by selecting them in the FileSystem dock and changing their import mode. (That said, I don't remember if the OBJ specification supports having multiple objects in a file, and therefore giving names to individual objects.)