Create Player Controller (#4)

* add player scene

* add some logic to control player velocity

* add debug scene and reset main scene

* add sun and env to debug scene; fix normalization of movement

* add kenney WIP assets for debug

* fix movement further and add jump

* add mouse camera control

* add sprinting

* add crouching

* use constants for height

* try to improve crouching by checking to see if there is a collision above before un-crouching

* update README about line width

* move test cube in front of playercontroller
This commit is contained in:
Shea Frembling
2026-02-16 16:33:45 -06:00
committed by GitHub
parent 14cda06d13
commit bab7fe1697
46 changed files with 837 additions and 0 deletions

42
Testing/debug_scene.tscn Normal file
View File

@@ -0,0 +1,42 @@
[gd_scene format=3 uid="uid://df5nweglm1ak2"]
[ext_resource type="PackedScene" uid="uid://diipi3w18rk4v" path="res://Player/player_controller.tscn" id="1_2rmyx"]
[ext_resource type="Texture2D" uid="uid://cqtfi6pafpjk8" path="res://Assets/External/kenney_prototype-textures/texture_09.svg" id="1_nrln2"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_2rmyx"]
sky_horizon_color = Color(0.66224277, 0.6717428, 0.6867428, 1)
ground_horizon_color = Color(0.66224277, 0.6717428, 0.6867428, 1)
[sub_resource type="Sky" id="Sky_nrln2"]
sky_material = SubResource("ProceduralSkyMaterial_2rmyx")
[sub_resource type="Environment" id="Environment_10oj7"]
background_mode = 2
sky = SubResource("Sky_nrln2")
tonemap_mode = 2
glow_enabled = true
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_10oj7"]
albedo_texture = ExtResource("1_nrln2")
[node name="DebugScene" type="Node" unique_id=548551898]
[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=82211647]
environment = SubResource("Environment_10oj7")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="." unique_id=605528475]
transform = Transform3D(-0.8660254, -0.43301278, 0.25, 0, 0.49999997, 0.86602545, -0.50000006, 0.75, -0.43301266, 0, 0, 0)
shadow_enabled = true
[node name="CSGBox3D" type="CSGBox3D" parent="." unique_id=1927330093]
transform = Transform3D(23.24995, 0, 0, 0, 0.12418556, 0, 0, 0, 12.13962, 0, 0, 2.206223)
material_override = SubResource("StandardMaterial3D_10oj7")
use_collision = true
size = Vector3(1, 1, 2.2382813)
[node name="PlayerController" parent="." unique_id=1462541278 instance=ExtResource("1_2rmyx")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.06209278, 0)
[node name="CSGBox3D2" type="CSGBox3D" parent="." unique_id=1350209690]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.7963257, -2.6601963)
use_collision = true