You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the problem or limitation you are having in your project
The feature is frequently required for gameplay or visual effects like e.g. "left behind meshes" with skinned and animated meshes.
Godot's current only option to achieve this is to duplicate the entire mesh including skeleton and animation and pausing the animation playback at the exact time to keep the pose.
Just thinking about this as the only option causes severe performance trauma to every game dev.
I added this feature for my custom builds but I am making this proposal because I think this should be a core feature in Godot available for everyone.
Spooky .... spooky
Describe the feature / enhancement and how it helps to overcome the problem or limitation
Unity has a BakeMesh function in the SkinnedMeshRenderer for this exact purpose.
This function bakes the current animated pose of a mesh to a different mesh "freezing" the pose in place without the need for a skeleton or animation going forward.
Since the animated mesh is turned into a "normal" mesh it can also be used with x-amount of other functions that only work on the base mesh ignoring any animated pose.
Godot could provide the same functionality, preferably on the MeshInstance3D because it holds the skeleton animated mesh.
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
The MeshInstance3D gets a new function e.g. bake_mesh_from_current_skeleton_pose().
This function collects the current skeleton bone transforms from the skeleton that the MeshInstance3D uses.
Then it loops over the surfaces of the mesh that the MeshInstance3D uses and xforms the required mesh arrays.
The result gets applied to the "bake" Mesh that is provided as a parameter.
If this enhancement will not be used often, can it be worked around with a few lines of script?
No, and baking meshes like this is also performance heavy so scripts are not the right place.
Is there a reason why this should be core and not an add-on in the asset library?
Both animation and rendering are part of core.
Scripts are too slow for this with more complex meshes.
Plenty of common gameplay and visual effects require to bake skinned and animated meshes at runtime.
The text was updated successfully, but these errors were encountered:
Describe the project you are working on
Godot things. Spooky things.
Describe the problem or limitation you are having in your project
The feature is frequently required for gameplay or visual effects like e.g. "left behind meshes" with skinned and animated meshes.
Godot's current only option to achieve this is to duplicate the entire mesh including skeleton and animation and pausing the animation playback at the exact time to keep the pose.
Just thinking about this as the only option causes severe performance trauma to every game dev.
I added this feature for my custom builds but I am making this proposal because I think this should be a core feature in Godot available for everyone.
Spooky .... spooky
Describe the feature / enhancement and how it helps to overcome the problem or limitation
Unity has a BakeMesh function in the SkinnedMeshRenderer for this exact purpose.
This function bakes the current animated pose of a mesh to a different mesh "freezing" the pose in place without the need for a skeleton or animation going forward.
Since the animated mesh is turned into a "normal" mesh it can also be used with x-amount of other functions that only work on the base mesh ignoring any animated pose.
Godot could provide the same functionality, preferably on the MeshInstance3D because it holds the skeleton animated mesh.
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
The MeshInstance3D gets a new function e.g.
bake_mesh_from_current_skeleton_pose()
.This function collects the current skeleton bone transforms from the skeleton that the MeshInstance3D uses.
Then it loops over the surfaces of the mesh that the MeshInstance3D uses and xforms the required mesh arrays.
The result gets applied to the "bake" Mesh that is provided as a parameter.
If this enhancement will not be used often, can it be worked around with a few lines of script?
No, and baking meshes like this is also performance heavy so scripts are not the right place.
Is there a reason why this should be core and not an add-on in the asset library?
Both animation and rendering are part of core.
Scripts are too slow for this with more complex meshes.
Plenty of common gameplay and visual effects require to bake skinned and animated meshes at runtime.
The text was updated successfully, but these errors were encountered: