Skip to content

GLTF Rigged Avatars with NLA Animations – Unsolved Challenges #42

@EvieMarie

Description

@EvieMarie

Current successful working process:

  1. Rigged avatar creation.
  2. Imported into Mixamo.
  3. Export one skinned and xx unskinned animations.
  4. Import all into Blender.
  5. Save skinned avatar with all animations (Mixamo or other) through NLA process.
  6. Export as GLTF.
  7. Import into a world that accepts GLTF avatars. If world allows, animations can be called by animation name. Calling animation wildcard plays all animations at once.

CHALLENGE: appending additional animation with/without prop in an environment.

Example One (with prop): Avatar walks up to a table and sits (internal animation). Touches a coffee mug, picks it up and drinks (external animation)

Example Two (without prop): Avatar attends a music event and dances (internal animations). When the musician plays the Macarena, Avatar touches dance ball and chooses the Macarena Dance (external animation).

Discussions on topic have included possible avenues:

  1. animated skeleton (skinned with prop) appended to original skeleton or root?
  2. animated skeleton replacing existing skeleton within gltf (prop appended to specific bone).
  3. import/export problem
    • Blender exporter?
    • GLTF importer?
    • three.js bug?

** could solution already exist but not properly executed somewhere in process chain?

CHALLENGE: In order to make the above work in a generalized manner, Bone Mapping/Name Standardization/Scaling must also be considered:

  1. How many bones?
  2. Bone names?
  3. Mapping API to identify 1) and 2) above?
  4. How to apply adopted GLTF standards to any avatar – including the Mixamo skeletal animations.
  5. Scaling of unskinned animations to match current avatar size.

Metadata

Metadata

Assignees

No one assigned

    Labels

    oldis this still relevant ?

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions