catoblepas, bonerattler, rabbit, improved anims

This commit is contained in:
jshipsey 2020-07-27 22:20:13 -04:00
parent baf67f303e
commit 8991b60929
48 changed files with 525 additions and 31 deletions

View File

@ -278,6 +278,14 @@
"mouflon": {
"keyword": "mouflon",
"generic": "Mouflon"
},
"catoblepas": {
"keyword": "catoblepas",
"generic": "Catoblepas"
},
"bonerattler": {
"keyword": "bonerattler",
"generic": "Bonerattler"
}
}
},
@ -441,6 +449,10 @@
"hyena": {
"keyword": "hyena",
"generic": "Hyena"
},
"rabbit": {
"keyword": "rabbit",
"generic": "Rabbit"
}
}
},

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

View File

@ -539,4 +539,124 @@
central: ("npc.mouflon.male.tail"),
),
),
(Catoblepas, Male): (
upper: (
offset: (-13.0, 0.0, -4.5),
central: ("npc.catoblepas.male.head_upper"),
),
lower: (
offset: (-4.0, -10.0, -12.0),
central: ("npc.catoblepas.male.head_lower"),
),
jaw: (
offset: (-4.0, 0.0, -3.0),
central: ("npc.catoblepas.male.jaw"),
),
torso_front: (
offset: (-7.0, -10.0, -11.5),
central: ("npc.catoblepas.male.torso_front"),
),
torso_back: (
offset: (-5.0, -9.0, -6.5),
central: ("npc.catoblepas.male.torso_back"),
),
ears: (
offset: (-2.0, -12.0, -10.0),
central: ("armor.empty"),
),
tail: (
offset: (-2.0, -12.0, -10.0),
central: ("npc.catoblepas.male.tail"),
),
),
(Catoblepas, Female): (
upper: (
offset: (-13.0, 0.0, -4.5),
central: ("npc.catoblepas.male.head_upper"),
),
lower: (
offset: (-4.0, -10.0, -12.0),
central: ("npc.catoblepas.male.head_lower"),
),
jaw: (
offset: (-4.0, 0.0, -3.0),
central: ("npc.catoblepas.male.jaw"),
),
torso_front: (
offset: (-7.0, -10.0, -11.5),
central: ("npc.catoblepas.male.torso_front"),
),
torso_back: (
offset: (-5.0, -9.0, -6.5),
central: ("npc.catoblepas.male.torso_back"),
),
ears: (
offset: (-2.0, -12.0, -10.0),
central: ("armor.empty"),
),
tail: (
offset: (-2.0, -12.0, -10.0),
central: ("npc.catoblepas.male.tail"),
),
),
(Bonerattler, Male): (
upper: (
offset: (-4.5, 0.0, -4.5),
central: ("npc.bonerattler.male.head_upper"),
),
lower: (
offset: (-4.5, -2.0, -5.0),
central: ("npc.bonerattler.male.head_lower"),
),
jaw: (
offset: (-3.5, 0.0, -2.0),
central: ("npc.bonerattler.male.jaw"),
),
torso_front: (
offset: (-5.5, -7.0, -6.5),
central: ("npc.bonerattler.male.torso_front"),
),
torso_back: (
offset: (-5.5, -11.0, -6.5),
central: ("npc.bonerattler.male.torso_back"),
),
ears: (
offset: (-4.0, -1.0, 0.0),
central: ("armor.empty"),
),
tail: (
offset: (-3.5, -14.0, -10.0),
central: ("npc.bonerattler.male.tail"),
),
),
(Bonerattler, Female): (
upper: (
offset: (-4.5, 0.0, -4.5),
central: ("npc.bonerattler.male.head_upper"),
),
lower: (
offset: (-4.5, -2.0, -5.0),
central: ("npc.bonerattler.male.head_lower"),
),
jaw: (
offset: (-3.5, 0.0, -2.0),
central: ("npc.bonerattler.male.jaw"),
),
torso_front: (
offset: (-5.5, -7.0, -6.5),
central: ("npc.bonerattler.male.torso_front"),
),
torso_back: (
offset: (-5.5, -11.0, -6.5),
central: ("npc.bonerattler.male.torso_back"),
),
ears: (
offset: (-4.0, -1.0, 0.0),
central: ("armor.empty"),
),
tail: (
offset: (-3.5, -14.0, -10.0),
central: ("npc.bonerattler.male.tail"),
),
),
})

View File

@ -611,4 +611,140 @@
lateral: ("npc.mouflon.male.foot_br"),
),
),
(Catoblepas, Male): (
leg_fl: (
offset: (-2.5, -4.0, -4.5),
lateral: ("npc.catoblepas.male.leg_fl"),
),
leg_fr: (
offset: (-2.5, -4.0, -4.5),
lateral: ("npc.catoblepas.male.leg_fr"),
),
leg_bl: (
offset: (-2.0, -3.0 , -4.0),
lateral: ("npc.catoblepas.male.leg_bl"),
),
leg_br: (
offset: (-2.0, -3.0, -4.0),
lateral: ("npc.catoblepas.male.leg_br"),
),
foot_fl: (
offset: (-3.0, -7.0, -11.0),
lateral: ("npc.catoblepas.male.foot_fl"),
),
foot_fr: (
offset: (-3.0, -7.0, -11.0),
lateral: ("npc.catoblepas.male.foot_fr"),
),
foot_bl: (
offset: (-2.5, -3.5, -9.0),
lateral: ("npc.catoblepas.male.foot_bl"),
),
foot_br: (
offset: (-2.5, -3.5, -9.0),
lateral: ("npc.catoblepas.male.foot_br"),
),
),
(Catoblepas, Female): (
leg_fl: (
offset: (-2.5, -4.0, -4.5),
lateral: ("npc.catoblepas.male.leg_fl"),
),
leg_fr: (
offset: (-2.5, -4.0, -4.5),
lateral: ("npc.catoblepas.male.leg_fr"),
),
leg_bl: (
offset: (-2.0, -3.0 , -4.0),
lateral: ("npc.catoblepas.male.leg_bl"),
),
leg_br: (
offset: (-2.0, -3.0, -4.0),
lateral: ("npc.catoblepas.male.leg_br"),
),
foot_fl: (
offset: (-3.0, -7.0, -11.0),
lateral: ("npc.catoblepas.male.foot_fl"),
),
foot_fr: (
offset: (-3.0, -7.0, -11.0),
lateral: ("npc.catoblepas.male.foot_fr"),
),
foot_bl: (
offset: (-2.5, -3.5, -9.0),
lateral: ("npc.catoblepas.male.foot_bl"),
),
foot_br: (
offset: (-2.5, -3.5, -9.0),
lateral: ("npc.catoblepas.male.foot_br"),
),
),
(Bonerattler, Male): (
leg_fl: (
offset: (-1.5, -6.0, -3.0),
lateral: ("npc.bonerattler.male.leg_fl"),
),
leg_fr: (
offset: (-1.5, -6.0, -3.0),
lateral: ("npc.bonerattler.male.leg_fr"),
),
leg_bl: (
offset: (-1.5, -1.0, -3.0),
lateral: ("npc.bonerattler.male.leg_bl"),
),
leg_br: (
offset: (-1.5, -1.0, -3.0),
lateral: ("npc.bonerattler.male.leg_br"),
),
foot_fl: (
offset: (-2.5, -3.0, -6.0),
lateral: ("npc.bonerattler.male.foot_fl"),
),
foot_fr: (
offset: (-2.5, -3.0, -6.0),
lateral: ("npc.bonerattler.male.foot_fr"),
),
foot_bl: (
offset: (-2.5, -4.0, -6.0),
lateral: ("npc.bonerattler.male.foot_bl"),
),
foot_br: (
offset: (-2.5, -4.0, -6.0),
lateral: ("npc.bonerattler.male.foot_br"),
),
),
(Bonerattler, Female): (
leg_fl: (
offset: (-1.5, -6.0, -3.0),
lateral: ("npc.bonerattler.male.leg_fl"),
),
leg_fr: (
offset: (-1.5, -6.0, -3.0),
lateral: ("npc.bonerattler.male.leg_fr"),
),
leg_bl: (
offset: (-1.5, -1.0, -3.0),
lateral: ("npc.bonerattler.male.leg_bl"),
),
leg_br: (
offset: (-1.5, -1.0, -3.0),
lateral: ("npc.bonerattler.male.leg_br"),
),
foot_fl: (
offset: (-2.5, -3.0, -6.0),
lateral: ("npc.bonerattler.male.foot_fl"),
),
foot_fr: (
offset: (-2.5, -3.0, -6.0),
lateral: ("npc.bonerattler.male.foot_fr"),
),
foot_bl: (
offset: (-2.5, -4.0, -6.0),
lateral: ("npc.bonerattler.male.foot_bl"),
),
foot_br: (
offset: (-2.5, -4.0, -6.0),
lateral: ("npc.bonerattler.male.foot_br"),
),
),
})

View File

@ -378,4 +378,32 @@
central: ("npc.hyena.male.tail"),
),
),
(Rabbit, Male):(
head: (
offset: (-3.5, 0.0, -3.0),
central: ("npc.rabbit.male.head"),
),
chest: (
offset: (-2.5, -5.5, -3.0),
central: ("npc.rabbit.male.chest"),
),
tail: (
offset: (-1.5, -2.0, -1.0),
central: ("npc.rabbit.male.tail"),
),
),
(Rabbit, Female):(
head: (
offset: (-3.5, 0.0, -3.0),
central: ("npc.rabbit.male.head"),
),
chest: (
offset: (-2.5, -5.5, -3.0),
central: ("npc.rabbit.male.chest"),
),
tail: (
offset: (-1.5, -2.0, -1.0),
central: ("npc.rabbit.male.tail"),
),
),
})

View File

@ -46,11 +46,11 @@
lateral: ("npc.fox.male.foot_fr"),
),
left_back: (
offset: (-1.0, -2.0, -2.5),
offset: (-1.0, -2.0, -5.0),
lateral: ("npc.fox.male.foot_bl"),
),
right_back: (
offset: (-1.0, -2.0, -2.5),
offset: (-1.0, -2.0, -5.0),
lateral: ("npc.fox.male.foot_br"),
),
),
@ -64,11 +64,11 @@
lateral: ("npc.fox.female.foot_fr"),
),
left_back: (
offset: (-1.0, -2.0, -2.5),
offset: (-1.0, -2.0, -5.0),
lateral: ("npc.fox.female.foot_bl"),
),
right_back: (
offset: (-1.0, -2.0, -2.5),
offset: (-1.0, -2.0, -5.0),
lateral: ("npc.fox.female.foot_br"),
),
),
@ -457,11 +457,11 @@
lateral: ("npc.hyena.male.foot_fr"),
),
left_back: (
offset: (-1.5, -2.0, -4.5),
offset: (-1.5, -2.0, -6.5),
lateral: ("npc.hyena.male.foot_bl"),
),
right_back: (
offset: (-1.5, -2.0, -4.5),
offset: (-1.5, -2.0, -6.5),
lateral: ("npc.hyena.male.foot_br"),
),
),
@ -476,12 +476,48 @@
lateral: ("npc.hyena.male.foot_fr"),
),
left_back: (
offset: (-1.5, -2.0, -4.5),
offset: (-1.5, -2.0, -6.5),
lateral: ("npc.hyena.male.foot_bl"),
),
right_back: (
offset: (-1.5, -2.0, -4.5),
offset: (-1.5, -2.0, -6.5),
lateral: ("npc.hyena.male.foot_br"),
),
),
(Rabbit, Male): (
left_front: (
offset: (-1.5, -0.0, -2.0),
lateral: ("npc.rabbit.male.foot_fl"),
),
right_front: (
offset: (-1.5, -0.0, -2.0),
lateral: ("npc.rabbit.male.foot_fr"),
),
left_back: (
offset: (-1.5, -3.0, -4.0),
lateral: ("npc.rabbit.male.foot_bl"),
),
right_back: (
offset: (-1.5, -3.0, -4.0),
lateral: ("npc.rabbit.male.foot_br"),
),
),
(Rabbit, Female): (
left_front: (
offset: (-1.5, -0.0, -2.0),
lateral: ("npc.rabbit.male.foot_fl"),
),
right_front: (
offset: (-1.5, -0.0, -2.0),
lateral: ("npc.rabbit.male.foot_fr"),
),
left_back: (
offset: (-1.5, -3.0, -4.0),
lateral: ("npc.rabbit.male.foot_bl"),
),
right_back: (
offset: (-1.5, -3.0, -4.0),
lateral: ("npc.rabbit.male.foot_br"),
),
),
})

