diff options
author | metamuffin <metamuffin@disroot.org> | 2025-02-19 19:56:54 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-02-19 19:56:54 +0100 |
commit | 6edc755bc040bc67ad3cd88fa694e9d29daf4a3b (patch) | |
tree | 8225927c6274d01cb5b4889a8827375ed42b4977 | |
parent | d0410e8a61ccc189b760cbd199d1d690f9d75b9a (diff) | |
download | weareserver-6edc755bc040bc67ad3cd88fa694e9d29daf4a3b.tar weareserver-6edc755bc040bc67ad3cd88fa694e9d29daf4a3b.tar.bz2 weareserver-6edc755bc040bc67ad3cd88fa694e9d29daf4a3b.tar.zst |
animation res dicts
-rw-r--r-- | shared/src/resources.rs | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/shared/src/resources.rs b/shared/src/resources.rs index f9a22bf..5e2e268 100644 --- a/shared/src/resources.rs +++ b/shared/src/resources.rs @@ -75,11 +75,13 @@ macro_rules! resource_dicts { resource_dicts!( pub struct Prefab { name: String, - mesh[multi]: (Affine3A, Resource<MeshPart>), + mesh[multi]: (Affine3A, Resource<MeshPart>), collision[multi]: (Affine3A, Resource<CollisionPart>), light[multi]: (Vec3A, Resource<LightPart>), armature[multi]: Resource<ArmaturePart>, particles[multi]: (Affine3A, Resource<ParticlesPart>), + animations[multi]: Resource<AnimationPart>, + avatar_info: Resource<AvatarInfoPart>, environment: Resource<EnvironmentPart>, } @@ -89,6 +91,32 @@ resource_dicts!( radius: f32, } + pub struct AnimationPart { + channel[multi]: Resource<AnimationChannel>, + } + + pub struct AnimationChannel { + t_mesh_translation: u32, + t_mesh_rotation: u32, + t_mesh_scale: u32, + t_mesh_morph_weight: (u32, u32), + t_joint_translation: (u32, u32), + t_joint_rotation: (u32, u32), + t_joint_scale: (u32, u32), + t_light_translation: u32, + time: Resource<Vec<f32>>, + value: Resource<Vec<Vec3A>>, + } + + pub struct AvatarInfoPart { + armature: u32, + camera_mount: u32, + camera_mount_offset: Vec3A, + a_walk: u32, + a_run: u32, + a_sit: u32, + } + pub struct EnvironmentPart { skybox: Resource<Image<'static>>, sun: (Vec3A, Vec3A), |