From 6171a1c01c2b05a540684d61e90778d85de74465 Mon Sep 17 00:00:00 2001 From: jshipsey Date: Sat, 9 May 2020 05:29:09 -0400 Subject: [PATCH] dragon adjustments. tweaks to humanoid run, fix for first person glide and other small fixes --- .../voxel/npc/reddragon/female/foot_bl.vox | Bin 1660 -> 1996 bytes .../voxel/npc/reddragon/female/foot_br.vox | Bin 1660 -> 1996 bytes .../voxel/npc/reddragon/male/foot_bl.vox | Bin 1660 -> 1996 bytes .../voxel/npc/reddragon/male/foot_br.vox | Bin 1660 -> 1996 bytes voxygen/src/anim/character/beta.rs | 2 +- voxygen/src/anim/character/climb.rs | 2 +- voxygen/src/anim/character/gliding.rs | 12 ++++----- voxygen/src/anim/character/mod.rs | 4 +-- voxygen/src/anim/character/run.rs | 18 ++++++------- voxygen/src/anim/character/swim.rs | 4 +-- voxygen/src/anim/dragon/idle.rs | 25 +++++++++--------- voxygen/src/anim/dragon/mod.rs | 2 +- voxygen/src/anim/dragon/run.rs | 8 +++--- 13 files changed, 38 insertions(+), 39 deletions(-) diff --git a/assets/voxygen/voxel/npc/reddragon/female/foot_bl.vox b/assets/voxygen/voxel/npc/reddragon/female/foot_bl.vox index 64878dbd4f3a5ddb16f020a156e8f5223c90028a..019dc0ef263f820f0d87a2d055649c3be2cff73e 100644 GIT binary patch delta 465 zcmXYtJxWDE425TsoFrEtxC60u3G>rfSiC|71$nv(cVKJ#5Ud4DOB)wq;TGJ7h3A47 z!XaleU(Vd$&DT-8z1p3;lu|CvwwILh8KvB8@6R`D!|(9F4ye1k`|XpiZYe+ec3kIv z_g35f_x*H4jSc|aRCE{gP#;-sh7w{yO=?mX z>e5}aN73O}rfc-5KBID(1&ebP1IXdFOt4Qf5;37v&ZlMfDib1P`6G>GK)pk(rv$+{ z!3(j5DAK`z$xu-$dxorB&RG{H)acuQ=yXI&df^K>;4*TIJU$H28A1m6A!{h_Vb;Q~ vF~fKX-rNXcxuL;8An0+4@r>tKXWUz08HuDu3y*0f<~VX8=N`5tw&rdJ!9@l~I)qi=qPsgu-q@5*cZ-XW7ig9Sx|-43%A75uqXCRHi9Sh740XbmdncYNyUd(hS{;$4r7t zXMw1aE>n-d&fq@f2+$Udw3Oi`yD$F)QQF8beCfCpSwpap%?g6@nALsO$;rRQAf+5hC8vxKr6HR8(Toy&pOzI}0w{4TF zs^0TK?y7QmNV%Q8$+dO4RoS(gURy1ZOEtMUXYX?HwgT)PT@krf>Af}VO>Tit=dK5F z`P;B`X0Kq=Kfl>y`~#Y7SnL1* delta 649 zcmXX^U1}CV5bUn%?%BkESMV6l&b~wt`5shIkR&JY7T*bc6?Qkb$T8xPe6R*wD0=#@ zx~6CUy#0H3{qgnT-ETAde1G{OV?WF6`{n85-E{Q5`Hz%+czn9N$Bdf&5(?H)HavWD zVhi_9#{gmkxDv5~F%TRM4y1Pkdcu1Eo#1uFOi&OB2sNk(vTzY#5Wa=ZNK=g|ub~=D zn1-0hY-C}}rkG0zYz?>7IYrHw`s736Jk;yx4s39$_UgSUnBl!bL}^=;Zxuc&H8_1l z_?pT^T92}|($*%hY@M zgczZ1a3Z+HgjPs~>SR-XQi7;K98u~ij8b1|cqP_oHcH}B7fC&jUg|XS{pQ9FcR%vh zPIo(Q)6VPCY;TL5RXD2ob1UCl*rfSiC|71$nv(cVKJ#5Ud4DOB)wq;TGJ7h3A47 z!XaleU(Vd$&DT-8z1p3;lu|CvwwILh8KvB8@6R`D!|(9F4ye1k`|XpiZYe+ec3kIv z_g35f_x*H4jSc|aRCE{gP#;-sh7w{yO=?mX z>e5}aN73O}rfc-5KBID(1&ebP1IXdFOt4Qf5;37v&ZlMfDib1P`6G>GK)pk(rv$+{ z!3(j5DAK`z$xu-$dxorB&RG{H)acuQ=yXI&df^K>;4*TIJU$H28A1m6A!{h_Vb;Q~ vF~fKX-rNXcxuL;8An0+4@r>tKXWUz08HuDu3y*0f<~VX8=N`5tw&rdJ!9@l~I)qi=qPsgu-q@5*cZ-XW7ig9Sx|-43%A75uqXCRHi9Sh740XbmdncYNyUd(hS{;$4r7t zXMw1aE>n-d&fq@f2+$Udw3Oi`yD$F)QQF8beCfCpSwpap%?g6@nALsO$;rRQAf+5hC8vxKr6HR8(Toy&pOzI}0w{4TF zs^0TK?y7QmNV%Q8$+dO4RoS(gURy1ZOEtMUXYX?HwgT)PT@krf>Af}VO>Tit=dK5F z`P;B`X0Kq=Kfl>y`~#Y7SnL1* delta 649 zcmXX^U1}CV5bUn%?%BkESMV6l&b~wt`5shIkR&JY7T*bc6?Qkb$T8xPe6R*wD0=#@ zx~6CUy#0H3{qgnT-ETAde1G{OV?WF6`{n85-E{Q5`Hz%+czn9N$Bdf&5(?H)HavWD zVhi_9#{gmkxDv5~F%TRM4y1Pkdcu1Eo#1uFOi&OB2sNk(vTzY#5Wa=ZNK=g|ub~=D zn1-0hY-C}}rkG0zYz?>7IYrHw`s736Jk;yx4s39$_UgSUnBl!bL}^=;Zxuc&H8_1l z_?pT^T92}|($*%hY@M zgczZ1a3Z+HgjPs~>SR-XQi7;K98u~ij8b1|cqP_oHcH}B7fC&jUg|XS{pQ9FcR%vh zPIo(Q)6VPCY;TL5RXD2ob1UCl* From<&'a comp::humanoid::Body> for SkeletonAttr { (Orc, Female) => (0.0, 14.0), (Human, Male) => (0.3, 13.5), (Human, Female) => (0.0, 13.8), - (Elf, Male) => (0.0, 13.5), - (Elf, Female) => (0.0, 13.5), + (Elf, Male) => (0.5, 13.5), + (Elf, Female) => (1.0, 13.5), (Dwarf, Male) => (0.0, 14.5), (Dwarf, Female) => (0.0, 14.0), (Undead, Male) => (0.5, 13.6), diff --git a/voxygen/src/anim/character/run.rs b/voxygen/src/anim/character/run.rs index 4a7dd9a4f5..b2d8d9384a 100644 --- a/voxygen/src/anim/character/run.rs +++ b/voxygen/src/anim/character/run.rs @@ -92,9 +92,9 @@ impl Animation for RunAnimation { next.head.offset = Vec3::new( 0.0, -3.0 + skeleton_attr.head.0, - -1.0 + skeleton_attr.head.1 + short * 0.3, + -1.0 + skeleton_attr.head.1 + short * 0.1, ); - next.head.ori = Quaternion::rotation_z(head_look.x + long * -0.1 - short * 0.3) + next.head.ori = Quaternion::rotation_z(head_look.x + long * -0.1 - short * 0.1) * Quaternion::rotation_x(head_look.y + 0.35); next.head.scale = Vec3::one() * skeleton_attr.head_scale; @@ -103,11 +103,11 @@ impl Animation for RunAnimation { skeleton_attr.chest.0, skeleton_attr.chest.1 + 2.0 + short * 1.1 - lower, ); - next.chest.ori = Quaternion::rotation_z(short * 0.3 * walkintensity); + next.chest.ori = Quaternion::rotation_z(short * 0.15 * walkintensity); next.chest.scale = Vec3::one(); next.belt.offset = Vec3::new(0.0, skeleton_attr.belt.0, skeleton_attr.belt.1); - next.belt.ori = Quaternion::rotation_z(short * 0.25); + next.belt.ori = Quaternion::rotation_z(short * 0.1); next.belt.scale = Vec3::one(); next.back.offset = Vec3::new(0.0, skeleton_attr.back.0, skeleton_attr.back.1); @@ -115,24 +115,24 @@ impl Animation for RunAnimation { next.back.scale = Vec3::one() * 1.02; next.shorts.offset = Vec3::new(0.0, skeleton_attr.shorts.0, skeleton_attr.shorts.1); - next.shorts.ori = Quaternion::rotation_z(short * 0.4); + next.shorts.ori = Quaternion::rotation_z(short * 0.2); next.shorts.scale = Vec3::one(); next.l_hand.offset = Vec3::new( -skeleton_attr.hand.0 + wave_stop * 1.0 * walkintensity, skeleton_attr.hand.1 + short * 3.0 * walkintensity, - 1.0 + skeleton_attr.hand.2 + short * -1.5 * walkintensity, + 1.0 + skeleton_attr.hand.2 + short * -0.75 * walkintensity, ); - next.l_hand.ori = Quaternion::rotation_x(0.2 + short * 1.2 * walk) + next.l_hand.ori = Quaternion::rotation_x(0.2 + short * 1.5 * walk) * Quaternion::rotation_y(wave_stop * -0.1); next.l_hand.scale = Vec3::one(); next.r_hand.offset = Vec3::new( skeleton_attr.hand.0 + wave_stop * -1.0 * walkintensity, skeleton_attr.hand.1 + short * -3.0 * walkintensity, - 1.0 + skeleton_attr.hand.2 + short * 1.5 * walkintensity, + 1.0 + skeleton_attr.hand.2 + short * 0.75 * walkintensity, ); - next.r_hand.ori = Quaternion::rotation_x(0.2 + short * -1.2 * walk) + next.r_hand.ori = Quaternion::rotation_x(0.2 + short * -1.5 * walk) * Quaternion::rotation_y(wave_stop * 0.1); next.r_hand.scale = Vec3::one(); diff --git a/voxygen/src/anim/character/swim.rs b/voxygen/src/anim/character/swim.rs index 35787b7804..233bec9297 100644 --- a/voxygen/src/anim/character/swim.rs +++ b/voxygen/src/anim/character/swim.rs @@ -107,7 +107,7 @@ impl Animation for SwimAnimation { next.l_shoulder.offset = Vec3::new( -skeleton_attr.shoulder.0, - skeleton_attr.shoulder.0, + skeleton_attr.shoulder.1, skeleton_attr.shoulder.2, ); next.l_shoulder.ori = Quaternion::rotation_x(short * 0.15); @@ -115,7 +115,7 @@ impl Animation for SwimAnimation { next.r_shoulder.offset = Vec3::new( skeleton_attr.shoulder.0, - skeleton_attr.shoulder.0, + skeleton_attr.shoulder.1, skeleton_attr.shoulder.2, ); next.r_shoulder.ori = Quaternion::rotation_x(short * -0.15); diff --git a/voxygen/src/anim/dragon/idle.rs b/voxygen/src/anim/dragon/idle.rs index 76089250cd..2018abfd00 100644 --- a/voxygen/src/anim/dragon/idle.rs +++ b/voxygen/src/anim/dragon/idle.rs @@ -26,9 +26,8 @@ impl Animation for IdleAnimation { ) -> Self::Skeleton { let mut next = (*skeleton).clone(); - let wave_ultra_slow = (anim_time as f32 * 1.0 + PI).sin(); - let wave_ultra_slow_cos = (anim_time as f32 * 3.0 + PI).cos(); - let wave_slow = (anim_time as f32 * 4.5).sin(); + let ultra_slow = (anim_time as f32 * 1.0).sin(); + let wave_slow = (anim_time as f32 * 2.5).sin(); let wave_slow_cos = (anim_time as f32 * 4.5).cos(); let look = Vec2::new( @@ -47,7 +46,7 @@ impl Animation for IdleAnimation { next.head_upper.offset = Vec3::new( 0.0, skeleton_attr.head_upper.0, - skeleton_attr.head_upper.1 + wave_ultra_slow * 0.20, + skeleton_attr.head_upper.1 + ultra_slow * 0.20, ) * 1.05; next.head_upper.ori = Quaternion::rotation_z(0.8 * look.x) * Quaternion::rotation_x(0.8 * look.y); @@ -56,7 +55,7 @@ impl Animation for IdleAnimation { next.head_lower.offset = Vec3::new( 0.0, skeleton_attr.head_lower.0, - skeleton_attr.head_lower.1 + wave_ultra_slow * 0.20, + skeleton_attr.head_lower.1 + ultra_slow * 0.20, ) * 1.05; next.head_lower.ori = Quaternion::rotation_z(0.8 * look.x) * Quaternion::rotation_x(0.8 * look.y); @@ -64,8 +63,8 @@ impl Animation for IdleAnimation { next.jaw.offset = Vec3::new( 0.0, - skeleton_attr.jaw.0 - wave_ultra_slow_cos * 0.12, - skeleton_attr.jaw.1 + wave_slow * 0.2, + skeleton_attr.jaw.0, + skeleton_attr.jaw.1, ) * 1.05; next.jaw.ori = Quaternion::rotation_x(wave_slow * 0.05); next.jaw.scale = Vec3::one() * 0.98; @@ -73,7 +72,7 @@ impl Animation for IdleAnimation { next.chest_front.offset = Vec3::new( 0.0, skeleton_attr.chest_front.0, - wave_slow * 0.3 + skeleton_attr.chest_front.1, + skeleton_attr.chest_front.1, ) * 1.05; next.chest_front.ori = Quaternion::rotation_y(wave_slow * 0.03); next.chest_front.scale = Vec3::one() * 1.05; @@ -81,7 +80,7 @@ impl Animation for IdleAnimation { next.chest_rear.offset = Vec3::new( 0.0, skeleton_attr.chest_rear.0, - wave_slow * 0.3 + skeleton_attr.chest_rear.1, + skeleton_attr.chest_rear.1, ) * 1.05; next.chest_rear.ori = Quaternion::rotation_y(wave_slow * 0.03); next.chest_rear.scale = Vec3::one() * 1.05; @@ -99,7 +98,7 @@ impl Animation for IdleAnimation { skeleton_attr.wing_in.1, skeleton_attr.wing_in.2, ); - next.wing_in_l.ori = Quaternion::rotation_y(1.3); + next.wing_in_l.ori = Quaternion::rotation_y(0.2); next.wing_in_l.scale = Vec3::one() * 1.05; next.wing_in_r.offset = Vec3::new( @@ -107,7 +106,7 @@ impl Animation for IdleAnimation { skeleton_attr.wing_in.1, skeleton_attr.wing_in.2, ); - next.wing_in_r.ori = Quaternion::rotation_y(-1.3); + next.wing_in_r.ori = Quaternion::rotation_y(-0.2);//.8 next.wing_in_r.scale = Vec3::one() * 1.05; next.wing_out_l.offset = Vec3::new( @@ -115,7 +114,7 @@ impl Animation for IdleAnimation { skeleton_attr.wing_out.1, skeleton_attr.wing_out.2 + *OFF1, ); - next.wing_out_l.ori = Quaternion::rotation_y(*TEST_L); + next.wing_out_l.ori = Quaternion::rotation_y(-0.3);//2.0 next.wing_out_l.scale = Vec3::one() * 1.05; next.wing_out_r.offset = Vec3::new( @@ -123,7 +122,7 @@ impl Animation for IdleAnimation { skeleton_attr.wing_out.1, skeleton_attr.wing_out.2 + *OFF2, ); - next.wing_out_r.ori = Quaternion::rotation_y(*TEST_R); + next.wing_out_r.ori = Quaternion::rotation_y(0.3); next.wing_out_r.scale = Vec3::one() * 1.05; next.foot_fl.offset = Vec3::new( diff --git a/voxygen/src/anim/dragon/mod.rs b/voxygen/src/anim/dragon/mod.rs index 28a84c377f..8b8b3bce23 100644 --- a/voxygen/src/anim/dragon/mod.rs +++ b/voxygen/src/anim/dragon/mod.rs @@ -43,7 +43,7 @@ const WING_IN_X: f32 = 2.5; #[const_tweaker::tweak(min = -40.0, max = 40.0, step = 0.5)] const WING_IN_Y: f32 = -16.5; #[const_tweaker::tweak(min = -40.0, max = 40.0, step = 0.5)] -const WING_IN_Z: f32 = 3.0; +const WING_IN_Z: f32 = 0.0; #[const_tweaker::tweak(min = -40.0, max = 40.0, step = 0.5)] const WING_OUT_X: f32 = 23.0; #[const_tweaker::tweak(min = -40.0, max = 40.0, step = 0.5)] diff --git a/voxygen/src/anim/dragon/run.rs b/voxygen/src/anim/dragon/run.rs index 8f24e75967..14a343e94a 100644 --- a/voxygen/src/anim/dragon/run.rs +++ b/voxygen/src/anim/dragon/run.rs @@ -151,7 +151,7 @@ impl Animation for RunAnimation { skeleton_attr.wing_in.1, skeleton_attr.wing_in.2, ); - next.wing_in_l.ori = Quaternion::rotation_y(1.3); + next.wing_in_l.ori = Quaternion::rotation_y(0.8); next.wing_in_l.scale = Vec3::one() * 1.05; next.wing_in_r.offset = Vec3::new( @@ -159,7 +159,7 @@ impl Animation for RunAnimation { skeleton_attr.wing_in.1, skeleton_attr.wing_in.2, ); - next.wing_in_r.ori = Quaternion::rotation_y(-1.3); + next.wing_in_r.ori = Quaternion::rotation_y(-0.8); next.wing_in_r.scale = Vec3::one() * 1.05; next.wing_out_l.offset = Vec3::new( @@ -167,7 +167,7 @@ impl Animation for RunAnimation { skeleton_attr.wing_out.1, skeleton_attr.wing_out.2 - 1.4, ); - next.wing_out_l.ori = Quaternion::rotation_y(-2.5); + next.wing_out_l.ori = Quaternion::rotation_y(-2.0); next.wing_out_l.scale = Vec3::one() * 1.05; next.wing_out_r.offset = Vec3::new( @@ -175,7 +175,7 @@ impl Animation for RunAnimation { skeleton_attr.wing_out.1, skeleton_attr.wing_out.2 - 1.4, ); - next.wing_out_r.ori = Quaternion::rotation_y(2.5); + next.wing_out_r.ori = Quaternion::rotation_y(2.0); next.wing_out_r.scale = Vec3::one() * 1.05; next