More wyvern anim work

This commit is contained in:
Snowram 2021-04-28 01:08:14 +02:00 committed by Robin Gilh
parent 834749353a
commit 9acae9fca0
7 changed files with 39 additions and 21 deletions

View File

@ -269,19 +269,19 @@
lateral: ("npc.wyvern_flame.male.wing_mid_r"), lateral: ("npc.wyvern_flame.male.wing_mid_r"),
), ),
wing_out_l: ( wing_out_l: (
offset: (-33.0, -31.0, -2.0), offset: (-18.0, -27.0, -2.0),
lateral: ("npc.wyvern_flame.male.wing_out_r"), lateral: ("npc.wyvern_flame.male.wing_out_r"),
), ),
wing_out_r: ( wing_out_r: (
offset: (0.0, -31.0, -2.0), offset: (0.0, -27.0, -2.0),
lateral: ("npc.wyvern_flame.male.wing_out_r"), lateral: ("npc.wyvern_flame.male.wing_out_r"),
), ),
leg_l: ( leg_l: (
offset: (-3.0, -4.5, -5.5), offset: (-3.0, -4.5, -8.0),
lateral: ("npc.wyvern_flame.male.leg_r"), lateral: ("npc.wyvern_flame.male.leg_r"),
), ),
leg_r: ( leg_r: (
offset: (-3.0, -4.5, -5.5), offset: (-3.0, -4.5, -8.0),
lateral: ("npc.wyvern_flame.male.leg_r"), lateral: ("npc.wyvern_flame.male.leg_r"),
), ),
foot_l: ( foot_l: (
@ -311,19 +311,19 @@
lateral: ("npc.wyvern_flame.male.wing_mid_r"), lateral: ("npc.wyvern_flame.male.wing_mid_r"),
), ),
wing_out_l: ( wing_out_l: (
offset: (-33.0, -31.0, -2.0), offset: (-18.0, -27.0, -2.0),
lateral: ("npc.wyvern_flame.male.wing_out_r"), lateral: ("npc.wyvern_flame.male.wing_out_r"),
), ),
wing_out_r: ( wing_out_r: (
offset: (0.0, -31.0, -2.0), offset: (0.0, -27.0, -2.0),
lateral: ("npc.wyvern_flame.male.wing_out_r"), lateral: ("npc.wyvern_flame.male.wing_out_r"),
), ),
leg_l: ( leg_l: (
offset: (-3.0, -4.5, -5.5), offset: (-3.0, -4.5, -8.0),
lateral: ("npc.wyvern_flame.male.leg_r"), lateral: ("npc.wyvern_flame.male.leg_r"),
), ),
leg_r: ( leg_r: (
offset: (-3.0, -4.5, -5.5), offset: (-3.0, -4.5, -8.0),
lateral: ("npc.wyvern_flame.male.leg_r"), lateral: ("npc.wyvern_flame.male.leg_r"),
), ),
foot_l: ( foot_l: (

Binary file not shown.

Binary file not shown.

View File

@ -98,8 +98,8 @@ impl Animation for FlyAnimation {
next.wing_out_l.position = Vec3::new(-s_a.wing_out.0, s_a.wing_out.1, s_a.wing_out.2); next.wing_out_l.position = Vec3::new(-s_a.wing_out.0, s_a.wing_out.1, s_a.wing_out.2);
next.wing_out_r.position = Vec3::new(s_a.wing_out.0, s_a.wing_out.1, s_a.wing_out.2); next.wing_out_r.position = Vec3::new(s_a.wing_out.0, s_a.wing_out.1, s_a.wing_out.2);
next.wing_out_l.orientation = Quaternion::rotation_y(-flap3 * 0.6 - 0.3) * Quaternion::rotation_x(-flap2 * 1.4); next.wing_out_l.orientation = Quaternion::rotation_y(-flap3 * 0.6 - 0.3);
next.wing_out_r.orientation = Quaternion::rotation_y(flap3 * 0.6 + 0.3) * Quaternion::rotation_x(-flap2 * 1.4); next.wing_out_r.orientation = Quaternion::rotation_y(flap3 * 0.6 + 0.3);
next.tail_front.position = Vec3::new(0.0, s_a.tail_front.0, s_a.tail_front.1); next.tail_front.position = Vec3::new(0.0, s_a.tail_front.0, s_a.tail_front.1);
next.tail_front.orientation = next.tail_front.orientation =

View File

@ -48,23 +48,37 @@ impl Animation for IdleAnimation {
next.chest.orientation = Quaternion::rotation_x(0.0); next.chest.orientation = Quaternion::rotation_x(0.0);
next.neck.position = Vec3::new(0.0, s_a.neck.0, s_a.neck.1); next.neck.position = Vec3::new(0.0, s_a.neck.0, s_a.neck.1);
next.neck.orientation = Quaternion::rotation_x(0.0);
next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1); next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1);
next.head.orientation = Quaternion::rotation_z(duck_head_look.x)
* Quaternion::rotation_x(0.4 -duck_head_look.y.abs() + wave_slow_cos * 0.01);
next.beak.position = Vec3::new(0.0, s_a.beak.0, s_a.beak.1); next.beak.position = Vec3::new(0.0, s_a.beak.0, s_a.beak.1);
next.beak.orientation = Quaternion::rotation_x(wave_slow_cos * -0.02 - 0.02);
next.tail_front.position = Vec3::new(0.0, s_a.tail_front.0, s_a.tail_front.1); next.tail_front.position = Vec3::new(0.0, s_a.tail_front.0, s_a.tail_front.1);
next.tail_front.orientation = Quaternion::rotation_x(0.3);
next.tail_rear.position = Vec3::new(0.0, s_a.tail_rear.0, s_a.tail_rear.1); next.tail_rear.position = Vec3::new(0.0, s_a.tail_rear.0, s_a.tail_rear.1);
next.tail_rear.orientation = Quaternion::rotation_x(-0.0);
next.wing_in_l.position = Vec3::new(-s_a.wing_in.0, s_a.wing_in.1, s_a.wing_in.2); next.wing_in_l.position = Vec3::new(-s_a.wing_in.0, s_a.wing_in.1, s_a.wing_in.2);
next.wing_in_r.position = Vec3::new(s_a.wing_in.0, s_a.wing_in.1, s_a.wing_in.2); next.wing_in_r.position = Vec3::new(s_a.wing_in.0, s_a.wing_in.1, s_a.wing_in.2);
next.wing_in_l.orientation =
Quaternion::rotation_y(-0.8 + wave_slow_cos * 0.06) * Quaternion::rotation_z(0.4);
next.wing_in_r.orientation =
Quaternion::rotation_y(0.8 - wave_slow_cos * 0.06) * Quaternion::rotation_z(-0.4);
next.wing_mid_l.position = Vec3::new(-s_a.wing_mid.0, s_a.wing_mid.1, s_a.wing_mid.2); next.wing_mid_l.position = Vec3::new(-s_a.wing_mid.0, s_a.wing_mid.1, s_a.wing_mid.2);
next.wing_mid_r.position = Vec3::new(s_a.wing_mid.0, s_a.wing_mid.1, s_a.wing_mid.2); next.wing_mid_r.position = Vec3::new(s_a.wing_mid.0, s_a.wing_mid.1, s_a.wing_mid.2);
next.wing_mid_l.orientation = Quaternion::rotation_x(0.1)*Quaternion::rotation_y(-0.1) * Quaternion::rotation_z(0.7);
next.wing_mid_r.orientation = Quaternion::rotation_x(0.1)*Quaternion::rotation_y(0.1) * Quaternion::rotation_z(-0.7);
next.wing_out_l.position = Vec3::new(-s_a.wing_out.0, s_a.wing_out.1, s_a.wing_out.2); next.wing_out_l.position = Vec3::new(-s_a.wing_out.0, s_a.wing_out.1, s_a.wing_out.2);
next.wing_out_r.position = Vec3::new(s_a.wing_out.0, s_a.wing_out.1, s_a.wing_out.2); next.wing_out_r.position = Vec3::new(s_a.wing_out.0, s_a.wing_out.1, s_a.wing_out.2);
next.wing_out_l.orientation = Quaternion::rotation_x(0.0) * Quaternion::rotation_y(0.1) * Quaternion::rotation_z(0.55);
next.wing_out_r.orientation = Quaternion::rotation_x(0.0) * Quaternion::rotation_y(-0.1) * Quaternion::rotation_z(-0.55);
next.leg_l.position = Vec3::new(-s_a.leg.0, s_a.leg.1, s_a.leg.2); next.leg_l.position = Vec3::new(-s_a.leg.0, s_a.leg.1, s_a.leg.2);
next.leg_l.orientation = Quaternion::rotation_x(0.0); next.leg_l.orientation = Quaternion::rotation_x(0.0);
@ -72,9 +86,9 @@ impl Animation for IdleAnimation {
next.leg_r.orientation = Quaternion::rotation_x(0.0); next.leg_r.orientation = Quaternion::rotation_x(0.0);
next.foot_l.position = Vec3::new(-s_a.foot.0, s_a.foot.1, s_a.foot.2); next.foot_l.position = Vec3::new(-s_a.foot.0, s_a.foot.1, s_a.foot.2);
next.foot_l.orientation = Quaternion::rotation_x(0.0);
next.foot_r.position = Vec3::new(s_a.foot.0, s_a.foot.1, s_a.foot.2); next.foot_r.position = Vec3::new(s_a.foot.0, s_a.foot.1, s_a.foot.2);
next.foot_r.orientation = Quaternion::rotation_x(0.0);
next next
} }

View File

@ -165,7 +165,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
(Phoenix, _) => (2.5, 16.0), (Phoenix, _) => (2.5, 16.0),
(Cockatrice, _) => (2.5, 16.0), (Cockatrice, _) => (2.5, 16.0),
(Roc, _) => (2.5, 27.5), (Roc, _) => (2.5, 27.5),
(FlameWyvern, _) => (2.5, 23.0), (FlameWyvern, _) => (2.5, 20.5),
}, },
neck: match (body.species, body.body_type) { neck: match (body.species, body.body_type) {
(Phoenix, _) => (2.5, -5.5), (Phoenix, _) => (2.5, -5.5),
@ -213,7 +213,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
(Phoenix, _) => (7.0, 2.0, 1.5), (Phoenix, _) => (7.0, 2.0, 1.5),
(Cockatrice, _) => (4.0, -1.0, 1.0), (Cockatrice, _) => (4.0, -1.0, 1.0),
(Roc, _) => (10.0, -2.0, 0.0), (Roc, _) => (10.0, -2.0, 0.0),
(FlameWyvern, _) => (1.0, 1.0, 0.0), (FlameWyvern, _) => (16.0, -3.0, 0.0),
}, },
leg: match (body.species, body.body_type) { leg: match (body.species, body.body_type) {
(Phoenix, _) => (4.0, 1.5, 12.0), (Phoenix, _) => (4.0, 1.5, 12.0),

View File

@ -103,8 +103,12 @@ impl Animation for RunAnimation {
next.wing_in_l.position = Vec3::new(-s_a.wing_in.0, s_a.wing_in.1, s_a.wing_in.2); next.wing_in_l.position = Vec3::new(-s_a.wing_in.0, s_a.wing_in.1, s_a.wing_in.2);
next.wing_in_r.position = Vec3::new(s_a.wing_in.0, s_a.wing_in.1, s_a.wing_in.2); next.wing_in_r.position = Vec3::new(s_a.wing_in.0, s_a.wing_in.1, s_a.wing_in.2);
next.wing_in_l.orientation = Quaternion::rotation_y(-0.8) * Quaternion::rotation_z(0.2); next.wing_in_l.orientation = Quaternion::rotation_x(foot2a * 0.5)
next.wing_in_r.orientation = Quaternion::rotation_y(0.8) * Quaternion::rotation_z(-0.2); * Quaternion::rotation_y(-0.8)
* Quaternion::rotation_z(0.2);
next.wing_in_r.orientation = Quaternion::rotation_x(foot1a * 0.5)
* Quaternion::rotation_y(0.8)
* Quaternion::rotation_z(-0.2);
next.wing_mid_l.position = Vec3::new(-s_a.wing_mid.0, s_a.wing_mid.1, s_a.wing_mid.2); next.wing_mid_l.position = Vec3::new(-s_a.wing_mid.0, s_a.wing_mid.1, s_a.wing_mid.2);
next.wing_mid_r.position = Vec3::new(s_a.wing_mid.0, s_a.wing_mid.1, s_a.wing_mid.2); next.wing_mid_r.position = Vec3::new(s_a.wing_mid.0, s_a.wing_mid.1, s_a.wing_mid.2);