Add interpolation to visualiser

This commit is contained in:
Rodolphe Houdas 2023-03-26 22:16:41 +01:00
parent 4a8216fecb
commit 06300f9f4a
2 changed files with 9 additions and 1 deletions

View file

@ -476,6 +476,7 @@ data_img = SubResource("Image_gt7mg")
[node name="Hands" type="Node3D" parent="."]
script = ExtResource("8_uah46")
tracking = NodePath("../UltraleapHandTracking")
use_interpolated_frames = true
[node name="LeftHand" type="Node3D" parent="Hands"]

View file

@ -3,6 +3,7 @@ extends Node3D
@export_node_path("UltraleapHandTracking", "UltraleapDeviceNode") var tracking
@export var hide_non_visible_hands : bool = true
@export var use_interpolated_frames : bool = false
var autorotate : bool = false
var inc : int = 1
@ -104,7 +105,13 @@ func get_frame_from_service():
get_node("RightHand").hide()
return
return tracking.devices[device_index].get_last_frame()
if not use_interpolated_frames:
return tracking.devices[device_index].get_last_frame()
var f : UltraleapFrame = tracking.devices[device_index].get_interpolated_frame(Time.get_ticks_usec())
if f == null:
return tracking.devices[device_index].get_last_frame()
return f
func set_hand_transform(hand : UltraleapHand, chirality : UltraleapTypes.Chirality):
var chirality_str = chirality_to_str(chirality)