Add tiger mob

This commit is contained in:
Snowram 2020-06-11 00:29:16 +02:00 committed by jshipsey
parent 76354aa3cf
commit 9fec5f3d14
37 changed files with 379 additions and 86 deletions

View File

@ -262,6 +262,10 @@
"tarasque": {
"keyword": "tarasque",
"generic": "Tarasque"
},
"tiger": {
"keyword": "tiger",
"generic": "Tiger"
}
}
},

BIN
assets/voxygen/voxel/npc/tiger/female/ears.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/female/foot_bl.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/female/foot_br.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/female/foot_fl.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/female/foot_fr.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/female/head_lower.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/female/head_upper.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/female/jaw.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/female/leg_bl.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/female/leg_br.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/female/leg_fl.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/female/leg_fr.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/female/tail.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/female/torso_back.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/female/torso_front.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/male/ears.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/male/foot_bl.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/male/foot_br.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/male/foot_fl.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/male/foot_fr.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/male/head_lower.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/male/head_upper.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/male/jaw.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/male/leg_bl.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/male/leg_br.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/male/leg_fl.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/male/leg_fr.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/male/tail.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/male/torso_back.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/tiger/male/torso_front.vox (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -300,4 +300,64 @@
central: ("npc.tarasque.male.tail"),
),
),
(Tiger, Male): (
upper: (
offset: (-4.0, -5.5, -6.5),
central: ("npc.tiger.male.head_upper"),
),
lower: (
offset: (-4.0, -5.5, -4.0),
central: ("npc.tiger.male.head_lower"),
),
jaw: (
offset: (-2.0, -2.5, -1.0),
central: ("npc.tiger.male.jaw"),
),
torso_f: (
offset: (-6.0, -6.0, -5.5),
central: ("npc.tiger.male.torso_front"),
),
torso_b: (
offset: (-6.0, -6.0, -5.0),
central: ("npc.tiger.male.torso_back"),
),
ears: (
offset: (-5.0, -0.5, -1.5),
central: ("npc.tiger.male.ears"),
),
tail: (
offset: (-1.0, -3.0, -4.0),
central: ("npc.tiger.male.tail"),
),
),
(Tiger, Female): (
upper: (
offset: (-4.0, -5.5, -6.5),
central: ("npc.tiger.female.head_upper"),
),
lower: (
offset: (-4.0, -5.5, -4.0),
central: ("npc.tiger.female.head_lower"),
),
jaw: (
offset: (-2.0, -2.5, -1.0),
central: ("npc.tiger.female.jaw"),
),
torso_f: (
offset: (-6.0, -6.0, -5.5),
central: ("npc.tiger.female.torso_front"),
),
torso_b: (
offset: (-6.0, -6.0, -5.0),
central: ("npc.tiger.female.torso_back"),
),
ears: (
offset: (-5.0, -0.5, -1.5),
central: ("npc.tiger.female.ears"),
),
tail: (
offset: (-1.0, -3.0, -4.0),
central: ("npc.tiger.female.tail"),
),
),
})

View File

@ -339,4 +339,72 @@
lateral: ("npc.tarasque.female.foot_rb"),
),
),
(Tiger, Male): (
leg_lf: (
offset: (-1.5, -1.5, -2.5),
lateral: ("npc.tiger.male.leg_lf"),
),
leg_rf: (
offset: (-1.5, -1.5, -2.5),
lateral: ("npc.tiger.male.leg_rf"),
),
leg_lb: (
offset: (-1.5, -4.0, -3.5),
lateral: ("npc.tiger.male.leg_lb"),
),
leg_rb: (
offset: (-1.5, -4.0, -3.5),
lateral: ("npc.tiger.male.leg_rb"),
),
foot_lf: (
offset: (-1.5, -1.5, -2.5),
lateral: ("npc.tiger.male.foot_lf"),
),
foot_rf: (
offset: (-1.5, -1.5, -2.5),
lateral: ("npc.tiger.male.foot_rf"),
),
foot_lb: (
offset: (-1.5, -4.0, -3.5),
lateral: ("npc.tiger.male.foot_lb"),
),
foot_rb: (
offset: (-1.5, -4.0, -3.5),
lateral: ("npc.tiger.male.foot_rb"),
),
),
(Tiger, Female): (
leg_lf: (
offset: (-1.5, -1.5, -2.5),
lateral: ("npc.tiger.female.leg_lf"),
),
leg_rf: (
offset: (-1.5, -1.5, -2.5),
lateral: ("npc.tiger.female.leg_rf"),
),
leg_lb: (
offset: (-1.5, -4.0, -3.5),
lateral: ("npc.tiger.female.leg_lb"),
),
leg_rb: (
offset: (-1.5, -2.0, -3.5),
lateral: ("npc.tiger.female.leg_rb"),
),
foot_lf: (
offset: (-1.5, -1.5, -2.5),
lateral: ("npc.tiger.female.foot_lf"),
),
foot_rf: (
offset: (-1.5, -1.5, -2.5),
lateral: ("npc.tiger.female.foot_rf"),
),
foot_lb: (
offset: (-1.5, -4.0, -3.5),
lateral: ("npc.tiger.female.foot_lb"),
),
foot_rb: (
offset: (-1.5, -2.0, -3.5),
lateral: ("npc.tiger.female.foot_rb"),
),
),
})

