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
Affected Crates
lambda-rs
Notes
- glTF animation targets node transforms
- Map nodes to bones correctly
- Test with Khronos glTF samples