Change AxisSettings livezone default (#10090)

# Objective

While using joysticks for player aiming, I noticed that there was as
`0.05` value snap on the axis. After searching through Bevy's code, I
saw it was the default livezone being at `0.95`. This causes any value
higher to snap to `1.0`. I think `1.0` and `-1.0` would be a better
default, as it gives all values to the joystick arc.
 
This default livezone stumped me for a bit as I thought either something
was broken or I was doing something wrong.

## Solution

Change the livezone defaults to ` livezone_upperbound: 1.0` and
`livezone_lowerbound: -1.0`.

---

## Migration Guide

If the default 0.05 was relied on, the default or gamepad `AxisSettings`
on the resource `GamepadSettings` will have to be changed.
This commit is contained in:
Tomato 2023-10-12 10:58:32 -07:00 committed by GitHub
parent bb13d065d3
commit c8fd390ced
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -631,10 +631,10 @@ pub struct AxisSettings {
impl Default for AxisSettings { impl Default for AxisSettings {
fn default() -> Self { fn default() -> Self {
AxisSettings { AxisSettings {
livezone_upperbound: 0.95, livezone_upperbound: 1.0,
deadzone_upperbound: 0.05, deadzone_upperbound: 0.05,
deadzone_lowerbound: -0.05, deadzone_lowerbound: -0.05,
livezone_lowerbound: -0.95, livezone_lowerbound: -1.0,
threshold: 0.01, threshold: 0.01,
} }
} }
@ -1529,7 +1529,7 @@ mod tests {
]; ];
for (new_value, expected) in cases { for (new_value, expected) in cases {
let settings = AxisSettings::default(); let settings = AxisSettings::new(-0.95, -0.05, 0.05, 0.95, 0.01).unwrap();
test_axis_settings_filter(settings, new_value, None, expected); test_axis_settings_filter(settings, new_value, None, expected);
} }
} }
@ -1556,7 +1556,7 @@ mod tests {
]; ];
for (new_value, old_value, expected) in cases { for (new_value, old_value, expected) in cases {
let settings = AxisSettings::default(); let settings = AxisSettings::new(-0.95, -0.05, 0.05, 0.95, 0.01).unwrap();
test_axis_settings_filter(settings, new_value, old_value, expected); test_axis_settings_filter(settings, new_value, old_value, expected);
} }
} }