diff --git a/rinkplanner/avatar.gd b/rinkplanner/avatar.gd index 822efc0..c8cd3a6 100644 --- a/rinkplanner/avatar.gd +++ b/rinkplanner/avatar.gd @@ -12,8 +12,6 @@ func _physics_process(delta: float) -> void: if target: var direction = (target.global_transform.origin - global_transform.origin) - # looking at target - print(wp_index," ", direction.length()) var target_dir = (target.position - global_transform.origin).normalized() var current_dir = global_transform.basis.z.normalized() @@ -29,4 +27,3 @@ func _physics_process(delta: float) -> void: if wp_index==len(waypoints): wp_index=0 target = waypoints[wp_index] - print(wp_index) diff --git a/rinkplanner/camera_3d.gd b/rinkplanner/camera_3d.gd index 4337833..f0ea9e4 100644 --- a/rinkplanner/camera_3d.gd +++ b/rinkplanner/camera_3d.gd @@ -1,5 +1,26 @@ extends Camera3D -@onready var skater = $"../.." +@onready var skater = $"../CharacterBody3D" + +var zoom:Vector2 +var zoom_factor=1.0 +var min_zoom=0.1 +var max_zoom=10.0 + func _process(delta): var target_position = skater.global_transform.origin look_at(target_position, Vector3.UP) + +func _unhandled_input(event): + if event.is_action_pressed("zoom_in"): + #print("Zoom In") + %Camera3D.fov -= zoom_factor + + + elif event.is_action_pressed("zoom_out"): + + %Camera3D.fov += zoom_factor + #print("Zoom Out") + #zoom = Vector2( + # clamp(zoom.x + zoom_factor, min_zoom, max_zoom), + # clamp(zoom.y + zoom_factor, min_zoom, max_zoom) + #) diff --git a/rinkplanner/project.godot b/rinkplanner/project.godot index db0888d..7062873 100644 --- a/rinkplanner/project.godot +++ b/rinkplanner/project.godot @@ -18,3 +18,16 @@ config/icon="res://icon.svg" [editor_plugins] enabled=PackedStringArray("res://addons/script-ide/plugin.cfg") + +[input] + +zoom_in={ +"deadzone": 0.2, +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":4,"canceled":false,"pressed":false,"double_click":false,"script":null) +] +} +zoom_out={ +"deadzone": 0.2, +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":5,"canceled":false,"pressed":false,"double_click":false,"script":null) +] +} diff --git a/rinkplanner/rink.tscn b/rinkplanner/rink.tscn index 86fd3c1..271bb18 100644 --- a/rinkplanner/rink.tscn +++ b/rinkplanner/rink.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=12 format=3 uid="uid://cd1ulyybmuft5"] +[gd_scene load_steps=13 format=3 uid="uid://cd1ulyybmuft5"] [ext_resource type="Texture2D" uid="uid://d2f4ue6f2152o" path="res://assets/images/checkboard.png" id="1_aj6nb"] [ext_resource type="Script" uid="uid://deq4wi2r1o4e4" path="res://avatar.gd" id="2_28a8u"] +[ext_resource type="Script" uid="uid://cbufos2esa5yu" path="res://camera_3d.gd" id="2_ytmxt"] [ext_resource type="ArrayMesh" uid="uid://lqtpafx25sxi" path="res://assets/models/Flieger.obj" id="3_28a8u"] [sub_resource type="Curve3D" id="Curve3D_jm5wf"] @@ -103,7 +104,9 @@ transform = Transform3D(0.999999, 0.000245532, 0.00101596, -0.000244175, 0.99999 [node name="FliegerBase" type="Node3D" parent="."] [node name="Camera3D" type="Camera3D" parent="."] +unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 0.484031, 0.875051, 0, -0.875051, 0.484031, 0, 23.5809, 16.7921) +script = ExtResource("2_ytmxt") [node name="CharacterBody3D" type="CharacterBody3D" parent="." node_paths=PackedStringArray("waypoints")] script = ExtResource("2_28a8u") diff --git a/workbench/pics/figure-skating-silhouette-000000-lg.jpg b/workbench/pics/figure-skating-silhouette-000000-lg.jpg new file mode 100644 index 0000000..d0a03e2 Binary files /dev/null and b/workbench/pics/figure-skating-silhouette-000000-lg.jpg differ diff --git a/workbench/pics/figure-skating-silhouette-000000-lg.png b/workbench/pics/figure-skating-silhouette-000000-lg.png new file mode 100644 index 0000000..576ee73 Binary files /dev/null and b/workbench/pics/figure-skating-silhouette-000000-lg.png differ diff --git a/workbench/pics/figure-skating-silhouette-small.jpg b/workbench/pics/figure-skating-silhouette-small.jpg new file mode 100644 index 0000000..e8db413 Binary files /dev/null and b/workbench/pics/figure-skating-silhouette-small.jpg differ diff --git a/workbench/pics/figure-skating-silhouette-small.png b/workbench/pics/figure-skating-silhouette-small.png new file mode 100644 index 0000000..5eda980 Binary files /dev/null and b/workbench/pics/figure-skating-silhouette-small.png differ diff --git a/workbench/videos/2025-07-27_10-09-46.mp4 b/workbench/videos/2025-07-27_10-09-46.mp4 new file mode 100644 index 0000000..7d5f5a9 Binary files /dev/null and b/workbench/videos/2025-07-27_10-09-46.mp4 differ