2025-07-02 22:09:36 +02:00
|
|
|
extends Node3D
|
|
|
|
|
|
|
|
class_name VRPN_Receiver
|
|
|
|
|
|
|
|
@export var tracker_name : String = "Tracker0"
|
|
|
|
@export var tracker_sensor : int = 0
|
|
|
|
@export var tracker_use_position : bool = true
|
|
|
|
@export var tracker_use_rotation : bool = true
|
|
|
|
|
2025-07-03 10:27:08 +02:00
|
|
|
func _on_tracker(tracker_data : Dictionary):
|
|
|
|
match tracker_data['type'] as VRPN.TrackingDataType:
|
|
|
|
VRPN.TrackingDataType.POS_QUAT:
|
|
|
|
if tracker_data['tracker'] == tracker_name and tracker_data['sensor'] == tracker_sensor:
|
|
|
|
if tracker_use_position:
|
|
|
|
self.global_position = tracker_data['position']
|
|
|
|
if tracker_use_rotation:
|
|
|
|
var rotation := tracker_data['rotation'] as Quaternion
|
|
|
|
self.global_basis = Basis(rotation)
|
|
|
|
_:
|
|
|
|
push_warning("unknown tracker datatype")
|