...
This commit is contained in:
parent
1dd27331a3
commit
6b238e7291
6 changed files with 44 additions and 5 deletions
5
rinkplanner/camera_3d.gd
Normal file
5
rinkplanner/camera_3d.gd
Normal 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)
|
||||||
1
rinkplanner/camera_3d.gd.uid
Normal file
1
rinkplanner/camera_3d.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
uid://cbufos2esa5yu
|
||||||
|
|
@ -21,13 +21,14 @@ albedo_color = Color(0, 0.267906, 0.269092, 1)
|
||||||
albedo_texture = SubResource("CanvasTexture_ytmxt")
|
albedo_texture = SubResource("CanvasTexture_ytmxt")
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_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 = ExtResource("1_aj6nb")
|
||||||
|
albedo_texture_force_srgb = true
|
||||||
uv1_triplanar = true
|
uv1_triplanar = true
|
||||||
|
|
||||||
[sub_resource type="Environment" id="Environment_ysbyt"]
|
[sub_resource type="Environment" id="Environment_ysbyt"]
|
||||||
background_mode = 1
|
background_mode = 1
|
||||||
background_color = Color(0.101961, 0.101961, 0.101961, 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)
|
ambient_light_color = Color(0.674815, 0.674815, 0.674815, 1)
|
||||||
tonemap_mode = 2
|
tonemap_mode = 2
|
||||||
fog_enabled = true
|
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="."]
|
[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)
|
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
|
shadow_enabled = true
|
||||||
directional_shadow_mode = 0
|
directional_shadow_mode = 0
|
||||||
directional_shadow_max_distance = 50.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)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21.7868, 0, -6.13789)
|
||||||
|
|
||||||
[node name="Waypoint4" type="CSGBox3D" parent="Waypoints"]
|
[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
28
rinkplanner/skater.gd
Normal 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()
|
||||||
1
rinkplanner/skater.gd.uid
Normal file
1
rinkplanner/skater.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
uid://db1ra4er3lrbr
|
||||||
|
|
@ -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="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"]
|
[sub_resource type="CylinderShape3D" id="CylinderShape3D_jm5wf"]
|
||||||
height = 1.65
|
height = 1.65
|
||||||
radius = 0.4
|
radius = 0.4
|
||||||
|
|
||||||
[node name="skater" type="CharacterBody3D"]
|
[node name="skater" type="CharacterBody3D"]
|
||||||
|
script = ExtResource("1_vo2sv")
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||||
shape = SubResource("CylinderShape3D_jm5wf")
|
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)
|
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"]
|
[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
|
fov = 6.3
|
||||||
|
script = ExtResource("3_cg4j7")
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue