ubisoft / mixer

Add-on for real-time collaboration in Blender.
https://ubisoft-mixer.readthedocs.io/
GNU General Public License v3.0
1.32k stars 77 forks source link

Syncing animation actions and keyframes #12

Closed lyuma closed 3 years ago

lyuma commented 3 years ago

We have a usecase to use Mixer to animate a character on one client, for example animating by hand or through motion capture, and we would like the frames saved to the animation track on one client to be synchronized with others.

Mixer does appear to synchronize the result of transform animations, and the frame number, so the only thing missing is the animation track.

We are testing this file, which does not depend on Armature support: https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/InterpolationTest For example, the Cube.001 "CubicSpline Rotation_Cube.004" animation rotates cubes, but the animation keyframes are not being synced.

We have tested with experimental sync and found that more properties get synced, for example camera properties, but still not the keyframes themselves.

Celeborn2BeAlive commented 3 years ago

See my answer in #10 for detailed information about this.

Also about time sync, the synchronization of the result (kind of animation baking) was initially implemented for the sync with our VR app (more info here https://github.com/ubisoft/mixer/blob/master/doc/synchronization.md about that). We are currently working of specializing this "animation bake" for this app only (which cannot evaluate animation on its own, so it requires Blender to do it). Then we'll be able to implement a better time sync for Blender clients: the animation track, keyframes, curves, actions, etc, using our generic synchronization mode mentionned in #10 . It will also allow all Blender clients to have their own time control, with optional sync to another client instead of forced sync like it is the case right now.

Celeborn2BeAlive commented 3 years ago

Closing this issue because we are moving discussions to https://gitlab.com/ubisoft-animation-studio/mixer.

We recently removed "baked animation support" for Blender/Blender synchronization, it is now only used for Blender/VRtist sync. The merge commit is cc4e59c9cc6ecd1e73f8bc293ae93dfab39b3976. The goal for us now is to implement "true animation support", with actions and keyframes as you mentionned. No schedule however since we are focusing right now on stabilizing modifiers 😃

@lyuma If you want to continue this discussion, please open a new issue on Gitlab, thanks !