View File

@ -37,6 +37,8 @@ pub enum Species {
Wolf = 8,
Frostfang = 9,
Mouflon = 10,
Catoblepas = 11,
Bonerattler = 12,
}
/// Data representing per-species generic data.
@ -53,6 +55,8 @@ pub struct AllSpecies<SpeciesMeta> {
pub wolf: SpeciesMeta,
pub frostfang: SpeciesMeta,
pub mouflon: SpeciesMeta,
pub catoblepas: SpeciesMeta,
pub bonerattler: SpeciesMeta,
}
impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta> {
@ -70,11 +74,13 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
Species::Wolf => &self.wolf,
Species::Frostfang => &self.frostfang,
Species::Mouflon => &self.mouflon,
Species::Catoblepas => &self.catoblepas,
Species::Bonerattler => &self.bonerattler,
}
}
}
pub const ALL_SPECIES: [Species; 9] = [
pub const ALL_SPECIES: [Species; 11] = [
Species::Grolgar,
Species::Saber,
Species::Tiger,
@ -84,6 +90,8 @@ pub const ALL_SPECIES: [Species; 9] = [
Species::Wolf,
Species::Frostfang,
Species::Mouflon,
Species::Catoblepas,
Species::Bonerattler,
];
impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies<SpeciesMeta> {

View File

@ -41,6 +41,7 @@ pub enum Species {
Dodarock = 10,
Holladon = 11,
Hyena = 12,
Rabbit = 13,
}
/// Data representing per-species generic data.
@ -61,6 +62,7 @@ pub struct AllSpecies<SpeciesMeta> {
pub dodarock: SpeciesMeta,
pub holladon: SpeciesMeta,
pub hyena: SpeciesMeta,
pub rabbit: SpeciesMeta,
}
impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta> {
@ -82,11 +84,12 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
Species::Dodarock => &self.dodarock,
Species::Holladon => &self.holladon,
Species::Hyena => &self.hyena,
Species::Rabbit => &self.rabbit,
}
}
}
pub const ALL_SPECIES: [Species; 13] = [
pub const ALL_SPECIES: [Species; 14] = [
Species::Pig,
Species::Fox,
Species::Sheep,
@ -100,6 +103,7 @@ pub const ALL_SPECIES: [Species; 13] = [
Species::Dodarock,
Species::Holladon,
Species::Hyena,
Species::Rabbit,
];
impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies<SpeciesMeta> {

View File

@ -106,9 +106,10 @@ impl Animation for RunAnimation {
skeleton_attr.tail_front.0 + skeleton_attr.lean.0 * 2.0,
skeleton_attr.tail_front.1 + skeleton_attr.lean.0 * 2.0,
);
next.tail_front.ori = Quaternion::rotation_z(shortalt * 0.18 + tilt * 1.8)
* Quaternion::rotation_y(shortalt * 0.1)
* Quaternion::rotation_x(0.06 - skeleton_attr.lean.0 * 1.2 + x_tilt * 0.2);
next.tail_front.ori =
Quaternion::rotation_z(shortalt * 0.18 * skeleton_attr.lean.0 + tilt * 1.8)
* Quaternion::rotation_y(shortalt * 0.1)
* Quaternion::rotation_x(0.06 - skeleton_attr.lean.0 * 1.2 + x_tilt * 0.2);
next.tail_front.scale = Vec3::one();
next.tail_rear.offset = Vec3::new(
@ -116,9 +117,10 @@ impl Animation for RunAnimation {
skeleton_attr.tail_rear.0,
skeleton_attr.tail_rear.1 + shortalt * 0.6,
);
next.tail_rear.ori = Quaternion::rotation_z(shortalt * 0.25 + tilt * 1.6)
* Quaternion::rotation_y(shortalt * 0.1)
* Quaternion::rotation_x(-0.04 + x_tilt * 0.5);
next.tail_rear.ori =
Quaternion::rotation_z(shortalt * 0.25 * skeleton_attr.lean.0 + tilt * 1.6)
* Quaternion::rotation_y(shortalt * 0.1)
* Quaternion::rotation_x(-0.04 + x_tilt * 0.5);
next.tail_rear.scale = Vec3::one();
next.chest.offset = Vec3::new(0.0, skeleton_attr.chest.0, skeleton_attr.chest.1)

View File

@ -96,7 +96,7 @@ impl Animation for IdleAnimation {
next.torso_back.ori = Quaternion::rotation_y(-slow * 0.005)
* Quaternion::rotation_z(0.0)
* Quaternion::rotation_x(0.0);
next.torso_back.scale = Vec3::one();
next.torso_back.scale = Vec3::one() * 0.99;
next.ears.offset = Vec3::new(0.0, skeleton_attr.ears.0, skeleton_attr.ears.1);
next.ears.ori = Quaternion::rotation_x(0.0 + slower * 0.03);

View File

@ -183,6 +183,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Wolf, _) => (-0.5, 3.0),
(Frostfang, _) => (1.0, -2.0),
(Mouflon, _) => (-2.5, 6.0),
(Catoblepas, _) => (-1.0, -6.5),
(Bonerattler, _) => (0.0, -0.5),
},
head_lower: match (body.species, body.body_type) {
(Grolgar, _) => (1.0, -1.0),
@ -194,6 +196,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Wolf, _) => (-4.5, 2.0),
(Frostfang, _) => (2.0, 1.5),
(Mouflon, _) => (-1.0, 0.5),
(Catoblepas, _) => (19.5, -2.0),
(Bonerattler, _) => (7.0, -1.5),
},
jaw: match (body.species, body.body_type) {
(Grolgar, _) => (7.0, 1.5),
@ -205,6 +209,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Wolf, _) => (5.0, -3.0),
(Frostfang, _) => (4.0, -3.0),
(Mouflon, _) => (10.5, -4.0),
(Catoblepas, _) => (1.0, -6.0),
(Bonerattler, _) => (3.5, -3.0),
},
tail: match (body.species, body.body_type) {
(Grolgar, _) => (-11.5, -0.5),
@ -216,6 +222,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Wolf, _) => (-11.0, 0.0),
(Frostfang, _) => (-7.0, -3.5),
(Mouflon, _) => (-10.5, 3.0),
(Catoblepas, _) => (-8.5, -2.0),
(Bonerattler, _) => (-9.0, 2.5),
},
torso_front: match (body.species, body.body_type) {
(Grolgar, _) => (10.0, 13.0),
@ -227,6 +235,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Wolf, _) => (12.0, 13.0),
(Frostfang, _) => (9.0, 11.5),
(Mouflon, _) => (11.0, 13.5),
(Catoblepas, _) => (7.5, 19.5),
(Bonerattler, _) => (6.0, 12.5),
},
torso_back: match (body.species, body.body_type) {
(Grolgar, _) => (-10.0, 1.5),
@ -238,6 +248,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Wolf, _) => (-12.5, 1.0),
(Frostfang, _) => (-10.5, 0.0),
(Mouflon, _) => (-8.5, -0.5),
(Catoblepas, _) => (-8.5, -4.5),
(Bonerattler, _) => (-5.0, 0.0),
},
ears: match (body.species, body.body_type) {
(Grolgar, _) => (5.0, 8.0),
@ -249,6 +261,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Wolf, _) => (3.0, 2.5),
(Frostfang, _) => (2.0, 3.5),
(Mouflon, _) => (2.5, 5.0),
(Catoblepas, _) => (11.0, -3.0),
(Bonerattler, _) => (2.0, 3.5),
},
leg_f: match (body.species, body.body_type) {
(Grolgar, _) => (-7.0, 4.0, 0.0),
@ -260,6 +274,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Wolf, _) => (4.5, -6.5, -1.0),
(Frostfang, _) => (5.5, -5.5, -2.0),
(Mouflon, _) => (4.0, -5.0, -5.0),
(Catoblepas, _) => (7.0, 2.0, -6.0),
(Bonerattler, _) => (5.5, 3.5, -4.0),
},
leg_b: match (body.species, body.body_type) {
(Grolgar, _) => (6.0, -6.5, -5.5),
@ -271,6 +287,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Wolf, _) => (5.0, -6.5, -2.5),
(Frostfang, _) => (3.5, -4.5, -2.0),
(Mouflon, _) => (3.5, -8.0, -4.5),
(Catoblepas, _) => (6.0, -2.5, -2.5),
(Bonerattler, _) => (6.5, -9.5, -4.0),
},
feet_f: match (body.species, body.body_type) {
(Grolgar, _) => (0.0, -9.0, -7.0),
@ -282,6 +300,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Wolf, _) => (0.5, 0.0, -2.0),
(Frostfang, _) => (0.5, 1.5, -3.5),
(Mouflon, _) => (-0.5, -0.5, -1.5),
(Catoblepas, _) => (1.0, 4.0, -3.0),
(Bonerattler, _) => (-0.5, -3.0, -2.5),
},
feet_b: match (body.species, body.body_type) {
(Grolgar, _) => (0.0, 0.0, -5.0),
@ -293,6 +313,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Wolf, _) => (0.0, -1.0, -1.5),
(Frostfang, _) => (0.0, -1.5, -3.5),
(Mouflon, _) => (-1.0, 0.0, -2.5),
(Catoblepas, _) => (0.5, 0.5, -3.0),
(Bonerattler, _) => (0.0, 3.0, -2.5),
},
scaler: match (body.species, body.body_type) {
(Grolgar, _) => (1.3),
@ -304,6 +326,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Wolf, _) => (1.0),
(Frostfang, _) => (1.0),
(Mouflon, _) => (1.0),
(Catoblepas, _) => (1.3),
(Bonerattler, _) => (1.0),
},
dampen: match (body.species, body.body_type) {
(Grolgar, _) => (0.5),
@ -315,6 +339,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Wolf, _) => (1.0),
(Frostfang, _) => (1.0),
(Mouflon, _) => (1.0),
(Catoblepas, _) => (0.6),
(Bonerattler, _) => (0.6),
},
maximize: match (body.species, body.body_type) {
(Grolgar, _) => (2.0),
@ -326,6 +352,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Wolf, _) => (1.0),
(Frostfang, _) => (1.2),
(Mouflon, _) => (1.1),
(Catoblepas, _) => (0.9),
(Bonerattler, _) => (0.8),
},
tempo: match (body.species, body.body_type) {
(Grolgar, _) => (0.95),
@ -337,6 +365,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Wolf, _) => (1.1),
(Frostfang, _) => (1.0),
(Mouflon, _) => (0.85),
(Catoblepas, _) => (0.8),
(Bonerattler, _) => (1.0),
},
}
}