View File

@ -29,6 +29,7 @@ impl From<Body> for super::Body {
pub enum Species {
Grolgar = 0,
Saber = 1,
Tiger = 2,
Tuskram = 3,
Lion = 6,
Tarasque = 7,
@ -41,6 +42,7 @@ pub enum Species {
pub struct AllSpecies<SpeciesMeta> {
pub grolgar: SpeciesMeta,
pub saber: SpeciesMeta,
pub tiger: SpeciesMeta,
pub tuskram: SpeciesMeta,
pub lion: SpeciesMeta,
pub tarasque: SpeciesMeta,
@ -54,6 +56,7 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
match index {
Species::Grolgar => &self.grolgar,
Species::Saber => &self.saber,
Species::Tiger => &self.tiger,
Species::Tuskram => &self.tuskram,
Species::Lion => &self.lion,
Species::Tarasque => &self.tarasque,
@ -61,9 +64,10 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
}
}
pub const ALL_SPECIES: [Species; 5] = [
pub const ALL_SPECIES: [Species; 6] = [
Species::Grolgar,
Species::Saber,
Species::Tiger,
Species::Tuskram,
Species::Lion,
Species::Tarasque,

View File

@ -28,6 +28,60 @@ pub struct QuadrupedMediumSkeleton {
foot_rb: Bone,
}
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const HEAD_UPPER_X: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const HEAD_UPPER_Z: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const HEAD_LOWER_X: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const HEAD_LOWER_Z: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const JAW_X: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const JAW_Z: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const TAIL_X: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const TAIL_Z: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const TORSO_BACK_X: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const TORSO_BACK_Z: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const TORSO_MID_X: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const TORSO_MID_Z: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const EARS_X: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const EARS_Z: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const LEG_FRONT_X: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const LEG_FRONT_Y: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const LEG_FRONT_Z: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const LEG_BACK_X: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const LEG_BACK_Y: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const LEG_BACK_Z: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const FEET_FRONT_X: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const FEET_FRONT_Y: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const FEET_FRONT_Z: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const FEET_BACK_X: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const FEET_BACK_Y: f32 = 0.0;
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
const FEET_BACK_Z: f32 = 0.0;
impl QuadrupedMediumSkeleton {
pub fn new() -> Self { Self::default() }
}
@ -140,6 +194,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Tuskram, _) => (9.0, 12.0),
(Lion, _) => (12.5, 14.0),
(Tarasque, _) => (12.0, 19.0),
(Tiger, _) => (*HEAD_UPPER_X, *HEAD_UPPER_Z),
},
head_lower: match (body.species, body.body_type) {
(Grolgar, _) => (-4.0, -7.0),
@ -147,6 +202,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Tuskram, _) => (-3.0, -1.0),
(Lion, _) => (-5.0, -1.0),
(Tarasque, _) => (-5.0, -6.0),
(Tiger, _) => (*HEAD_LOWER_X, *HEAD_LOWER_Z),
},
jaw: match (body.species, body.body_type) {
(Grolgar, _) => (3.0, -5.0),
@ -154,6 +210,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Tuskram, _) => (2.0, -2.0),
(Lion, _) => (2.0, -3.0),
(Tarasque, _) => (4.0, -9.0),
(Tiger, _) => (*JAW_X, *JAW_Z),
},
tail: match (body.species, body.body_type) {
(Grolgar, _) => (-6.0, -2.0),
@ -161,6 +218,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Tuskram, _) => (-6.0, -2.0),
(Lion, _) => (-8.0, -6.0),
(Tarasque, _) => (-7.0, -2.0),
(Tiger, _) => (*TAIL_X, *TAIL_Z),
},
torso_back: match (body.species, body.body_type) {
(Grolgar, _) => (4.0, 11.0),
@ -168,6 +226,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Tuskram, _) => (4.0, 9.0),
(Lion, _) => (4.0, 10.0),
(Tarasque, _) => (4.0, 9.0),
(Tiger, _) => (*TORSO_BACK_X, *TORSO_BACK_Z),
},
torso_mid: match (body.species, body.body_type) {
(Grolgar, _) => (-7.0, 10.5),
@ -175,6 +234,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Tuskram, _) => (-7.0, 9.0),
(Lion, _) => (-9.0, 9.0),
(Tarasque, _) => (-7.0, 8.0),
(Tiger, _) => (*TORSO_MID_X, *TORSO_MID_Z),
},
ears: match (body.species, body.body_type) {
(Grolgar, _) => (-1.0, 5.0),
@ -182,6 +242,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Tuskram, _) => (10.0, 2.0),
(Lion, _) => (-2.0, 4.0),
(Tarasque, _) => (1.5, -2.0),
(Tiger, _) => (*EARS_X, *EARS_Z),
},
leg_f: match (body.species, body.body_type) {
(Grolgar, _) => (5.0, 6.0, 2.0),
@ -189,6 +250,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Tuskram, _) => (4.0, 6.0, 4.5),
(Lion, _) => (5.0, 6.0, 3.0),
(Tarasque, _) => (4.0, 6.0, 3.0),
(Tiger, _) => (*LEG_FRONT_X, *LEG_FRONT_Y, *LEG_FRONT_Z),
},
leg_b: match (body.species, body.body_type) {
(Grolgar, _) => (5.0, -4.0, 3.0),
@ -196,6 +258,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Tuskram, _) => (4.0, -8.0, 5.5),
(Lion, _) => (5.5, -8.0, 3.5),
(Tarasque, _) => (4.0, -8.0, 3.5),
(Tiger, _) => (*LEG_BACK_X, *LEG_BACK_Y, *LEG_BACK_Z),
},
feet_f: match (body.species, body.body_type) {
(Grolgar, _) => (5.0, 6.0, 2.0),
@ -203,6 +266,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Tuskram, _) => (4.0, 6.0, 4.5),
(Lion, _) => (5.0, 6.0, 3.0),
(Tarasque, _) => (4.0, 6.0, 3.0),
(Tiger, _) => (*FEET_FRONT_X, *FEET_FRONT_Y, *FEET_FRONT_Z),
},
feet_b: match (body.species, body.body_type) {
(Grolgar, _) => (5.0, -4.0, 3.0),
@ -210,6 +274,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Tuskram, _) => (4.0, -8.0, 5.5),
(Lion, _) => (5.5, -8.0, 3.5),
(Tarasque, _) => (4.0, -8.0, 3.5),
(Tiger, _) => (*FEET_BACK_X, *FEET_BACK_Y, *FEET_BACK_Z),
},
height: match (body.species, body.body_type) {
(Grolgar, _) => (1.2),
@ -217,6 +282,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Tuskram, _) => (1.0),
(Lion, _) => (1.4),
(Tarasque, _) => (1.1),
(Tiger, _) => (1.0),
},
}
}

