gdvrpn/addons/vrpn/scripts/VRPN_Receiver.gd

20 lines
708 B
GDScript

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
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")