KhronosGroup / glTF-Blender-IO

Blender glTF 2.0 importer and exporter
https://docs.blender.org/manual/en/latest/addons/import_export/scene_gltf2.html
Apache License 2.0
1.5k stars 319 forks source link

Added the 'force keeping channel for data' feature #2400

Open The0Dev opened 1 month ago

The0Dev commented 1 month ago

Implements the feature request #2386

CLAassistant commented 1 month ago

CLA assistant check
All committers have signed the CLA.

julienduroure commented 1 month ago

Hello, Thanks, I will have a look soon. Plan to merge it for Blender 4.4

Seems your format options is not aligned with the ones that we are using here, and on Blender repository. Can you please fix it (avoiding to change the current code, and make it easy to see your diff). For info, what is used can be found here: https://github.com/KhronosGroup/glTF-Blender-IO/blob/main/tools/autopep8.md

The0Dev commented 1 month ago

Hello. Thank you for replying.

Plan to merge it for Blender 4.4

Could you please clarify why it is not possible to merge it for Blender 4.3.1? The changes are minor.

Seems your format options is not aligned with the ones that we are using here

It should be fixed now.

julienduroure commented 1 month ago

Could you please clarify why it is not possible to merge it for Blender 4.3.1? The changes are minor.

Branch freeze before the release will happen in a few hours

The0Dev commented 1 month ago

Branch freeze before the release will happen in a few hours

In a few hours Blender 4.3 is going to be released if I'm not mistaken. It seems that Blender 4.4 is not expected until March 2025, which seems quite a long wait. I kindly hope that it might be possible to include this change in an earlier version (there will probably be at least 4.3.1?). Thank you for considering my request!

julienduroure commented 1 month ago

Any 4.3.x is only for bug fixing. ( crashes & regression bugs)

This will be merge in main branch that will become 4.4

The0Dev commented 4 weeks ago

I've realized that there is an issue. The animation pointer feature is currently only available in the "Scene" and "NLA tracks" modes. In these modes, all objects and data properties (when Animation Pointer is toggled) are sampled and baked, even when they are not animated by the user. As the result, using the "force keeping channel for objects/data" options causes every object and property (that can be exported via KHR_animation_pointer) to always have at least 2 keyframes and clutters resulting gltf files with multiple unnecessary channels. That seems to be the intended behavior. However, I'd like to only keep channels and keyframes for properties that I animate, which is currently impossible using those modes. So unfortunately this PR is not very useful for me at the moment unless it becomes possible to use Animation Pointer in the other modes or if some other changes are made.