working on transformations
This commit is contained in:
parent
6e3a2b75e6
commit
eec75a9bbb
2 changed files with 23 additions and 10 deletions
20
Root.tscn
20
Root.tscn
|
@ -7,31 +7,43 @@
|
||||||
size = Vector3(0.1, 0.1, 0.1)
|
size = Vector3(0.1, 0.1, 0.1)
|
||||||
|
|
||||||
[sub_resource type="PlaneMesh" id="PlaneMesh_24d08"]
|
[sub_resource type="PlaneMesh" id="PlaneMesh_24d08"]
|
||||||
|
size = Vector2(6, 2)
|
||||||
|
|
||||||
[node name="Node3D" type="Node3D"]
|
[node name="Node3D" type="Node3D"]
|
||||||
|
|
||||||
[node name="Camera3D" type="Camera3D" parent="."]
|
[node name="Camera3D" type="Camera3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.663209, 1.65503)
|
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0, 0.663209, -0.79419)
|
||||||
|
|
||||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
||||||
transform = Transform3D(0.789213, -0.342763, 0.509566, 0, 0.829749, 0.558136, -0.61412, -0.440488, 0.654849, 0, 0.631436, 0)
|
transform = Transform3D(-0.878275, 0.266876, -0.396749, -7.71365e-11, 0.829749, 0.558137, 0.478155, 0.490197, -0.728748, 0, 0.631436, 0)
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
|
|
||||||
[node name="Root" type="Node3D" parent="."]
|
[node name="Root" type="Node3D" parent="."]
|
||||||
|
|
||||||
[node name="VRPN" type="Node3D" parent="Root" node_paths=PackedStringArray("tracker_receivers")]
|
[node name="VRPN" type="Node3D" parent="Root" node_paths=PackedStringArray("tracker_receivers")]
|
||||||
script = ExtResource("2_24d08")
|
script = ExtResource("2_24d08")
|
||||||
tracker_receivers = [NodePath("RB1")]
|
tracker_receivers = [NodePath("RB1"), NodePath("RB2")]
|
||||||
vrpn_server = "212.201.64.122"
|
vrpn_server = "212.201.64.122"
|
||||||
|
|
||||||
[node name="RB1" type="Node3D" parent="Root/VRPN"]
|
[node name="RB1" type="Node3D" parent="Root/VRPN"]
|
||||||
script = ExtResource("2_170dk")
|
script = ExtResource("2_170dk")
|
||||||
tracker_name = "RB1"
|
tracker_name = "RB1"
|
||||||
|
tracker_eulerorder = 1
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Root/VRPN/RB1"]
|
[node name="Box" type="MeshInstance3D" parent="Root/VRPN/RB1"]
|
||||||
mesh = SubResource("BoxMesh_24d08")
|
mesh = SubResource("BoxMesh_24d08")
|
||||||
|
|
||||||
[node name="RB2" type="Node3D" parent="Root/VRPN"]
|
[node name="RB2" type="Node3D" parent="Root/VRPN"]
|
||||||
|
script = ExtResource("2_170dk")
|
||||||
|
tracker_name = "RB2"
|
||||||
|
|
||||||
|
[node name="Box2" type="MeshInstance3D" parent="Root/VRPN/RB2"]
|
||||||
|
mesh = SubResource("BoxMesh_24d08")
|
||||||
|
skeleton = NodePath("../../RB1")
|
||||||
|
|
||||||
[node name="Floor" type="MeshInstance3D" parent="Root"]
|
[node name="Floor" type="MeshInstance3D" parent="Root"]
|
||||||
mesh = SubResource("PlaneMesh_24d08")
|
mesh = SubResource("PlaneMesh_24d08")
|
||||||
|
|
||||||
|
[node name="Wall" type="MeshInstance3D" parent="Root"]
|
||||||
|
transform = Transform3D(-1, 8.74228e-08, -3.82137e-15, 0, -4.37114e-08, -1, -8.74228e-08, -1, 4.37114e-08, 0, 0.93633, 1.06259)
|
||||||
|
mesh = SubResource("PlaneMesh_24d08")
|
||||||
|
|
|
@ -4,15 +4,16 @@ class_name VRPN_Receiver
|
||||||
|
|
||||||
@export var tracker_name : String = "Tracker0"
|
@export var tracker_name : String = "Tracker0"
|
||||||
@export var tracker_sensor : int = 0
|
@export var tracker_sensor : int = 0
|
||||||
|
@export var tracker_eulerorder : EulerOrder = EULER_ORDER_XYZ
|
||||||
|
|
||||||
func _on_pos_quat(tracker_data : Dictionary):
|
func _on_pos_quat(tracker_data : Dictionary):
|
||||||
|
|
||||||
if tracker_data['tracker'] == tracker_name and tracker_data['sensor'] == tracker_sensor:
|
if tracker_data['tracker'] == tracker_name and tracker_data['sensor'] == tracker_sensor:
|
||||||
|
|
||||||
|
|
||||||
self.global_position = tracker_data['position']
|
self.global_position = tracker_data['position']
|
||||||
# okay, Godot transformation stack is weird! Why would anybody expose
|
var rotation := tracker_data['rotation'] as Quaternion
|
||||||
self.global_rotation = tracker_data['rotation'].get_euler()
|
|
||||||
|
rotation.x *= -1
|
||||||
print(tracker_data)
|
self.global_basis = Basis(rotation)
|
||||||
|
|
||||||
|
#print(tracker_data)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue