Invert the Y-axis on thumbsticks and trackpads in WebXR
(cherry picked from commit 7a0d4275a2
)
This commit is contained in:
parent
3873a1331b
commit
bd0f5f50b2
1 changed files with 7 additions and 1 deletions
|
@ -602,7 +602,13 @@ const GodotWebXR = {
|
||||||
const buf = GodotRuntime.malloc((axes_count + 1) * 4);
|
const buf = GodotRuntime.malloc((axes_count + 1) * 4);
|
||||||
GodotRuntime.setHeapValue(buf, axes_count, 'i32');
|
GodotRuntime.setHeapValue(buf, axes_count, 'i32');
|
||||||
for (let i = 0; i < axes_count; i++) {
|
for (let i = 0; i < axes_count; i++) {
|
||||||
GodotRuntime.setHeapValue(buf + 4 + (i * 4), controller.gamepad.axes[i], 'float');
|
let value = controller.gamepad.axes[i];
|
||||||
|
if (i === 1 || i === 3) {
|
||||||
|
// Invert the Y-axis on thumbsticks and trackpads, in order to
|
||||||
|
// match OpenXR and other XR platform SDKs.
|
||||||
|
value *= -1.0;
|
||||||
|
}
|
||||||
|
GodotRuntime.setHeapValue(buf + 4 + (i * 4), value, 'float');
|
||||||
}
|
}
|
||||||
return buf;
|
return buf;
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in a new issue