View File

@ -1422,90 +1422,6 @@ impl QuadrupedMediumLateralSpec {
.unwrap()
}
pub fn mesh_foot_lf(
&self,
species: QMSpecies,
body_type: QMBodyType,
generate_mesh: impl FnOnce(&Segment, Vec3<f32>) -> Mesh<FigurePipeline>,
) -> Mesh<FigurePipeline> {
let spec = match self.0.get(&(species, body_type)) {
Some(spec) => spec,
None => {
error!(
"No foot specification exists for the combination of {:?} and {:?}",
species, body_type
);
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh);
},
};
let lateral = graceful_load_segment(&spec.foot_lf.lateral.0);
generate_mesh(&lateral, Vec3::from(spec.foot_lf.offset))
}
pub fn mesh_foot_rf(
&self,
species: QMSpecies,
body_type: QMBodyType,
generate_mesh: impl FnOnce(&Segment, Vec3<f32>) -> Mesh<FigurePipeline>,
) -> Mesh<FigurePipeline> {
let spec = match self.0.get(&(species, body_type)) {
Some(spec) => spec,
None => {
error!(
"No foot specification exists for the combination of {:?} and {:?}",
species, body_type
);
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh);
},
};
let lateral = graceful_load_segment(&spec.foot_rf.lateral.0);
generate_mesh(&lateral, Vec3::from(spec.foot_rf.offset))
}
pub fn mesh_foot_lb(
&self,
species: QMSpecies,
body_type: QMBodyType,
generate_mesh: impl FnOnce(&Segment, Vec3<f32>) -> Mesh<FigurePipeline>,
) -> Mesh<FigurePipeline> {
let spec = match self.0.get(&(species, body_type)) {
Some(spec) => spec,
None => {
error!(
"No foot specification exists for the combination of {:?} and {:?}",
species, body_type
);
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh);
},
};
let lateral = graceful_load_segment(&spec.foot_lb.lateral.0);
generate_mesh(&lateral, Vec3::from(spec.foot_lb.offset))
}
pub fn mesh_foot_rb(
&self,
species: QMSpecies,
body_type: QMBodyType,
generate_mesh: impl FnOnce(&Segment, Vec3<f32>) -> Mesh<FigurePipeline>,
) -> Mesh<FigurePipeline> {
let spec = match self.0.get(&(species, body_type)) {
Some(spec) => spec,
None => {
error!(
"No foot specification exists for the combination of {:?} and {:?}",
species, body_type
);
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh);
},
};
let lateral = graceful_load_segment(&spec.foot_rb.lateral.0);
generate_mesh(&lateral, Vec3::from(spec.foot_rb.offset))
}
pub fn mesh_leg_lf(
&self,
species: QMSpecies,
@ -1589,6 +1505,90 @@ impl QuadrupedMediumLateralSpec {
generate_mesh(&lateral, Vec3::from(spec.leg_rb.offset))
}
pub fn mesh_foot_lf(
&self,
species: QMSpecies,
body_type: QMBodyType,
generate_mesh: impl FnOnce(&Segment, Vec3<f32>) -> Mesh<FigurePipeline>,
) -> Mesh<FigurePipeline> {
let spec = match self.0.get(&(species, body_type)) {
Some(spec) => spec,
None => {
error!(
"No foot specification exists for the combination of {:?} and {:?}",
species, body_type
);
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh);
},
};
let lateral = graceful_load_segment(&spec.foot_lf.lateral.0);
generate_mesh(&lateral, Vec3::from(spec.foot_lf.offset))
}
pub fn mesh_foot_rf(
&self,
species: QMSpecies,
body_type: QMBodyType,
generate_mesh: impl FnOnce(&Segment, Vec3<f32>) -> Mesh<FigurePipeline>,
) -> Mesh<FigurePipeline> {
let spec = match self.0.get(&(species, body_type)) {
Some(spec) => spec,
None => {
error!(
"No foot specification exists for the combination of {:?} and {:?}",
species, body_type
);
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh);
},
};
let lateral = graceful_load_segment(&spec.foot_rf.lateral.0);
generate_mesh(&lateral, Vec3::from(spec.foot_rf.offset))
}
pub fn mesh_foot_lb(
&self,
species: QMSpecies,
body_type: QMBodyType,
generate_mesh: impl FnOnce(&Segment, Vec3<f32>) -> Mesh<FigurePipeline>,
) -> Mesh<FigurePipeline> {
let spec = match self.0.get(&(species, body_type)) {
Some(spec) => spec,
None => {
error!(
"No foot specification exists for the combination of {:?} and {:?}",
species, body_type
);
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh);
},
};
let lateral = graceful_load_segment(&spec.foot_lb.lateral.0);
generate_mesh(&lateral, Vec3::from(spec.foot_lb.offset))
}
pub fn mesh_foot_rb(
&self,
species: QMSpecies,
body_type: QMBodyType,
generate_mesh: impl FnOnce(&Segment, Vec3<f32>) -> Mesh<FigurePipeline>,
) -> Mesh<FigurePipeline> {
let spec = match self.0.get(&(species, body_type)) {
Some(spec) => spec,
None => {
error!(
"No foot specification exists for the combination of {:?} and {:?}",
species, body_type
);
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh);
},
};
let lateral = graceful_load_segment(&spec.foot_rb.lateral.0);
generate_mesh(&lateral, Vec3::from(spec.foot_rb.offset))
}
}
////

View File

@ -936,7 +936,7 @@ impl FigureMgr {
is_player,
);
},
Body::QuadrupedMedium(_) => {
Body::QuadrupedMedium(quadruped_body) => {
let skeleton_attr = &self
.quadruped_medium_model_cache
.get_or_create_model(
@ -948,6 +948,7 @@ impl FigureMgr {
None,
)
.1;
let ref skeleton_attr = quadruped_body.into();
let state = self
.quadruped_medium_states