This commit is contained in:
Torsten 2025-07-10 21:20:31 +02:00
parent 1dd27331a3
commit 6b238e7291
6 changed files with 44 additions and 5 deletions

5
rinkplanner/camera_3d.gd Normal file
View file

@ -0,0 +1,5 @@
extends Camera3D
@onready var skater = $"../.."
func _process(delta):
var target_position = skater.global_transform.origin
look_at(target_position, Vector3.UP)

View file

@ -0,0 +1 @@
uid://cbufos2esa5yu

View file

@ -21,13 +21,14 @@ albedo_color = Color(0, 0.267906, 0.269092, 1)
albedo_texture = SubResource("CanvasTexture_ytmxt")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ytmxt"]
albedo_color = Color(0.593134, 0.593134, 0.593134, 1)
albedo_texture = ExtResource("1_aj6nb")
albedo_texture_force_srgb = true
uv1_triplanar = true
[sub_resource type="Environment" id="Environment_ysbyt"]
background_mode = 1
background_color = Color(0.101961, 0.101961, 0.101961, 1)
background_energy_multiplier = 1.25
ambient_light_color = Color(0.674815, 0.674815, 0.674815, 1)
tonemap_mode = 2
fog_enabled = true
@ -74,7 +75,6 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.1524, 0.34107, -3.54622)
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(0.707107, 0.5, -0.5, 0, 0.707107, 0.707107, 0.707107, -0.5, 0.5, 0, 3.08694, 0)
light_energy = 1.25
shadow_enabled = true
directional_shadow_mode = 0
directional_shadow_max_distance = 50.0
@ -94,4 +94,4 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23.4405, 0, 8.09644)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21.7868, 0, -6.13789)
[node name="Waypoint4" type="CSGBox3D" parent="Waypoints"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.9849, -0.0632343, -9.14554)
transform = Transform3D(0.999999, 0.000245532, 0.00101596, -0.000244175, 0.999999, -0.00130966, -0.00101629, 0.00130941, 0.999999, -16.9849, -0.0632343, -9.14554)

28
rinkplanner/skater.gd Normal file
View file

@ -0,0 +1,28 @@
extends CharacterBody3D
const SPEED = 5.0
const JUMP_VELOCITY = 4.5
var gravity = ProjectSettings.get_setting("physics/3d/default_gravity")
func _physics_process(delta):
# Apply gravity
if not is_on_floor():
velocity.y -= gravity * delta
# Handle jump
if Input.is_action_just_pressed("ui_accept") and is_on_floor():
velocity.y = JUMP_VELOCITY
# Get input direction
var input_dir = Input.get_vector("ui_left", "ui_right", "ui_up", "ui_down")
var direction = (transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
if direction:
velocity.x = direction.x * SPEED
velocity.z = direction.z * SPEED
else:
velocity.x = move_toward(velocity.x, 0, SPEED)
velocity.z = move_toward(velocity.z, 0, SPEED)
move_and_slide()

View file

@ -0,0 +1 @@
uid://db1ra4er3lrbr

View file

@ -1,12 +1,15 @@
[gd_scene load_steps=3 format=3 uid="uid://cpdnvt3u4bkfi"]
[gd_scene load_steps=5 format=3 uid="uid://cpdnvt3u4bkfi"]
[ext_resource type="PackedScene" uid="uid://prh35jb6tjtd" path="res://addons/gdquest_sophia/sophia_skin.tscn" id="1_j83vg"]
[ext_resource type="Script" uid="uid://db1ra4er3lrbr" path="res://skater.gd" id="1_vo2sv"]
[ext_resource type="Script" uid="uid://cbufos2esa5yu" path="res://camera_3d.gd" id="3_cg4j7"]
[sub_resource type="CylinderShape3D" id="CylinderShape3D_jm5wf"]
height = 1.65
radius = 0.4
[node name="skater" type="CharacterBody3D"]
script = ExtResource("1_vo2sv")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
shape = SubResource("CylinderShape3D_jm5wf")
@ -18,5 +21,6 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.766929, 0)
transform = Transform3D(1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 1.12031, 0)
[node name="Camera3D" type="Camera3D" parent="CameraAnchor"]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, -28)
transform = Transform3D(-0.677622, -0.234539, 0.697008, -0.666748, 0.59582, -0.447712, -0.310285, -0.768108, -0.560118, 0, 98.1232, 5.93962)
fov = 6.3
script = ExtResource("3_cg4j7")