Skip to content

[Feature] glTF animation import #164

Description

@vmarcella

Overview

Extend the glTF loader to import skeletal animations, bones, and skinning data.

Current State

No response

Scope

Goals:

  • Import skeleton/joints from glTF
  • Import animation clips
  • Import skin data (weights, indices)
  • Support multiple animations per file

Non-Goals:

  • Morph target animation
  • Animation compression

Proposed API

pub struct GltfAsset {
  pub meshes: Vec<GltfMesh>,
  pub materials: Vec<GltfMaterial>,
  pub textures: Vec<ImageAsset>,
  pub skeletons: Vec<Skeleton>,
  pub animations: Vec<SkeletalAnimationClip>,
  pub skins: Vec<GltfSkin>,
}

pub struct GltfSkin {
  pub skeleton_index: usize,
  pub joint_indices: Vec<[u8; 4]>,
  pub joint_weights: Vec<[f32; 4]>,
}

Acceptance Criteria

  • Skeleton extracted from glTF joints
  • Animation clips extracted with correct timing
  • Skin weights and indices extracted
  • Works with standard glTF test models
  • Example loading and playing animated model

Affected Crates

lambda-rs

Notes

  • glTF animation targets node transforms
  • Map nodes to bones correctly
  • Test with Khronos glTF samples

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    animationAll things related to animationsenhancementNew feature or requestlambda-rsIssues pertaining to the core framework

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions