diff options
author | Malcolm Nixon <Malcolm.nixon@gmail.com> | 2024-02-24 19:20:11 -0500 |
---|---|---|
committer | Malcolm Nixon <Malcolm.nixon@gmail.com> | 2024-02-27 19:51:59 -0500 |
commit | 57aa7345627075fa4cf3f1de33bcddf67baafe80 (patch) | |
tree | 65197395e798f2db30789ae4f0e65c0cf6e2b8f1 /servers/xr_server.h | |
parent | bb6b06c81343073f10cbbd2af515cf0dac1e6549 (diff) | |
download | redot-engine-57aa7345627075fa4cf3f1de33bcddf67baafe80.tar.gz |
Add body tracking support.
Diffstat (limited to 'servers/xr_server.h')
-rw-r--r-- | servers/xr_server.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/servers/xr_server.h b/servers/xr_server.h index 3e45bbb76c..6aaa34b21d 100644 --- a/servers/xr_server.h +++ b/servers/xr_server.h @@ -41,6 +41,7 @@ class XRInterface; class XRPositionalTracker; class XRHandTracker; class XRFaceTracker; +class XRBodyTracker; /** The XR server is a singleton object that gives access to the various @@ -89,6 +90,7 @@ private: Dictionary trackers; Dictionary hand_trackers; Dictionary face_trackers; + Dictionary body_trackers; Ref<XRInterface> primary_interface; /* we'll identify one interface as primary, this will be used by our viewports */ @@ -203,6 +205,14 @@ public: Dictionary get_face_trackers() const; Ref<XRFaceTracker> get_face_tracker(const StringName &p_tracker_name) const; + /* + Body trackers are objects that expose the tracked joints of a body. + */ + void add_body_tracker(const StringName &p_tracker_name, Ref<XRBodyTracker> p_face_tracker); + void remove_body_tracker(const StringName &p_tracker_name); + Dictionary get_body_trackers() const; + Ref<XRBodyTracker> get_body_tracker(const StringName &p_tracker_name) const; + // Process is called before we handle our physics process and game process. This is where our interfaces will update controller data and such. void _process(); |