gltf-extensions
gltf-extensions copied to clipboard
Applying Animations Stored in a Separate GLTF
In https://github.com/omigroup/gltf-extensions/issues/42 @eviemarie outlines several workflows needed for packaging animations in a glTF asset and applying them to a separate asset. I'd like to propose the creation of tooling and a extension for retargeting animations from one glTF file to another.
VRM provides one existing standard skeleton specification
ThreeVRM can import humanoid avatars in Three.js https://github.com/pixiv/three-vrm
glTF can be used as a library of various entities as specified here: https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html#scenes-overview
A glTF asset that does not contain any scenes SHOULD be treated as a library of individual entities such as materials or meshes.
Webaverse already has a method of doing this via a .metaversefile
https://github.com/webaverse/sword/blob/f6777403e2f883f985234ff5a8d1dd28a06f2e01/.metaversefile#L16
Steps:
- Exporting animations from tooling (ex. Blender)
- Importing animation data
- Retargeting animations to existing model
- https://github.com/V-Sekai/three-vrm-1-sandbox-mixamo/blob/b7a702c1855e7ab7775a95f81c97eab7c568b447/loadMixamoAnimation.js#L16
Challenges:
- Different avatar proportions
- Lack of existing tooling
The blender gltf exporter now has support for exporting animation only glTF files: https://github.com/KhronosGroup/glTF-Blender-IO/pull/1582