Tweak offsets for theropods

This commit is contained in:
Snowram 2020-08-29 16:11:48 +02:00 committed by jshipsey
parent cd6e1ad45f
commit ee95550355
24 changed files with 155 additions and 172 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

View File

@ -5,7 +5,7 @@
central: ("npc.archaeos.male.head"),
),
jaw: (
offset: (-4.5, -9.0, -3.0),
offset: (-5.5, -9.0, -3.0),
central: ("npc.archaeos.male.jaw"),
),
neck: (
@ -35,7 +35,7 @@
central: ("npc.archaeos.male.head"),
),
jaw: (
offset: (-4.5, -9.0, -3.0),
offset: (-5.5, -9.0, -3.0),
central: ("npc.archaeos.male.jaw"),
),
neck: (
@ -61,62 +61,62 @@
),
(Odontotyrannos, Male): (
head: (
offset: (-4.5, -4.0, -4.0),
central: ("npc.rat.male.head"),
offset: (-10.5, 0.0, -8.0),
central: ("npc.odontotyrannos.male.head"),
),
jaw: (
offset: (-4.5, -6.0, -4.0),
central: ("npc.rat.male.chest"),
offset: (-6.5, -7.0, -3.0),
central: ("npc.odontotyrannos.male.jaw"),
),
neck: (
offset: (-4.0, -1.5, -1.0),
central: ("npc.rat.male.chest"),
offset: (0.0, 0.0, 0.0),
central: ("armor.empty"),
),
chest_front: (
offset: (-4.0, -1.5, -1.0),
central: ("npc.rat.male.chest"),
offset: (-5.5, -5.0, -6.0),
central: ("npc.odontotyrannos.male.chest_front"),
),
chest_back: (
offset: (-4.0, -1.5, -1.0),
central: ("npc.rat.male.chest"),
offset: (-6.5, -8.0, -8.5),
central: ("npc.odontotyrannos.male.chest_back"),
),
tail_front: (
offset: (-0.5, -4.0, -1.5),
central: ("npc.rat.male.chest"),
offset: (-3.5, -8.0, -5.5),
central: ("npc.odontotyrannos.male.tail_front"),
),
tail_back: (
offset: (-0.5, -4.0, -1.5),
central: ("npc.rat.male.chest"),
offset: (-2.5, -8.0, -3.0),
central: ("npc.odontotyrannos.male.tail_back"),
),
),
(Odontotyrannos, Female): (
head: (
offset: (-4.5, -4.0, -4.0),
central: ("npc.rat.male.head"),
offset: (-10.5, 0.0, -8.0),
central: ("npc.odontotyrannos.male.head"),
),
jaw: (
offset: (-4.5, -6.0, -4.0),
central: ("npc.rat.male.chest"),
offset: (-6.5, -7.0, -3.0),
central: ("npc.odontotyrannos.male.jaw"),
),
neck: (
offset: (-4.0, -1.5, -1.0),
central: ("npc.rat.male.chest"),
offset: (0.0, 0.0, 0.0),
central: ("armor.empty"),
),
chest_front: (
offset: (-4.0, -1.5, -1.0),
central: ("npc.rat.male.chest"),
offset: (-5.5, -5.0, -6.0),
central: ("npc.odontotyrannos.male.chest_front"),
),
chest_back: (
offset: (-4.0, -1.5, -1.0),
central: ("npc.rat.male.chest"),
offset: (-6.5, -8.0, -8.5),
central: ("npc.odontotyrannos.male.chest_back"),
),
tail_front: (
offset: (-0.5, -4.0, -1.5),
central: ("npc.rat.male.chest"),
offset: (-3.5, -8.0, -5.5),
central: ("npc.odontotyrannos.male.tail_front"),
),
tail_back: (
offset: (-0.5, -4.0, -1.5),
central: ("npc.rat.male.chest"),
offset: (-2.5, -8.0, -3.0),
central: ("npc.odontotyrannos.male.tail_back"),
),
),
})

View File

