godotengine / godot-proposals

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

Maya 3D Model .anim ASCII file support. #5961

Open gerarreal opened 1 year ago

gerarreal commented 1 year ago

Describe the project you are working on

A 3D open source customizable fighting game project.

Describe the problem or limitation you are having in your project

My animations are exported from Blender as Maya .anim ASCII, which Godot cannot recognize despite sharing the same extension as Binary .anim.

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

The aforementioned addition will allow user to import .anim ASCII files for 3D models. This will allow importing custom animations made with BrawlCrate, a game modificiation program which can export model animations as .anim ASCII, In addition, it is also a format readable by a human so animations can be edited outside of the engine if needed.

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

Godot can recognize a Maya ASCII .anim format by a checkbox, when selecting a .anim file.

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

This cannot be worked around as a script, since it requires changing how Godot imports animations for the animation player.

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

It should improve animation importing a bit, but if it becomes a plugin I wouldn't mind.

Calinou commented 1 year ago

Godot's import system has no way to handle different formats sharing the same file extension, so I'm afraid this isn't possible without renaming the extension of Godot animations serialized to binary resources. This would require a compatibility-breaking change.

Also, it's possible to implement additional importers using add-ons, so this doesn't have to be core.