View File

@ -24,9 +24,11 @@ impl Animation for JumpAnimation {
next.head.ori = Quaternion::rotation_z(-0.8) * Quaternion::rotation_x(0.5);
next.head.scale = Vec3::one();
next.chest.offset = Vec3::new(0.0, skeleton_attr.chest.0, skeleton_attr.chest.1) / 11.0;
next.chest.offset = Vec3::new(0.0, skeleton_attr.chest.0, skeleton_attr.chest.1)
* skeleton_attr.scaler
/ 11.0;
next.chest.ori = Quaternion::rotation_y(0.0);
next.chest.scale = Vec3::one() / 11.0;
next.chest.scale = Vec3::one() * skeleton_attr.scaler / 11.0;
next.leg_fl.offset = Vec3::new(
-skeleton_attr.feet_f.0,

View File

@ -127,6 +127,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Dodarock, _) => (6.0, -2.0),
(Holladon, _) => (7.0, 1.0),
(Hyena, _) => (7.5, 2.0),
(Rabbit, _) => (4.0, 3.0),
},
chest: match (body.species, body.body_type) {
(Pig, _) => (0.0, 7.0),
@ -142,6 +143,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Dodarock, _) => (-2.0, 9.0),
(Holladon, _) => (-2.0, 9.0),
(Hyena, _) => (-2.0, 9.0),
(Rabbit, _) => (-2.0, 6.0),
},
feet_f: match (body.species, body.body_type) {
(Pig, _) => (4.5, 3.0, -2.0),
@ -157,10 +159,11 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Dodarock, _) => (5.0, 5.0, -2.5),
(Holladon, _) => (5.0, 4.0, -2.5),
(Hyena, _) => (2.5, 5.0, -4.0),
(Rabbit, _) => (3.0, 3.0, -3.0),
},
feet_b: match (body.species, body.body_type) {
(Pig, _) => (3.5, -2.0, -1.5),
(Fox, _) => (3.0, -3.0, -5.0),
(Fox, _) => (3.0, -3.0, -2.0),
(Sheep, _) => (3.5, -3.5, -2.0),
(Boar, _) => (3.0, -3.0, -2.5),
(Jackalope, _) => (3.5, -2.0, 0.0),
@ -171,7 +174,8 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Quokka, _) => (4.0, -4.0, -1.0),
(Dodarock, _) => (3.5, -3.0, -4.0),
(Holladon, _) => (4.0, -2.0, -3.0),
(Hyena, _) => (3.0, -5.0, -4.5),
(Hyena, _) => (3.0, -5.0, -2.5),
(Rabbit, _) => (3.5, -2.0, -1.0),
},
tail: match (body.species, body.body_type) {
(Pig, _) => (-4.5, 2.5),
@ -179,7 +183,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Sheep, _) => (-5.0, 0.0),
(Boar, _) => (-6.0, 0.0),
(Jackalope, _) => (-4.0, 2.0),
(Skunk, _) => (-3.0, 1.5),
(Skunk, _) => (-4.0, 0.5),
(Cat, _) => (-3.5, 2.0),
(Batfox, _) => (0.0, 5.0),
(Raccoon, _) => (-4.0, 1.0),
@ -187,6 +191,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Dodarock, _) => (0.0, 5.0),
(Holladon, _) => (-1.0, 4.0),
(Hyena, _) => (-7.0, 0.0),
(Rabbit, _) => (-4.0, -0.0),
},
scaler: match (body.species, body.body_type) {
(Pig, _) => (0.9),
@ -201,7 +206,8 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Quokka, _) => (1.0),
(Dodarock, _) => (1.2),
(Holladon, _) => (1.4),
(Hyena, _) => (0.8),
(Hyena, _) => (1.0),
(Rabbit, _) => (0.7),
},
tempo: match (body.species, body.body_type) {
(Pig, _) => (1.0),
@ -217,13 +223,14 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Dodarock, _) => (1.0),
(Holladon, _) => (1.0),
(Hyena, _) => (1.1),
(Rabbit, _) => (1.15),
},
maximize: match (body.species, body.body_type) {
(Pig, _) => (1.0),
(Fox, _) => (1.3),
(Sheep, _) => (1.1),
(Boar, _) => (1.4),
(Jackalope, _) => (1.0),
(Jackalope, _) => (1.2),
(Skunk, _) => (1.0),
(Cat, _) => (1.0),
(Batfox, _) => (1.0),
@ -232,13 +239,14 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Dodarock, _) => (1.0),
(Holladon, _) => (1.0),
(Hyena, _) => (1.4),
(Rabbit, _) => (1.3),
},
minimize: match (body.species, body.body_type) {
(Pig, _) => (0.6),
(Fox, _) => (1.3),
(Sheep, _) => (0.8),
(Boar, _) => (1.0),
(Jackalope, _) => (1.0),
(Jackalope, _) => (0.8),
(Skunk, _) => (0.9),
(Cat, _) => (0.8),
(Batfox, _) => (1.0),
@ -247,6 +255,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Dodarock, _) => (0.9),
(Holladon, _) => (0.7),
(Hyena, _) => (1.4),
(Rabbit, _) => (0.8),
},
spring: match (body.species, body.body_type) {
(Pig, _) => (1.0),
@ -262,6 +271,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Dodarock, _) => (0.9),
(Holladon, _) => (0.7),
(Hyena, _) => (1.4),
(Rabbit, _) => (2.5),
},
}
}