@ -5,7 +5,7 @@
lateral: ("npc.archaeos.male.hand_l"),
),
hand_r: (
offset: (0.0, -2.0, -4.0),
offset: (0.0, -2.0, -9.0),
lateral: ("npc.archaeos.male.hand_r"),
),
leg_l: (
@ -31,7 +31,7 @@
lateral: ("npc.archaeos.male.hand_l"),
),
hand_r: (
offset: (0.0, -2.0, -4.0),
offset: (0.0, -2.0, -9.0),
lateral: ("npc.archaeos.male.hand_r"),
),
leg_l: (
@ -53,54 +53,54 @@
),
(Odontotyrannos, Male): (
hand_l: (
offset: (-6.0, -3.5, -4.0),
lateral: ("npc.ogre.male.shoulder_l"),
offset: (-3.0, -3.0, -7.0),
lateral: ("npc.odontotyrannos.male.hand_l"),
),
hand_r: (
offset: (-6.0, -4.5, -4.0),
lateral: ("npc.ogre.male.shoulder_r"),
offset: (0.0, -3.0, -7.0),
lateral: ("npc.odontotyrannos.male.hand_r"),
),
leg_l: (
offset: (-6.0, -3.5, -4.0),
lateral: ("npc.ogre.male.shoulder_l"),
offset: (-7.0, -4.5, -4.0),
lateral: ("npc.odontotyrannos.male.leg_l"),
),
leg_r: (
offset: (-6.0, -4.5, -4.0),
lateral: ("npc.ogre.male.shoulder_r"),
offset: (0.0, -4.5, -4.0),
lateral: ("npc.odontotyrannos.male.leg_r"),
),
foot_l: (
offset: (-6.0, -3.5, -4.0),
lateral: ("npc.ogre.male.shoulder_l"),
offset: (-14.0, -1.0, -8.0),
lateral: ("npc.odontotyrannos.male.foot_l"),
),
foot_r: (
offset: (-6.0, -4.5, -4.0),
lateral: ("npc.ogre.male.shoulder_r"),
offset: (-6.0, -1.0, -8.0),
lateral: ("npc.odontotyrannos.male.foot_r"),
),
),
(Odontotyrannos, Female): (
hand_l: (
offset: (-6.0, -3.5, -4.0),
lateral: ("npc.ogre.male.shoulder_l"),
offset: (-3.0, -3.0, -7.0),
lateral: ("npc.odontotyrannos.male.hand_l"),
),
hand_r: (
offset: (-6.0, -4.5, -4.0),
lateral: ("npc.ogre.male.shoulder_r"),
offset: (0.0, -3.0, -7.0),
lateral: ("npc.odontotyrannos.male.hand_r"),
),
leg_l: (
offset: (-6.0, -3.5, -4.0),
lateral: ("npc.ogre.male.shoulder_l"),
offset: (-7.0, -4.5, -4.0),
lateral: ("npc.odontotyrannos.male.leg_l"),
),
leg_r: (
offset: (-6.0, -4.5, -4.0),
lateral: ("npc.ogre.male.shoulder_r"),
offset: (0.0, -4.5, -4.0),
lateral: ("npc.odontotyrannos.male.leg_r"),
),
foot_l: (
offset: (-6.0, -3.5, -4.0),
lateral: ("npc.ogre.male.shoulder_l"),
offset: (-14.0, -1.0, -8.0),
lateral: ("npc.odontotyrannos.male.foot_l"),
),
foot_r: (
offset: (-6.0, -4.5, -4.0),
lateral: ("npc.ogre.male.shoulder_r"),
offset: (-6.0, -1.0, -8.0),
lateral: ("npc.odontotyrannos.male.foot_r"),
),
),
})

View File

@ -133,11 +133,11 @@ impl Animation for RunAnimation {
skeleton_attr.torso_front.1
+ canceler * 1.0
+ canceler * shortalt * 2.5
+ x_tilt * 10.0,
+ x_tilt * 10.0 * canceler,
) * skeleton_attr.scaler
/ 11.0;
next.torso_front.orientation =
Quaternion::rotation_x((amplitude * (short * -0.13).max(-0.2)) + x_tilt)
Quaternion::rotation_x((amplitude * (short * -0.13).max(-0.2)) + x_tilt * (canceler * 6.0).min(1.0))
* Quaternion::rotation_y(tilt * 0.8)
* Quaternion::rotation_z(tilt * -1.5);
next.torso_front.scale = Vec3::one() * skeleton_attr.scaler / 11.0;

View File

