mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Added correct gliding animation calculation
Former-commit-id: 625310820c9cf7a1d37401875db43b5b597eb590
This commit is contained in:
parent
6db00e371d
commit
bb95f5bf78
@ -41,7 +41,7 @@ impl<'a> System<'a> for Sys {
|
||||
.unwrap_or(false)
|
||||
&& vel.0.z <= 0.0;
|
||||
|
||||
let friction = if on_ground {
|
||||
let (gliding, friction) = if on_ground {
|
||||
// TODO: Don't hard-code this
|
||||
// Apply physics to the player: acceleration and non-linear decceleration
|
||||
vel.0 += control.move_dir * 4.0;
|
||||
@ -50,7 +50,7 @@ impl<'a> System<'a> for Sys {
|
||||
vel.0.z += 16.0;
|
||||
}
|
||||
|
||||
0.15
|
||||
(false, 0.15)
|
||||
} else {
|
||||
// TODO: Don't hard-code this
|
||||
// Apply physics to the player: acceleration and non-linear decceleration
|
||||
@ -61,9 +61,9 @@ impl<'a> System<'a> for Sys {
|
||||
let anti_grav = 9.81 * 3.95;
|
||||
vel.0.z += anti_grav * dt.0 * Vec2::<f32>::from(vel.0 * 0.15).magnitude().min(1.0);
|
||||
|
||||
0.008
|
||||
(true, 0.008)
|
||||
} else {
|
||||
0.015
|
||||
(false, 0.015)
|
||||
}
|
||||
};
|
||||
|
||||
@ -80,8 +80,10 @@ impl<'a> System<'a> for Sys {
|
||||
} else {
|
||||
Animation::Idle
|
||||
}
|
||||
} else {
|
||||
} else if gliding {
|
||||
Animation::Gliding
|
||||
} else {
|
||||
Animation::Jump
|
||||
};
|
||||
|
||||
let last_history = anims.get_mut(entity).cloned();
|
||||
|
Loading…
Reference in New Issue
Block a user