More wyvern anim work

This commit is contained in:
Snowram 2021-04-28 01:08:14 +02:00
parent 3850cae20f
commit fabb5dd3d1
7 changed files with 39 additions and 22 deletions

View File

@ -269,19 +269,19 @@
lateral: ("npc.wyvern_flame.male.wing_mid_r"),
),
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"),
),
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"),
),
leg_l: (
offset: (-3.0, -4.5, -5.5),
offset: (-3.0, -4.5, -8.0),
lateral: ("npc.wyvern_flame.male.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"),
),
foot_l: (
@ -311,19 +311,19 @@
lateral: ("npc.wyvern_flame.male.wing_mid_r"),
),
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"),
),
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"),
),
leg_l: (
offset: (-3.0, -4.5, -5.5),
offset: (-3.0, -4.5, -8.0),
lateral: ("npc.wyvern_flame.male.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"),
),
foot_l: (

Binary file not shown.

Binary file not shown.

View File

@ -98,10 +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_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_r.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);
next.tail_front.position = Vec3::new(0.0, s_a.tail_front.0, s_a.tail_front.1);
next.tail_front.orientation =

View File

@ -48,23 +48,37 @@ impl Animation for IdleAnimation {
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.orientation = Quaternion::rotation_x(0.0);
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.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.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.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_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_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_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.orientation = Quaternion::rotation_x(0.0);
@ -72,8 +86,9 @@ impl Animation for IdleAnimation {
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.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.orientation = Quaternion::rotation_x(0.0);
next
}

View File

@ -165,7 +165,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
(Phoenix, _) => (2.5, 16.0),
(Cockatrice, _) => (2.5, 16.0),
(Roc, _) => (2.5, 27.5),
(FlameWyvern, _) => (2.5, 23.0),
(FlameWyvern, _) => (2.5, 20.5),
},
neck: match (body.species, body.body_type) {
(Phoenix, _) => (2.5, -5.5),
@ -213,7 +213,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
(Phoenix, _) => (7.0, 2.0, 1.5),
(Cockatrice, _) => (4.0, -1.0, 1.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) {
(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_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_r.orientation = Quaternion::rotation_y(0.8) * Quaternion::rotation_z(-0.2);
next.wing_in_l.orientation = Quaternion::rotation_x(foot2a * 0.5)
* 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_r.position = Vec3::new(s_a.wing_mid.0, s_a.wing_mid.1, s_a.wing_mid.2);