Small improvements for Android
This commit is contained in:
parent
671f5cae12
commit
a21bb55d00
|
@ -4,16 +4,14 @@ extends Node3D
|
|||
@export var rigged_hands : Node3D
|
||||
@export var spawner : CubeSpawner
|
||||
@export var cube_material : PhysicsMaterial
|
||||
@export var xr : bool = true
|
||||
|
||||
var xr_interface: XRInterface
|
||||
|
||||
func _ready():
|
||||
if not xr:
|
||||
if not ProjectSettings.get_setting_with_override("xr/openxr/enabled"):
|
||||
var player : Resource = load("res://scenes/Players/Player.tscn")
|
||||
var player_node : Node3D = player.instantiate()
|
||||
add_child(player_node)
|
||||
|
||||
return
|
||||
xr_interface = XRServer.find_interface("OpenXR")
|
||||
if xr_interface and xr_interface.is_initialized():
|
||||
|
|
|
@ -3,11 +3,11 @@ class_name OriginHands
|
|||
|
||||
@export var tracking : UltraleapDeviceNode
|
||||
|
||||
var gizmos : Array = []
|
||||
var gizmos : Array[Node3D] = []
|
||||
var dry_run : bool = false
|
||||
|
||||
func _ready():
|
||||
var scene = preload("res://models/Origin.tscn")
|
||||
var scene : PackedScene = preload("res://models/Origin.tscn")
|
||||
|
||||
dry_run = true
|
||||
var n : int = set_hand(tracking.get_last_frame().left_hand, 0)
|
||||
|
@ -17,7 +17,7 @@ func _ready():
|
|||
print(str(n) + " bones")
|
||||
|
||||
for i in range(n):
|
||||
var instance = scene.instantiate(PackedScene.GEN_EDIT_STATE_INSTANCE)
|
||||
var instance : Node3D = scene.instantiate()
|
||||
add_child(instance)
|
||||
instance.owner = self
|
||||
instance.name = "Joint" + str(i)
|
||||
|
@ -51,20 +51,32 @@ func set_finger(finger_name : String, hand : UltraleapHand, index : int) -> int:
|
|||
func set_bone(bone_name : String, finger : UltraleapDigit, index : int):
|
||||
if dry_run:
|
||||
return index + 1
|
||||
|
||||
var bone_transform : Transform3D = tracking.global_transform * Transform3D(
|
||||
Basis(finger.get(bone_name).rotation),
|
||||
finger.get(bone_name).prev_joint
|
||||
)
|
||||
|
||||
gizmos[index].position = finger.get(bone_name).prev_joint
|
||||
gizmos[index].rotation = finger.get(bone_name).rotation.get_euler()
|
||||
gizmos[index].global_transform = bone_transform
|
||||
return index + 1
|
||||
|
||||
func set_arm(hand : UltraleapHand, index : int) -> int:
|
||||
if dry_run:
|
||||
return index + 2
|
||||
|
||||
|
||||
var arm : UltraleapBone = hand.arm
|
||||
gizmos[index].position = arm.prev_joint
|
||||
gizmos[index].rotation = arm.rotation.get_euler()
|
||||
|
||||
gizmos[index + 1].position = arm.next_joint
|
||||
gizmos[index + 1].rotation = arm.rotation.get_euler()
|
||||
|
||||
var wrist_transform : Transform3D = tracking.global_transform * Transform3D(
|
||||
Basis(arm.rotation),
|
||||
arm.prev_joint
|
||||
)
|
||||
|
||||
var elbow_transform : Transform3D = tracking.global_transform * Transform3D(
|
||||
Basis(arm.rotation),
|
||||
arm.next_joint
|
||||
)
|
||||
|
||||
gizmos[index].global_transform = elbow_transform
|
||||
gizmos[index + 1].global_transform = wrist_transform
|
||||
|
||||
return index + 2
|
||||
|
|
Loading…
Reference in New Issue