From 34bf10eb187fe19c219fb86cbc88166e89d5ea1a Mon Sep 17 00:00:00 2001 From: CrispyPin Date: Thu, 20 May 2021 09:57:48 +0200 Subject: [PATCH] plugin: cleanup --- ovr-utils/Main.tscn | 24 ++++++-------- .../interaction/overlay_interaction.gd | 21 +----------- .../addons/openvr_overlay/overlay_instance.gd | 20 ++++++------ ovr-utils/overlays/UI_demo.tscn | 32 ++++++++----------- ovr-utils/temp.gd | 6 ---- 5 files changed, 34 insertions(+), 69 deletions(-) delete mode 100644 ovr-utils/temp.gd diff --git a/ovr-utils/Main.tscn b/ovr-utils/Main.tscn index 8679985..62279f5 100644 --- a/ovr-utils/Main.tscn +++ b/ovr-utils/Main.tscn @@ -1,9 +1,8 @@ -[gd_scene load_steps=9 format=2] +[gd_scene load_steps=8 format=2] [ext_resource path="res://addons/openvr_overlay/OverlayInstance.tscn" type="PackedScene" id=1] [ext_resource path="res://overlays/FPSOverlay.tscn" type="PackedScene" id=2] [ext_resource path="res://overlays/TimeOverlay.tscn" type="PackedScene" id=3] -[ext_resource path="res://temp.gd" type="Script" id=4] [ext_resource path="res://overlays/UI_demo.tscn" type="PackedScene" id=5] [ext_resource path="res://overlays/BatteryOverlay.tscn" type="PackedScene" id=7] [ext_resource path="res://addons/openvr_overlay/OverlayInteraction.tscn" type="PackedScene" id=8] @@ -13,15 +12,6 @@ background_mode = 1 background_color = Color( 0.113725, 0.0705882, 0.196078, 1 ) [node name="Overlays" type="Node"] -script = ExtResource( 4 ) - -[node name="OverlayInstance Battery" parent="." instance=ExtResource( 1 )] -target = 1 -overlay_scene = ExtResource( 7 ) -offset_pos = Vector3( -0.12, 0, 0.1 ) -offset_rot = Vector3( -135, 90, 0 ) - -[node name="OverlayInteraction" parent="OverlayInstance Battery" instance=ExtResource( 8 )] [node name="OverlayInstance FPS" parent="." instance=ExtResource( 1 )] target = 1 @@ -30,7 +20,7 @@ offset_pos = Vector3( 0.05, -0.01, 0.15 ) offset_rot = Vector3( -135, 90, 0 ) [node name="OverlayInstance Time" parent="." instance=ExtResource( 1 )] -target = 3 +target = 1 overlay_scene = ExtResource( 3 ) offset_pos = Vector3( -0.05, 0.02, 0.15 ) offset_rot = Vector3( -135, 90, 0 ) @@ -43,10 +33,16 @@ width_meters = 0.1 [node name="WorldEnvironment" type="WorldEnvironment" parent="."] environment = SubResource( 1 ) -[node name="OverlayInstance" parent="." instance=ExtResource( 1 )] +[node name="OverlayInstance Battery" parent="." instance=ExtResource( 1 )] +target = 1 +overlay_scene = ExtResource( 7 ) +offset_pos = Vector3( -0.12, 0, 0.1 ) +offset_rot = Vector3( -135, 90, 0 ) + +[node name="OverlayInstance UI demo" parent="." instance=ExtResource( 1 )] target = 1 overlay_scene = ExtResource( 5 ) offset_pos = Vector3( 0, 0, -0.2 ) offset_rot = Vector3( 0, 90, 0 ) -[node name="OverlayInteraction" parent="OverlayInstance" instance=ExtResource( 8 )] +[node name="OverlayInteraction" parent="OverlayInstance UI demo" instance=ExtResource( 8 )] diff --git a/ovr-utils/addons/openvr_overlay/interaction/overlay_interaction.gd b/ovr-utils/addons/openvr_overlay/interaction/overlay_interaction.gd index 53850e4..8278a4e 100644 --- a/ovr-utils/addons/openvr_overlay/interaction/overlay_interaction.gd +++ b/ovr-utils/addons/openvr_overlay/interaction/overlay_interaction.gd @@ -5,10 +5,6 @@ signal touch_off # a controller exited signal trigger_on # trigger pushed while touching signal trigger_off # trigger released -export var active_theme: Theme -export var normal_theme: Theme -export var touching_theme: Theme - var _touch_state = false setget ,get_touch_state var _trigger_state = false setget ,get_trigger_state @@ -79,13 +75,11 @@ func _trigger_on(controller): _active_controller = controller _trigger_state = true _send_click_event(true) - _update_selection() emit_signal("trigger_on") func _trigger_off(): _trigger_state = false - _update_selection() _send_click_event(false) emit_signal("trigger_off") @@ -95,8 +89,6 @@ func _on_OverlayArea_entered(body: Node) -> void: return _touch_state = true _active_controller = body.get_parent() - _update_selection() - _update_cursor() emit_signal("touch_on") @@ -105,24 +97,13 @@ func _on_OverlayArea_exited(body: Node) -> void: return _active_controller = null # TODO revert to other controller if both were touching (edge case) _touch_state = false - _update_selection() emit_signal("touch_off") -func _update_selection(): - return - if _trigger_state: - panel.theme = active_theme - elif _touch_state: - panel.theme = touching_theme - else: - panel.theme = normal_theme - - func _update_width(): var ratio = OverlayInit.ovr_interface.get_render_targetsize() var extents = get_parent().width_meters * 0.5 - _overlay_area.get_child(0).shape.set_extents(Vector3(extents, extents * ratio.y/ratio.x, 0.01)) + _overlay_area.get_child(0).shape.set_extents(Vector3(extents, extents * ratio.y/ratio.x, 0.1)) func _update_offset(): diff --git a/ovr-utils/addons/openvr_overlay/overlay_instance.gd b/ovr-utils/addons/openvr_overlay/overlay_instance.gd index 1ba6dff..16da563 100644 --- a/ovr-utils/addons/openvr_overlay/overlay_instance.gd +++ b/ovr-utils/addons/openvr_overlay/overlay_instance.gd @@ -8,13 +8,14 @@ signal target_changed enum TARGETS { head, left, right, world } export (TARGETS) var target = TARGETS.head setget _set_target export var overlay_scene = preload("res://addons/openvr_overlay/MissingOverlay.tscn")\ - setget _set_overlay_scene -export var offset_pos := Vector3(0, 0, -1) setget _set_offset_pos -export var offset_rot: Vector3 setget _set_offset_rot -export var width_meters = 0.4 setget _set_width_meters + setget set_overlay_scene +export var offset_pos := Vector3(0, 0, -1) setget set_offset_pos +export var offset_rot: Vector3 setget set_offset_rot +export var width_meters = 0.4 setget set_width_in_meters export var fallback_to_hmd = false # fallback is only applied if tracker is not present at startup +# so this is not fully implemented -var _tracker_id: int = 0 setget ,get_tracker_id +var _tracker_id: int = 0 onready var container = $OverlayViewport/PanelContainer @@ -54,7 +55,6 @@ func update_offset() -> void: $Offset.translation = offset_pos $Offset.rotation_degrees = offset_rot -# print(_tracker_id) match target: TARGETS.head: $OverlayViewport.track_relative_to_device(0, $Offset.transform) @@ -80,25 +80,25 @@ func _set_target(new: int): emit_signal("target_changed") -func _set_offset_pos(pos: Vector3): +func set_offset_pos(pos: Vector3): offset_pos = pos update_offset() emit_signal("offset_changed") -func _set_offset_rot(rot: Vector3): +func set_offset_rot(rot: Vector3): offset_rot = rot update_offset() emit_signal("offset_changed") -func _set_width_meters(width: float): +func set_width_in_meters(width: float): width_meters = width $OverlayViewport.overlay_width_in_meters = width_meters emit_signal("width_changed") -func _set_overlay_scene(scene: PackedScene): +func set_overlay_scene(scene: PackedScene): overlay_scene = scene if not container: # print("container does not exist yet [overlay_instance.set_overlay_scene]") diff --git a/ovr-utils/overlays/UI_demo.tscn b/ovr-utils/overlays/UI_demo.tscn index 80041f7..509c25b 100644 --- a/ovr-utils/overlays/UI_demo.tscn +++ b/ovr-utils/overlays/UI_demo.tscn @@ -1,11 +1,14 @@ -[gd_scene load_steps=4 format=2] +[gd_scene load_steps=5 format=2] -[ext_resource path="res://fonts/OpenSans-Bold.ttf" type="DynamicFontData" id=1] +[ext_resource path="res://fonts/OpenSans-Regular.ttf" type="DynamicFontData" id=2] [ext_resource path="res://addons/openvr_overlay/styles/active.stylebox" type="StyleBox" id=3] -[sub_resource type="DynamicFont" id=1] +[sub_resource type="DynamicFont" id=2] size = 100 -font_data = ExtResource( 1 ) +font_data = ExtResource( 2 ) + +[sub_resource type="Theme" id=3] +default_font = SubResource( 2 ) [node name="Control" type="Control"] anchor_right = 1.0 @@ -15,17 +18,9 @@ __meta__ = { } [node name="OptionButton" type="OptionButton" parent="."] -anchor_left = 0.144 -anchor_top = 0.483 -anchor_right = 0.856 -anchor_bottom = 0.517 -margin_left = -0.456009 -margin_top = -17.8 -margin_right = 0.455933 -margin_bottom = 16.8 -size_flags_horizontal = 3 -size_flags_vertical = 3 -custom_fonts/font = SubResource( 1 ) +margin_right = 111.0 +margin_bottom = 41.0 +theme = SubResource( 3 ) text = "Item 0" items = [ "Item 0", null, false, 0, null, "Item 1", null, false, 1, null, "Item 2", null, false, 2, null, "Item 3", null, false, 3, null ] selected = 0 @@ -34,10 +29,9 @@ __meta__ = { } [node name="Button" type="Button" parent="."] -margin_left = 158.089 -margin_top = 45.4084 -margin_right = 473.089 -margin_bottom = 223.408 +margin_top = 600.0 +margin_right = 315.0 +margin_bottom = 778.0 custom_styles/pressed = ExtResource( 3 ) toggle_mode = true __meta__ = { diff --git a/ovr-utils/temp.gd b/ovr-utils/temp.gd deleted file mode 100644 index 119e9bc..0000000 --- a/ovr-utils/temp.gd +++ /dev/null @@ -1,6 +0,0 @@ -extends Node - - -func _ready() -> void: -# OS.window_size = Vector2(16, 16) - return