mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Merge branch 'constisfuture' into 'master'
make 11.0 a const Closes #26 See merge request veloren/veloren!55 Former-commit-id: 29e54e5546dee739a8dfb86c9d51c18afccfd9ea
This commit is contained in:
@ -8,6 +8,7 @@ use vek::*;
|
|||||||
use super::{
|
use super::{
|
||||||
CharacterSkeleton,
|
CharacterSkeleton,
|
||||||
super::Animation,
|
super::Animation,
|
||||||
|
SCALE,
|
||||||
};
|
};
|
||||||
|
|
||||||
pub struct IdleAnimation;
|
pub struct IdleAnimation;
|
||||||
@ -22,24 +23,24 @@ impl Animation for IdleAnimation {
|
|||||||
time: f64,
|
time: f64,
|
||||||
) -> Self::Skeleton {
|
) -> Self::Skeleton {
|
||||||
let mut next = (*skeleton).clone();
|
let mut next = (*skeleton).clone();
|
||||||
next.head.offset = Vec3::unit_z() * 13.0 / 11.0;
|
next.head.offset = Vec3::unit_z() * 13.0 / SCALE;
|
||||||
next.head.ori = Quaternion::rotation_z(0.0);
|
next.head.ori = Quaternion::rotation_z(0.0);
|
||||||
|
|
||||||
next.chest.offset = Vec3::unit_z() * 9.0 / 11.0;
|
next.chest.offset = Vec3::unit_z() * 9.0 / SCALE;
|
||||||
next.chest.ori = Quaternion::rotation_z(0.0);
|
next.chest.ori = Quaternion::rotation_z(0.0);
|
||||||
|
|
||||||
next.belt.offset = Vec3::unit_z() * 7.0 / 11.0;
|
next.belt.offset = Vec3::unit_z() * 7.0 / SCALE;
|
||||||
next.belt.ori = Quaternion::rotation_z(0.0);
|
next.belt.ori = Quaternion::rotation_z(0.0);
|
||||||
|
|
||||||
next.shorts.offset = Vec3::unit_z() * 4.0 / 11.0;
|
next.shorts.offset = Vec3::unit_z() * 4.0 / SCALE;
|
||||||
next.shorts.ori = Quaternion::rotation_z(0.0);
|
next.shorts.ori = Quaternion::rotation_z(0.0);
|
||||||
|
|
||||||
next.l_hand.offset = Vec3::new(-8.0, 0.0, 9.0) / 11.0;
|
next.l_hand.offset = Vec3::new(-8.0, 0.0, 9.0) / SCALE;
|
||||||
next.r_hand.offset = Vec3::new(8.0, 0.0, 9.0 ) / 11.0;
|
next.r_hand.offset = Vec3::new(8.0, 0.0, 9.0 ) / SCALE;
|
||||||
|
|
||||||
next.l_foot.offset = Vec3::new(-3.5, 0.0, 3.0) / 11.0;
|
next.l_foot.offset = Vec3::new(-3.5, 0.0, 3.0) / SCALE;
|
||||||
next.l_foot.ori = Quaternion::rotation_x(0.0);
|
next.l_foot.ori = Quaternion::rotation_x(0.0);
|
||||||
next.r_foot.offset = Vec3::new(3.5, 0.0, 3.0) / 11.0;
|
next.r_foot.offset = Vec3::new(3.5, 0.0, 3.0) / SCALE;
|
||||||
next.r_foot.ori = Quaternion::rotation_x(0.0);
|
next.r_foot.ori = Quaternion::rotation_x(0.0);
|
||||||
|
|
||||||
next.back.offset = Vec3::new(-9.0, 5.0, 18.0);
|
next.back.offset = Vec3::new(-9.0, 5.0, 18.0);
|
||||||
|
@ -14,6 +14,8 @@ use super::{
|
|||||||
Bone,
|
Bone,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const SCALE: f32 = 11.0;
|
||||||
|
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
pub struct CharacterSkeleton {
|
pub struct CharacterSkeleton {
|
||||||
head: Bone,
|
head: Bone,
|
||||||
|
@ -8,6 +8,7 @@ use vek::*;
|
|||||||
use super::{
|
use super::{
|
||||||
CharacterSkeleton,
|
CharacterSkeleton,
|
||||||
super::Animation,
|
super::Animation,
|
||||||
|
SCALE
|
||||||
};
|
};
|
||||||
|
|
||||||
pub struct RunAnimation;
|
pub struct RunAnimation;
|
||||||
@ -26,24 +27,24 @@ impl Animation for RunAnimation {
|
|||||||
let wave_slow = (time as f32 * 6.0 + PI).sin();
|
let wave_slow = (time as f32 * 6.0 + PI).sin();
|
||||||
let wave_dip = (wave_slow.abs() - 0.5).abs();
|
let wave_dip = (wave_slow.abs() - 0.5).abs();
|
||||||
|
|
||||||
next.head.offset = Vec3::unit_z() * 13.0 / 11.0;
|
next.head.offset = Vec3::unit_z() * 13.0 / SCALE;
|
||||||
next.head.ori = Quaternion::rotation_z(wave * 0.3);
|
next.head.ori = Quaternion::rotation_z(wave * 0.3);
|
||||||
|
|
||||||
next.chest.offset = Vec3::unit_z() * 9.0 / 11.0;
|
next.chest.offset = Vec3::unit_z() * 9.0 / SCALE;
|
||||||
next.chest.ori = Quaternion::rotation_z(wave * 0.3);
|
next.chest.ori = Quaternion::rotation_z(wave * 0.3);
|
||||||
|
|
||||||
next.belt.offset = Vec3::unit_z() * 7.0 / 11.0;
|
next.belt.offset = Vec3::unit_z() * 7.0 / SCALE;
|
||||||
next.belt.ori = Quaternion::rotation_z(wave * 0.2);
|
next.belt.ori = Quaternion::rotation_z(wave * 0.2);
|
||||||
|
|
||||||
next.shorts.offset = Vec3::unit_z() * 4.0 / 11.0;
|
next.shorts.offset = Vec3::unit_z() * 4.0 / SCALE;
|
||||||
next.shorts.ori = Quaternion::rotation_z(wave * 0.1);
|
next.shorts.ori = Quaternion::rotation_z(wave * 0.1);
|
||||||
|
|
||||||
next.l_hand.offset = Vec3::new(-6.0 - wave_dip * 6.0, wave * 5.0, 11.0 - wave_dip * 6.0) / 11.0;
|
next.l_hand.offset = Vec3::new(-6.0 - wave_dip * 6.0, wave * 5.0, 11.0 - wave_dip * 6.0) / SCALE;
|
||||||
next.r_hand.offset = Vec3::new(6.0 + wave_dip * 6.0, -wave * 5.0, 11.0 - wave_dip * 6.0) / 11.0;
|
next.r_hand.offset = Vec3::new(6.0 + wave_dip * 6.0, -wave * 5.0, 11.0 - wave_dip * 6.0) / SCALE;
|
||||||
|
|
||||||
next.l_foot.offset = Vec3::new(-3.5, 1.0 - wave * 8.0, 3.5 - wave_dip * 4.0) / 11.0;
|
next.l_foot.offset = Vec3::new(-3.5, 1.0 - wave * 8.0, 3.5 - wave_dip * 4.0) / SCALE;
|
||||||
next.l_foot.ori = Quaternion::rotation_x(-wave + 1.0);
|
next.l_foot.ori = Quaternion::rotation_x(-wave + 1.0);
|
||||||
next.r_foot.offset = Vec3::new(3.5, 1.0 + wave * 8.0, 3.5 - wave_dip * 4.0) / 11.0;
|
next.r_foot.offset = Vec3::new(3.5, 1.0 + wave * 8.0, 3.5 - wave_dip * 4.0) / SCALE;
|
||||||
next.r_foot.ori = Quaternion::rotation_x(wave + 1.0);
|
next.r_foot.ori = Quaternion::rotation_x(wave + 1.0);
|
||||||
|
|
||||||
next.back.offset = Vec3::new(-9.0, 5.0, 18.0);
|
next.back.offset = Vec3::new(-9.0, 5.0, 18.0);
|
||||||
|
Reference in New Issue
Block a user