View File

@ -72,7 +72,7 @@ impl Animation for RunAnimation {
skeleton_attr.feet_f.1 + footverttf * 3.0 * skeleton_attr.maximize,
skeleton_attr.feet_f.2 + ((footvertf * -1.5).max(-1.0)),
);
next.leg_fl.ori = Quaternion::rotation_x(skeleton_attr.minimize * footverttf * 0.5)
next.leg_fl.ori = Quaternion::rotation_x(0.2 + skeleton_attr.minimize * footverttf * 0.65)
* Quaternion::rotation_z(tilt * -0.5)
* Quaternion::rotation_y(tilt * 1.5);
next.leg_fl.scale = Vec3::one() * 1.02;
@ -82,7 +82,7 @@ impl Animation for RunAnimation {
skeleton_attr.feet_f.1 + footvertt * 3.0 * skeleton_attr.minimize,
skeleton_attr.feet_f.2 + ((footvert * -1.5).max(-1.0)),
);
next.leg_fr.ori = Quaternion::rotation_x(skeleton_attr.maximize * footvertt * 0.5)
next.leg_fr.ori = Quaternion::rotation_x(0.2 + skeleton_attr.maximize * footvertt * 0.65)
* Quaternion::rotation_z(tilt * -0.5)
* Quaternion::rotation_y(tilt * 1.5);
next.leg_fr.scale = Vec3::one() * 1.02;
@ -92,7 +92,7 @@ impl Animation for RunAnimation {
skeleton_attr.feet_b.1 + footvertt * -1.4,
skeleton_attr.feet_b.2 + ((footvert * 1.5).max(-1.0)),
);
next.leg_bl.ori = Quaternion::rotation_x(skeleton_attr.maximize * footvertt * -0.6)
next.leg_bl.ori = Quaternion::rotation_x(-0.25 + skeleton_attr.maximize * footvertt * -0.8)
* Quaternion::rotation_y(tilt * 1.5)
* Quaternion::rotation_z(tilt * -1.5);
next.leg_bl.scale = Vec3::one() * 1.02;
@ -102,9 +102,10 @@ impl Animation for RunAnimation {
skeleton_attr.feet_b.1 + footverttf * -1.4,
skeleton_attr.feet_b.2 + ((footvertf * 1.5).max(-1.0)),
);
next.leg_br.ori = Quaternion::rotation_x(skeleton_attr.maximize * footverttf * -0.6)
* Quaternion::rotation_y(tilt * 1.5)
* Quaternion::rotation_z(tilt * -1.5);
next.leg_br.ori =
Quaternion::rotation_x(-0.25 + skeleton_attr.maximize * footverttf * -0.8)
* Quaternion::rotation_y(tilt * 1.5)
* Quaternion::rotation_z(tilt * -1.5);
next.leg_br.scale = Vec3::one() * 1.02;
next.tail.offset = Vec3::new(0.0, skeleton_attr.tail.0, skeleton_attr.tail.1);