gltf-extensions icon indicating copy to clipboard operation
gltf-extensions copied to clipboard

Applying Animations Stored in a Separate GLTF

Open robertlong opened this issue 3 years ago • 1 comments

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

robertlong avatar Dec 23 '21 23:12 robertlong

The blender gltf exporter now has support for exporting animation only glTF files: https://github.com/KhronosGroup/glTF-Blender-IO/pull/1582

robertlong avatar Mar 17 '22 23:03 robertlong