diff --git a/common/src/comp/body/bird_large.rs b/common/src/comp/body/bird_large.rs index 361f87263b..ca15f548fb 100644 --- a/common/src/comp/body/bird_large.rs +++ b/common/src/comp/body/bird_large.rs @@ -66,7 +66,7 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies } } -pub const ALL_SPECIES: [Species; 3] = [ +pub const ALL_SPECIES: [Species; 4] = [ Species::Phoenix, Species::Cockatrice, Species::Roc, diff --git a/voxygen/anim/src/bird_large/idle.rs b/voxygen/anim/src/bird_large/idle.rs index ec9d92a4dc..b42dd6b38a 100644 --- a/voxygen/anim/src/bird_large/idle.rs +++ b/voxygen/anim/src/bird_large/idle.rs @@ -52,7 +52,7 @@ impl Animation for IdleAnimation { 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); + * 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); @@ -72,13 +72,21 @@ impl Animation for IdleAnimation { 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_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.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); diff --git a/voxygen/anim/src/bird_large/run.rs b/voxygen/anim/src/bird_large/run.rs index e5484b5d21..47b5b6e3fc 100644 --- a/voxygen/anim/src/bird_large/run.rs +++ b/voxygen/anim/src/bird_large/run.rs @@ -95,20 +95,28 @@ impl Animation for RunAnimation { * Quaternion::rotation_z(shortalt * 0.10); 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.6 + short * -0.02); + next.tail_front.orientation = Quaternion::rotation_x(0.3 + short * -0.02); 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.2 + short * -0.1); - 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.position = Vec3::new( + -s_a.wing_in.0, + s_a.wing_in.1 + foot1a * 2.0, + s_a.wing_in.2 + speednorm * 1.0 + foot1b * 1.0, + ); + next.wing_in_r.position = Vec3::new( + s_a.wing_in.0, + s_a.wing_in.1 + foot2a * 2.0, + s_a.wing_in.2 + speednorm * 1.0 + foot2b * 1.0, + ); - 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_in_l.orientation = Quaternion::rotation_x(foot2a * -0.05 + speednorm * -0.3) + * Quaternion::rotation_y(-0.8 + speednorm * 0.55 + foot2b * -0.2) + * Quaternion::rotation_z(0.2 + foot2a * 0.6); + next.wing_in_r.orientation = Quaternion::rotation_x(foot1a * -0.05 + speednorm * -0.3) + * Quaternion::rotation_y(0.8 + speednorm * -0.55 + foot1b * 0.2) + * Quaternion::rotation_z(-0.2 + foot1a * -0.6); 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); @@ -117,10 +125,10 @@ impl Animation for RunAnimation { 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(-0.2 + short * 0.05) * Quaternion::rotation_z(0.2); - next.wing_out_r.orientation = - Quaternion::rotation_y(0.2 + short * -0.05) * Quaternion::rotation_z(-0.2); + next.wing_out_l.orientation = Quaternion::rotation_y(-0.2 + short * 0.05) + * Quaternion::rotation_z(0.2 + foot2a * 0.3); + next.wing_out_r.orientation = Quaternion::rotation_y(0.2 + short * -0.05) + * Quaternion::rotation_z(-0.2 + foot1a * 0.3); next.leg_l.position = Vec3::new( -s_a.leg.0 + speednorm * 1.5,