Skip to content

[Feature] glTF animation import #164

@vmarcella

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

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