Details
-
Suggestion
-
Resolution: Unresolved
-
Not Evaluated
-
None
-
6.10
-
None
Description
When using timeline animation, especially for an asset importing, the keyframe description is too long and quite heavy to read all the text.
Qt supports binaryKeyframes but every target and property set opens a separate binary, many designers are complaining about generating lots of animation files.
I think, the limitation of merging all the keyframegroups comes from the difficulty to describe target (QObject) in the binary.
The suggestion is making a new binary buffer somewhere (for example in QQTimeline) and then refer it in keyframeGroup with indicater.
Timeline { id: timeline0 ... keyframeData: "./keyframe.cbor" ... KeyframeGroup { target: node0 property: "position" keyframeBuffer: timeline0.keyframeData keyframeId: "node0_position" // unique name } KeyframeGroup { target: node0 property: "rotation" keyframeBuffer: timeline0.keyframeData keyframeId: "node0_rotation" // unique name } ... }
In this case, the 'keyframeId' can be patched in cbor map.
Tag( { "node0_position": ....... , "node0_rotation": ........., ...} )
Or just using binary buffer and offset might be a simple solution.
Timeline { id: timeline0 ... keyframeData: "./keyframe.bin" ... KeyframeGroup { target: node0 property: "position" keyframeBuffer: timeline0.keyframeData keyframeBufferOffset:0 } KeyframeGroup { target: node0 property: "rotation" keyframeBuffer: timeline0.keyframeData keyframeBufferOffset: 512 } ... }