@ -58,52 +58,53 @@ impl Animation for IdleAnimation {
next.tail_back.scale = Vec3::one();
next.hand_l.position = Vec3::new(
skeleton_attr.hand_l.0,
skeleton_attr.hand_l.0,
skeleton_attr.hand_l.1,
-skeleton_attr.hand.0,
skeleton_attr.hand.1,
skeleton_attr.hand.2,
);
next.hand_l.orientation = Quaternion::rotation_z(0.0);
next.hand_l.scale = Vec3::one();
next.hand_r.position = Vec3::new(
skeleton_attr.hand_r.0,
skeleton_attr.hand_r.0,
skeleton_attr.hand_r.1,
skeleton_attr.hand.0,
skeleton_attr.hand.1,
skeleton_attr.hand.2,
);
next.hand_r.orientation = Quaternion::rotation_z(0.0);
next.hand_l.scale = Vec3::one();
next.hand_r.scale = Vec3::one();
next.leg_l.position = Vec3::new(
skeleton_attr.leg_l.0,
skeleton_attr.leg_l.0,
skeleton_attr.leg_l.1,
-skeleton_attr.leg.0,
skeleton_attr.leg.1,
skeleton_attr.leg.2,
);
next.leg_l.orientation = Quaternion::rotation_z(0.0);
next.leg_l.scale = Vec3::one();
next.leg_r.position = Vec3::new(
skeleton_attr.leg_r.0,
skeleton_attr.leg_r.0,
skeleton_attr.leg_r.1,
skeleton_attr.leg.0,
skeleton_attr.leg.1,
skeleton_attr.leg.2,
);
next.leg_r.orientation = Quaternion::rotation_z(0.0);
next.leg_r.scale = Vec3::one();
next.foot_l.position = Vec3::new(
skeleton_attr.foot_l.0,
skeleton_attr.foot_l.0,
skeleton_attr.foot_l.1,
-skeleton_attr.foot.0,
skeleton_attr.foot.1,
skeleton_attr.foot.2,
);
next.foot_l.orientation = Quaternion::rotation_z(0.0);
next.foot_l.scale = Vec3::one();
next.foot_r.position = Vec3::new(
skeleton_attr.foot_r.0,
skeleton_attr.foot_r.0,
skeleton_attr.foot_r.1,
skeleton_attr.foot.0,
skeleton_attr.foot.1,
skeleton_attr.foot.2,
);
next.foot_r.orientation = Quaternion::rotation_z(0.0);
next.foot_r.scale = Vec3::one();
next
}
}

View File

