diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-02-02 12:03:09 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-02-02 12:03:09 +0100 |
commit | fb5f34a75a4b2e2becb97448b2bfcaf9ae214cd5 (patch) | |
tree | e30d48e7eedbe80357ee9a0ae5d2d5be0e94b934 /servers/xr_server.cpp | |
parent | 24a2560d3050ce5fd978e0c37871852340003a4a (diff) | |
parent | 5935bfa8603b7c22df4ea777a688723a408e6c5d (diff) | |
download | redot-engine-fb5f34a75a4b2e2becb97448b2bfcaf9ae214cd5.tar.gz |
Merge pull request #87745 from dsnopek/openxr-change-reference-space
OpenXR: Allow changing play area mode during active session
Diffstat (limited to 'servers/xr_server.cpp')
-rw-r--r-- | servers/xr_server.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/servers/xr_server.cpp b/servers/xr_server.cpp index 0bc8dbee18..e7f644d53f 100644 --- a/servers/xr_server.cpp +++ b/servers/xr_server.cpp @@ -55,6 +55,7 @@ void XRServer::_bind_methods() { ClassDB::bind_method(D_METHOD("get_world_origin"), &XRServer::get_world_origin); ClassDB::bind_method(D_METHOD("set_world_origin", "world_origin"), &XRServer::set_world_origin); ClassDB::bind_method(D_METHOD("get_reference_frame"), &XRServer::get_reference_frame); + ClassDB::bind_method(D_METHOD("clear_reference_frame"), &XRServer::get_reference_frame); ClassDB::bind_method(D_METHOD("center_on_hmd", "rotation_mode", "keep_height"), &XRServer::center_on_hmd); ClassDB::bind_method(D_METHOD("get_hmd_transform"), &XRServer::get_hmd_transform); @@ -158,6 +159,10 @@ void XRServer::center_on_hmd(RotationMode p_rotation_mode, bool p_keep_height) { reference_frame = new_reference_frame.inverse(); }; +void XRServer::clear_reference_frame() { + reference_frame = Transform3D(); +} + Transform3D XRServer::get_hmd_transform() { Transform3D hmd_transform; if (primary_interface != nullptr) { |