diff --git a/assets/voxygen/voxel/bird_large_lateral_manifest.ron b/assets/voxygen/voxel/bird_large_lateral_manifest.ron index e0de44612f..0ea680f5eb 100644 --- a/assets/voxygen/voxel/bird_large_lateral_manifest.ron +++ b/assets/voxygen/voxel/bird_large_lateral_manifest.ron @@ -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: ( diff --git a/assets/voxygen/voxel/npc/wyvern_flame/male/wing_mid_r.vox b/assets/voxygen/voxel/npc/wyvern_flame/male/wing_mid_r.vox index 7c16da0238..f680643bb4 100644 --- a/assets/voxygen/voxel/npc/wyvern_flame/male/wing_mid_r.vox +++ b/assets/voxygen/voxel/npc/wyvern_flame/male/wing_mid_r.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:da971c1773c5f5b80c2fccbd52612a56d71d60842ec5ef82be484e42c5d6e5c6 -size 2116 +oid sha256:fc34faf908c37cde975c79610c05373fe75c81f8da54b9e7ed10ecd821731d1b +size 2460 diff --git a/assets/voxygen/voxel/npc/wyvern_flame/male/wing_out_r.vox b/assets/voxygen/voxel/npc/wyvern_flame/male/wing_out_r.vox index 6eb0c5d63a..99d22e1af9 100644 --- a/assets/voxygen/voxel/npc/wyvern_flame/male/wing_out_r.vox +++ b/assets/voxygen/voxel/npc/wyvern_flame/male/wing_out_r.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6935d871d6e277c17a9266e567c81312892c6eab65df2b77c16c43a01d22aa8f -size 2240 +oid sha256:0dd91e1e74eb978dbccef1b93d867a60667eca38dda161d1c92e0c56d9691d31 +size 1940 diff --git a/voxygen/anim/src/bird_large/fly.rs b/voxygen/anim/src/bird_large/fly.rs index a3dc9384f6..e3af646f3a 100644 --- a/voxygen/anim/src/bird_large/fly.rs +++ b/voxygen/anim/src/bird_large/fly.rs @@ -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_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 = diff --git a/voxygen/anim/src/bird_large/idle.rs b/voxygen/anim/src/bird_large/idle.rs index 7030506ad5..ec9d92a4dc 100644 --- a/voxygen/anim/src/bird_large/idle.rs +++ b/voxygen/anim/src/bird_large/idle.rs @@ -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,9 +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 } diff --git a/voxygen/anim/src/bird_large/mod.rs b/voxygen/anim/src/bird_large/mod.rs index 46903e43c3..d30670afa9 100644 --- a/voxygen/anim/src/bird_large/mod.rs +++ b/voxygen/anim/src/bird_large/mod.rs @@ -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), diff --git a/voxygen/anim/src/bird_large/run.rs b/voxygen/anim/src/bird_large/run.rs index 7ac8b4c905..e5484b5d21 100644 --- a/voxygen/anim/src/bird_large/run.rs +++ b/voxygen/anim/src/bird_large/run.rs @@ -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);