@ -59,49 +59,49 @@ impl Animation for JumpAnimation {
next.tail_back.scale = Vec3::one();
next.hand_l.position = Vec3::new(
skeleton_attr.hand_l.0,
skeleton_attr.hand_l.0,
skeleton_attr.hand_l.1,
-skeleton_attr.hand.0,
skeleton_attr.hand.1,
skeleton_attr.hand.2,
);
next.hand_l.orientation = Quaternion::rotation_z(0.0);
next.hand_l.scale = Vec3::one();
next.hand_r.position = Vec3::new(
skeleton_attr.hand_r.0,
skeleton_attr.hand_r.0,
skeleton_attr.hand_r.1,
skeleton_attr.hand.0,
skeleton_attr.hand.1,
skeleton_attr.hand.2,
);
next.hand_r.orientation = Quaternion::rotation_z(0.0);
next.hand_l.scale = Vec3::one();
next.leg_l.position = Vec3::new(
skeleton_attr.leg_l.0,
skeleton_attr.leg_l.0,
skeleton_attr.leg_l.1,
-skeleton_attr.leg.0,
skeleton_attr.leg.1,
skeleton_attr.leg.2,
);
next.leg_l.orientation = Quaternion::rotation_z(0.0);
next.leg_l.scale = Vec3::one();
next.leg_r.position = Vec3::new(
skeleton_attr.leg_r.0,
skeleton_attr.leg_r.0,
skeleton_attr.leg_r.1,
skeleton_attr.leg.0,
skeleton_attr.leg.1,
skeleton_attr.leg.2,
);
next.leg_r.orientation = Quaternion::rotation_z(0.0);
next.leg_r.scale = Vec3::one();
next.foot_l.position = Vec3::new(
skeleton_attr.foot_l.0,
skeleton_attr.foot_l.0,
skeleton_attr.foot_l.1,
-skeleton_attr.foot.0,
skeleton_attr.foot.1,
skeleton_attr.foot.2,
);
next.foot_l.orientation = Quaternion::rotation_z(0.0);
next.foot_l.scale = Vec3::one();
next.foot_r.position = Vec3::new(
skeleton_attr.foot_r.0,
skeleton_attr.foot_r.0,
skeleton_attr.foot_r.1,
skeleton_attr.foot.0,
skeleton_attr.foot.1,
skeleton_attr.foot.2,
);
next.foot_r.orientation = Quaternion::rotation_z(0.0);
next.foot_r.scale = Vec3::one();

View File

@ -77,12 +77,9 @@ pub struct SkeletonAttr {
chest_back: (f32, f32),
tail_front: (f32, f32),
tail_back: (f32, f32),
hand_l: (f32, f32, f32),
hand_r: (f32, f32, f32),
leg_l: (f32, f32, f32),
leg_r: (f32, f32, f32),
foot_l: (f32, f32, f32),
foot_r: (f32, f32, f32),
hand: (f32, f32, f32),
leg: (f32, f32, f32),
foot: (f32, f32, f32),
}
impl<'a> std::convert::TryFrom<&'a comp::Body> for SkeletonAttr {
@ -106,12 +103,9 @@ impl Default for SkeletonAttr {
chest_back: (0.0, 0.0),
tail_front: (0.0, 0.0),
tail_back: (0.0, 0.0),
hand_l: (0.0, 0.0, 0.0),
hand_r: (0.0, 0.0, 0.0),
leg_l: (0.0, 0.0, 0.0),
leg_r: (0.0, 0.0, 0.0),
foot_l: (0.0, 0.0, 0.0),
foot_r: (0.0, 0.0, 0.0),
hand: (0.0, 0.0, 0.0),
leg: (0.0, 0.0, 0.0),
foot: (0.0, 0.0, 0.0),
}
}
}
@ -121,56 +115,44 @@ impl<'a> From<&'a Body> for SkeletonAttr {
use comp::theropod::Species::*;
Self {
head: match (body.species, body.body_type) {
(Archaeos, _) => (6.5, 3.0),
(Odontotyrannos, _) => (5.0, 1.0),
(Archaeos, _) => (8.0, 4.0),
(Odontotyrannos, _) => (-2.5, 3.0),
},
jaw: match (body.species, body.body_type) {
(Archaeos, _) => (0.0, 6.0),
(Odontotyrannos, _) => (-1.0, 3.0),
(Archaeos, _) => (10.0, -7.0),
(Odontotyrannos, _) => (10.0, -7.0),
},
neck: match (body.species, body.body_type) {
(Archaeos, _) => (0.0, 6.0),
(Odontotyrannos, _) => (-1.0, 3.0),
(Archaeos, _) => (4.5, -2.0),
(Odontotyrannos, _) => (4.5, -2.0),
},
chest_front: match (body.species, body.body_type) {
(Archaeos, _) => (0.0, 6.0),
(Odontotyrannos, _) => (-1.0, 3.0),
(Archaeos, _) => (4.5, 20.0),
(Odontotyrannos, _) => (4.0, 13.0),
},
chest_back: match (body.species, body.body_type) {
(Archaeos, _) => (0.0, 6.0),
(Odontotyrannos, _) => (-1.0, 3.0),
(Archaeos, _) => (-5.5, -1.0),
(Odontotyrannos, _) => (-5.0, 2.0),
},
tail_front: match (body.species, body.body_type) {
(Archaeos, _) => (-8.0, -1.0),
(Odontotyrannos, _) => (-7.0, -1.0),
(Archaeos, _) => (-9.0, -1.5),
(Odontotyrannos, _) => (-8.0, -1.0),
},
tail_back: match (body.species, body.body_type) {
(Archaeos, _) => (-8.0, -1.0),
(Odontotyrannos, _) => (-7.0, -1.0),
(Archaeos, _) => (-20.0, -0.5),
(Odontotyrannos, _) => (-19.0, -1.5),
},
hand_l: match (body.species, body.body_type) {
(Archaeos, _) => (-8.0, -1.0, 0.0),
(Odontotyrannos, _) => (-7.0, -1.0, 0.0),
hand: match (body.species, body.body_type) {
(Archaeos, _) => (2.5, -2.5, -4.0),
(Odontotyrannos, _) => (3.5, 3.0, -4.0),
},
hand_r: match (body.species, body.body_type) {
(Archaeos, _) => (8.0, -1.0, 0.0),
(Odontotyrannos, _) => (7.0, -1.0, 0.0),
leg: match (body.species, body.body_type) {
(Archaeos, _) => (4.5, -9.0, -4.0),
(Odontotyrannos, _) => (5.5, -6.5, -2.0),
},
leg_l: match (body.species, body.body_type) {
(Archaeos, _) => (-8.0, -1.0, 0.0),
(Odontotyrannos, _) => (-7.0, -1.0, 0.0),
},
leg_r: match (body.species, body.body_type) {
(Archaeos, _) => (8.0, -1.0, 0.0),
(Odontotyrannos, _) => (7.0, -1.0, 0.0),
},
foot_l: match (body.species, body.body_type) {
(Archaeos, _) => (-8.0, -1.0, 0.0),
(Odontotyrannos, _) => (-7.0, -1.0, 0.0),
},
foot_r: match (body.species, body.body_type) {
(Archaeos, _) => (8.0, -1.0, 0.0),
(Odontotyrannos, _) => (7.0, -1.0, 0.0),
foot: match (body.species, body.body_type) {
(Archaeos, _) => (1.0, -0.5, -8.0),
(Odontotyrannos, _) => (-1.0, -6.5, -3.0),
},
}
}

View File

@ -22,9 +22,9 @@ impl Animation for RunAnimation {
) -> Self::Skeleton {
let mut next = (*skeleton).clone();
let wave = (anim_time as f32 * 8.0).sin();
let wavealt = (anim_time as f32 * 8.0 + PI / 2.0).sin();
let wave_slow = (anim_time as f32 * 6.5 + PI).sin();
//let wave = (anim_time as f32 * 8.0).sin();
//let wavealt = (anim_time as f32 * 8.0 + PI / 2.0).sin();
//let wave_slow = (anim_time as f32 * 6.5 + PI).sin();
next.head.position = Vec3::new(0.0, skeleton_attr.head.0, skeleton_attr.head.1);
next.head.orientation = Quaternion::rotation_z(0.0);
@ -62,49 +62,49 @@ impl Animation for RunAnimation {
next.tail_back.scale = Vec3::one();
next.hand_l.position = Vec3::new(
skeleton_attr.hand_l.0,
skeleton_attr.hand_l.0,
skeleton_attr.hand_l.1,
-skeleton_attr.hand.0,
skeleton_attr.hand.1,
skeleton_attr.hand.2,
);
next.hand_l.orientation = Quaternion::rotation_z(0.0);
next.hand_l.scale = Vec3::one();
next.hand_r.position = Vec3::new(
skeleton_attr.hand_r.0,
skeleton_attr.hand_r.0,
skeleton_attr.hand_r.1,
skeleton_attr.hand.0,
skeleton_attr.hand.1,
skeleton_attr.hand.2,
);
next.hand_r.orientation = Quaternion::rotation_z(0.0);
next.hand_l.scale = Vec3::one();
next.leg_l.position = Vec3::new(
skeleton_attr.leg_l.0,
skeleton_attr.leg_l.0,
skeleton_attr.leg_l.1,
-skeleton_attr.leg.0,
skeleton_attr.leg.1,
skeleton_attr.leg.2,
);
next.leg_l.orientation = Quaternion::rotation_z(0.0);
next.leg_l.scale = Vec3::one();
next.leg_r.position = Vec3::new(
skeleton_attr.leg_r.0,
skeleton_attr.leg_r.0,
skeleton_attr.leg_r.1,
skeleton_attr.leg.0,
skeleton_attr.leg.1,
skeleton_attr.leg.2,
);
next.leg_r.orientation = Quaternion::rotation_z(0.0);
next.leg_r.scale = Vec3::one();
next.foot_l.position = Vec3::new(
skeleton_attr.foot_l.0,
skeleton_attr.foot_l.0,
skeleton_attr.foot_l.1,
-skeleton_attr.foot.0,
skeleton_attr.foot.1,
skeleton_attr.foot.2,
);
next.foot_l.orientation = Quaternion::rotation_z(0.0);
next.foot_l.scale = Vec3::one();
next.foot_r.position = Vec3::new(
skeleton_attr.foot_r.0,
skeleton_attr.foot_r.0,
skeleton_attr.foot_r.1,
skeleton_attr.foot.0,
skeleton_attr.foot.1,
skeleton_attr.foot.2,
);
next.foot_r.orientation = Quaternion::rotation_z(0.0);
next.foot_r.scale = Vec3::one();