Compare commits
2 commits
1cc6380a57
...
2a701c0ac7
Author | SHA1 | Date | |
---|---|---|---|
|
2a701c0ac7 | ||
|
925bac2114 |
6 changed files with 90 additions and 15 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,3 +1,4 @@
|
|||
# Godot 4+ specific ignores
|
||||
.godot/
|
||||
/android/
|
||||
*.blend?
|
||||
|
|
34
Root.tscn
34
Root.tscn
|
@ -1,7 +1,8 @@
|
|||
[gd_scene load_steps=5 format=3 uid="uid://bj5ykdjle10tt"]
|
||||
[gd_scene load_steps=6 format=3 uid="uid://bj5ykdjle10tt"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dmq3i7qmo1qe0" path="res://VRPN.gd" id="2_24d08"]
|
||||
[ext_resource type="Script" uid="uid://dpj1wrvfsiq4v" path="res://VRPN_Receiver.gd" id="2_170dk"]
|
||||
[ext_resource type="PackedScene" uid="uid://b426fy7d6jw2d" path="res://axis.blend" id="3_170dk"]
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_24d08"]
|
||||
size = Vector3(0.1, 0.1, 0.1)
|
||||
|
@ -53,22 +54,26 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.764802, 0)
|
|||
script = ExtResource("2_170dk")
|
||||
tracker_name = "Tracker1"
|
||||
|
||||
[node name="Box2" type="MeshInstance3D" parent="Root/SpinTracker/Tracker1"]
|
||||
mesh = SubResource("BoxMesh_24d08")
|
||||
skeleton = NodePath("../../RB1")
|
||||
[node name="axis2" parent="Root/SpinTracker/Tracker1" instance=ExtResource("3_170dk")]
|
||||
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
|
||||
|
||||
[node name="Label3D2" type="Label3D" parent="Root/SpinTracker/Tracker1"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.759683, 0)
|
||||
text = "Y-Axis"
|
||||
|
||||
[node name="Offset2" type="Node3D" parent="Root/SpinTracker"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.40838, 0, 0)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 0)
|
||||
|
||||
[node name="Tracker2" type="Node3D" parent="Root/SpinTracker/Offset2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.40838, 0, 0)
|
||||
script = ExtResource("2_170dk")
|
||||
tracker_name = "Tracker2"
|
||||
|
||||
[node name="Box2" type="MeshInstance3D" parent="Root/SpinTracker/Offset2/Tracker2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.40838, 0, 0)
|
||||
mesh = SubResource("BoxMesh_24d08")
|
||||
skeleton = NodePath("../../RB1")
|
||||
[node name="axis" parent="Root/SpinTracker/Offset2/Tracker2" instance=ExtResource("3_170dk")]
|
||||
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
|
||||
|
||||
[node name="Label3D3" type="Label3D" parent="Root/SpinTracker/Offset2/Tracker2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.764205, 0)
|
||||
text = "Z-Axis"
|
||||
|
||||
[node name="Offset0" type="Node3D" parent="Root/SpinTracker"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0)
|
||||
|
@ -76,6 +81,9 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0)
|
|||
[node name="Tracker0" type="Node3D" parent="Root/SpinTracker/Offset0"]
|
||||
script = ExtResource("2_170dk")
|
||||
|
||||
[node name="Box2" type="MeshInstance3D" parent="Root/SpinTracker/Offset0/Tracker0"]
|
||||
mesh = SubResource("BoxMesh_24d08")
|
||||
skeleton = NodePath("../../RB1")
|
||||
[node name="axis" parent="Root/SpinTracker/Offset0/Tracker0" instance=ExtResource("3_170dk")]
|
||||
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
|
||||
|
||||
[node name="Label3D" type="Label3D" parent="Root/SpinTracker/Offset0/Tracker0"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.769847, 0)
|
||||
text = "X-Axis"
|
||||
|
|
3
VRPN.gd
3
VRPN.gd
|
@ -176,7 +176,8 @@ static func marshall_body(data : PackedByteArray,message_type : int, sender_id:
|
|||
var quat_x = body.get_double()
|
||||
var quat_y = body.get_double()
|
||||
var quat_z = body.get_double()
|
||||
var quat = Quaternion(quat_x,quat_y,quat_z,quat_w).normalized()
|
||||
#var quat = Quaternion(quat_x,quat_y,quat_z,quat_w).normalized()
|
||||
var quat = Quaternion(quat_w,quat_x,quat_y,quat_z).normalized()
|
||||
|
||||
for r in session.tracker_receivers:
|
||||
r._on_pos_quat({
|
||||
|
|
|
@ -11,4 +11,7 @@ func _on_pos_quat(tracker_data : Dictionary):
|
|||
#self.global_position = tracker_data['position']
|
||||
var rotation := tracker_data['rotation'] as Quaternion
|
||||
|
||||
self.global_basis = Basis(rotation)
|
||||
var rot_basis = Basis(rotation)
|
||||
|
||||
self.global_basis = rot_basis
|
||||
#self.global_basis = Basis(rot_basis.z,-rot_basis.y,rot_basis.x)
|
||||
|
|
BIN
axis.blend
Normal file
BIN
axis.blend
Normal file
Binary file not shown.
62
axis.blend.import
Normal file
62
axis.blend.import
Normal file
|
@ -0,0 +1,62 @@
|
|||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://b426fy7d6jw2d"
|
||||
path="res://.godot/imported/axis.blend-5b7f41137e49e6b98e717dd423c9150b.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://axis.blend"
|
||||
dest_files=["res://.godot/imported/axis.blend-5b7f41137e49e6b98e717dd423c9150b.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
_subresources={
|
||||
"nodes": {
|
||||
"PATH:Camera": {
|
||||
"import/skip_import": true
|
||||
},
|
||||
"PATH:Light": {
|
||||
"import/skip_import": true
|
||||
}
|
||||
}
|
||||
}
|
||||
blender/nodes/visible=0
|
||||
blender/nodes/active_collection_only=false
|
||||
blender/nodes/punctual_lights=true
|
||||
blender/nodes/cameras=true
|
||||
blender/nodes/custom_properties=true
|
||||
blender/nodes/modifiers=1
|
||||
blender/meshes/colors=false
|
||||
blender/meshes/uvs=true
|
||||
blender/meshes/normals=true
|
||||
blender/meshes/export_geometry_nodes_instances=false
|
||||
blender/meshes/tangents=true
|
||||
blender/meshes/skins=2
|
||||
blender/meshes/export_bones_deforming_mesh_only=false
|
||||
blender/materials/unpack_enabled=true
|
||||
blender/materials/export_materials=1
|
||||
blender/animation/limit_playback=true
|
||||
blender/animation/always_sample=true
|
||||
blender/animation/group_tracks=true
|
Loading…
Add table
Add a link
Reference in a new issue