mirror of
https://github.com/godotengine/godot.git
synced 2025-12-08 06:09:55 +00:00
Fix touch events in WebXR with an "immersive-ar" session
(cherry picked from commit 5ea11fb481)
This commit is contained in:
parent
c363d2d5b3
commit
8b1ec31a4b
1 changed files with 8 additions and 1 deletions
|
|
@ -562,8 +562,15 @@ Vector2 WebXRInterfaceJS::_get_joy_vector_from_axes(int *p_axes) {
|
||||||
}
|
}
|
||||||
|
|
||||||
Vector2 WebXRInterfaceJS::_get_screen_position_from_joy_vector(const Vector2 &p_joy_vector) {
|
Vector2 WebXRInterfaceJS::_get_screen_position_from_joy_vector(const Vector2 &p_joy_vector) {
|
||||||
|
SceneTree *scene_tree = Object::cast_to<SceneTree>(OS::get_singleton()->get_main_loop());
|
||||||
|
if (!scene_tree) {
|
||||||
|
return Vector2();
|
||||||
|
}
|
||||||
|
|
||||||
|
Viewport *viewport = scene_tree->get_root();
|
||||||
|
|
||||||
Vector2 position_percentage((p_joy_vector.x + 1.0f) / 2.0f, ((p_joy_vector.y) + 1.0f) / 2.0f);
|
Vector2 position_percentage((p_joy_vector.x + 1.0f) / 2.0f, ((p_joy_vector.y) + 1.0f) / 2.0f);
|
||||||
Vector2 position = get_render_targetsize() * position_percentage;
|
Vector2 position = viewport->get_size() * position_percentage;
|
||||||
|
|
||||||
return position;
|
return position;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue