Add basic movement
This commit is contained in:
parent
4b1867590a
commit
7a9f7cc88d
18
.gitignore
vendored
18
.gitignore
vendored
@ -1,16 +1,2 @@
|
|||||||
# ---> Rust
|
# Godot 4+ specific ignores
|
||||||
# Generated by Cargo
|
.godot/
|
||||||
# will have compiled files and executables
|
|
||||||
debug/
|
|
||||||
target/
|
|
||||||
|
|
||||||
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
|
|
||||||
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
|
|
||||||
Cargo.lock
|
|
||||||
|
|
||||||
# These are backup files generated by rustfmt
|
|
||||||
**/*.rs.bk
|
|
||||||
|
|
||||||
# MSVC Windows builds of rustc generate these, which store debugging information
|
|
||||||
*.pdb
|
|
||||||
|
|
||||||
|
@ -100,7 +100,7 @@ Anim={
|
|||||||
"auto_orthogonal_enabled": true,
|
"auto_orthogonal_enabled": true,
|
||||||
"cinematic_preview": false,
|
"cinematic_preview": false,
|
||||||
"display_mode": 21,
|
"display_mode": 21,
|
||||||
"distance": 7.6359,
|
"distance": 7.29419,
|
||||||
"doppler": false,
|
"doppler": false,
|
||||||
"frame_time": false,
|
"frame_time": false,
|
||||||
"gizmos": true,
|
"gizmos": true,
|
||||||
@ -112,8 +112,8 @@ Anim={
|
|||||||
"position": Vector3(0, 0, 0),
|
"position": Vector3(0, 0, 0),
|
||||||
"use_environment": false,
|
"use_environment": false,
|
||||||
"view_type": 0,
|
"view_type": 0,
|
||||||
"x_rotation": 0.382451,
|
"x_rotation": 0.368837,
|
||||||
"y_rotation": -1.58645
|
"y_rotation": -1.68593
|
||||||
}, {
|
}, {
|
||||||
"auto_orthogonal": false,
|
"auto_orthogonal": false,
|
||||||
"auto_orthogonal_enabled": true,
|
"auto_orthogonal_enabled": true,
|
||||||
@ -175,4 +175,4 @@ Anim={
|
|||||||
"zfar": 4000.01,
|
"zfar": 4000.01,
|
||||||
"znear": 0.05
|
"znear": 0.05
|
||||||
}
|
}
|
||||||
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@16894/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@PanelContainer@98/MainScreen/@CanvasItemEditor@9280/@VSplitContainer@9102/@HSplitContainer@9104/@HSplitContainer@9106/@Control@9107/@SubViewportContainer@9108/@SubViewport@9109/Character/CharacterBody3D/Body/CameraMount")])
|
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@16894/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@PanelContainer@98/MainScreen/@CanvasItemEditor@9280/@VSplitContainer@9102/@HSplitContainer@9104/@HSplitContainer@9106/@Control@9107/@SubViewportContainer@9108/@SubViewport@9109/Character/CharacterBody3D/Body/CameraMount/Camera")])
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
[folding]
|
[folding]
|
||||||
|
|
||||||
node_unfolds=[NodePath("CharacterBody3D/Body/CameraMount"), PackedStringArray("Transform"), NodePath("CharacterBody3D/Body/CameraMount/Camera"), PackedStringArray("Transform")]
|
node_unfolds=[NodePath("CharacterBody3D/Body/CameraMount"), PackedStringArray("Transform"), NodePath("CharacterBody3D/Body/CameraMount/Camera"), PackedStringArray("Transform")]
|
||||||
resource_unfolds=["res://scenes/utils/character.tscn::CylinderShape3D_1sre5", PackedStringArray()]
|
resource_unfolds=["res://scenes/utils/character.tscn::StandardMaterial3D_m6bjf", PackedStringArray(), "res://scenes/utils/character.tscn::CylinderShape3D_1sre5", PackedStringArray()]
|
||||||
nodes_folded=[]
|
nodes_folded=[]
|
||||||
|
@ -0,0 +1,3 @@
|
|||||||
|
[folding]
|
||||||
|
|
||||||
|
sections_unfolded=PackedStringArray()
|
@ -17,8 +17,8 @@ dock_filesystem_v_split_offset=0
|
|||||||
dock_filesystem_display_mode=0
|
dock_filesystem_display_mode=0
|
||||||
dock_filesystem_file_sort=0
|
dock_filesystem_file_sort=0
|
||||||
dock_filesystem_file_list_display_mode=1
|
dock_filesystem_file_list_display_mode=1
|
||||||
dock_filesystem_selected_paths=PackedStringArray("res://scenes/utils/character.tscn")
|
dock_filesystem_selected_paths=PackedStringArray("res://scripts/character_controller.gd")
|
||||||
dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://scenes/", "res://scenes/utils/", "res://addons/", "res://addons/kenney_prototype_textures/orange/")
|
dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://scripts/", "res://scenes/", "res://scenes/utils/", "res://addons/", "res://addons/kenney_prototype_textures/", "res://addons/kenney_prototype_textures/orange/")
|
||||||
dock_3="Scene,Import"
|
dock_3="Scene,Import"
|
||||||
dock_4="FileSystem"
|
dock_4="FileSystem"
|
||||||
dock_5="Inspector,Node,History"
|
dock_5="Inspector,Node,History"
|
||||||
@ -29,13 +29,13 @@ open_scenes=PackedStringArray("res://scenes/utils/character.tscn")
|
|||||||
current_scene="res://scenes/utils/character.tscn"
|
current_scene="res://scenes/utils/character.tscn"
|
||||||
center_split_offset=0
|
center_split_offset=0
|
||||||
selected_default_debugger_tab_idx=0
|
selected_default_debugger_tab_idx=0
|
||||||
selected_main_editor_idx=2
|
selected_main_editor_idx=1
|
||||||
selected_bottom_panel_item=0
|
selected_bottom_panel_item=0
|
||||||
|
|
||||||
[ScriptEditor]
|
[ScriptEditor]
|
||||||
|
|
||||||
open_scripts=["res://scenes/utils/character_body_3d.gd"]
|
open_scripts=["res://scripts/character_controller.gd"]
|
||||||
selected_script="res://scenes/utils/character_body_3d.gd"
|
selected_script="res://scripts/character_controller.gd"
|
||||||
open_help=[]
|
open_help=[]
|
||||||
script_split_offset=140
|
script_split_offset=140
|
||||||
list_split_offset=0
|
list_split_offset=0
|
||||||
|
@ -1,99 +1,99 @@
|
|||||||
ea4bc82a6ad023ab7ee23ee620429895
|
ea4bc82a6ad023ab7ee23ee620429895
|
||||||
::res://::1737037070
|
::res://::1737038845
|
||||||
icon.svg::CompressedTexture2D::6293334859799825849::1736869462::1737029434::1::::<><>::
|
icon.svg::CompressedTexture2D::6293334859799825849::1736869462::1737029434::1::::<><>::
|
||||||
README.md::TextFile::-1::1736782425::0::1::::<><>::
|
README.md::TextFile::-1::1736782425::0::1::::<><>::
|
||||||
::res://addons/::1737029345
|
::res://addons/::1737029345
|
||||||
::res://addons/kenney_prototype_textures/::1736869689
|
::res://addons/kenney_prototype_textures/::1736869689
|
||||||
LICENSE.txt::TextFile::-1::1736869688::0::1::::<><>::
|
LICENSE.txt::TextFile::-1::1736869688::0::1::::<><>::
|
||||||
::res://addons/kenney_prototype_textures/dark/::1737029953
|
::res://addons/kenney_prototype_textures/dark/::1737038454
|
||||||
texture_01.png::CompressedTexture2D::8014208326336467885::1736869688::1737029950::1::::<><>::
|
texture_01.png::CompressedTexture2D::8014208326336467885::1737037176::1737038454::1::::<><>::
|
||||||
texture_02.png::CompressedTexture2D::2432288388540315486::1736869688::1736869689::1::::<><>::
|
texture_02.png::CompressedTexture2D::2432288388540315486::1737037176::1737038454::1::::<><>::
|
||||||
texture_03.png::CompressedTexture2D::718984629790284706::1736869688::1736869689::1::::<><>::
|
texture_03.png::CompressedTexture2D::718984629790284706::1737037176::1737038454::1::::<><>::
|
||||||
texture_04.png::CompressedTexture2D::341418743939086096::1736869688::1737029953::1::::<><>::
|
texture_04.png::CompressedTexture2D::341418743939086096::1737037176::1737038454::1::::<><>::
|
||||||
texture_05.png::CompressedTexture2D::7351723646777413688::1736869688::1736869689::1::::<><>::
|
texture_05.png::CompressedTexture2D::7351723646777413688::1737037176::1737038454::1::::<><>::
|
||||||
texture_06.png::CompressedTexture2D::8615009470155375539::1736869688::1736869689::1::::<><>::
|
texture_06.png::CompressedTexture2D::8615009470155375539::1737037176::1737038454::1::::<><>::
|
||||||
texture_07.png::CompressedTexture2D::2874041732111591054::1736869688::1736869689::1::::<><>::
|
texture_07.png::CompressedTexture2D::2874041732111591054::1737037176::1737038454::1::::<><>::
|
||||||
texture_08.png::CompressedTexture2D::1035326817980762041::1736869688::1736869689::1::::<><>::
|
texture_08.png::CompressedTexture2D::1035326817980762041::1737037176::1737038454::1::::<><>::
|
||||||
texture_09.png::CompressedTexture2D::6407493781882021197::1736869688::1736869689::1::::<><>::
|
texture_09.png::CompressedTexture2D::6407493781882021197::1737037176::1737038454::1::::<><>::
|
||||||
texture_10.png::CompressedTexture2D::970016071898969561::1736869688::1736869689::1::::<><>::
|
texture_10.png::CompressedTexture2D::970016071898969561::1737037176::1737038454::1::::<><>::
|
||||||
texture_11.png::CompressedTexture2D::5381106305644616509::1736869688::1736869689::1::::<><>::
|
texture_11.png::CompressedTexture2D::5381106305644616509::1737037176::1737038454::1::::<><>::
|
||||||
texture_12.png::CompressedTexture2D::8434509427464472327::1736869688::1736869689::1::::<><>::
|
texture_12.png::CompressedTexture2D::8434509427464472327::1737037176::1737038454::1::::<><>::
|
||||||
texture_13.png::CompressedTexture2D::7788556782362452097::1736869688::1736869689::1::::<><>::
|
texture_13.png::CompressedTexture2D::7788556782362452097::1737037176::1737038454::1::::<><>::
|
||||||
::res://addons/kenney_prototype_textures/green/::1736869689
|
::res://addons/kenney_prototype_textures/green/::1737038454
|
||||||
texture_01.png::CompressedTexture2D::3591690079457645626::1736869688::1736869689::1::::<><>::
|
texture_01.png::CompressedTexture2D::3591690079457645626::1737037176::1737038454::1::::<><>::
|
||||||
texture_02.png::CompressedTexture2D::1698616428607644272::1736869688::1736869689::1::::<><>::
|
texture_02.png::CompressedTexture2D::1698616428607644272::1737037176::1737038454::1::::<><>::
|
||||||
texture_03.png::CompressedTexture2D::265155403077655284::1736869688::1736869689::1::::<><>::
|
texture_03.png::CompressedTexture2D::265155403077655284::1737037176::1737038454::1::::<><>::
|
||||||
texture_04.png::CompressedTexture2D::705419063103924200::1736869688::1736869689::1::::<><>::
|
texture_04.png::CompressedTexture2D::705419063103924200::1737037176::1737038454::1::::<><>::
|
||||||
texture_05.png::CompressedTexture2D::305786682205419453::1736869688::1736869689::1::::<><>::
|
texture_05.png::CompressedTexture2D::305786682205419453::1737037176::1737038454::1::::<><>::
|
||||||
texture_06.png::CompressedTexture2D::7876514693098428664::1736869688::1736869689::1::::<><>::
|
texture_06.png::CompressedTexture2D::7876514693098428664::1737037176::1737038454::1::::<><>::
|
||||||
texture_07.png::CompressedTexture2D::5611489189511299230::1736869688::1736869689::1::::<><>::
|
texture_07.png::CompressedTexture2D::5611489189511299230::1737037176::1737038454::1::::<><>::
|
||||||
texture_08.png::CompressedTexture2D::6443450056591050810::1736869688::1736869689::1::::<><>::
|
texture_08.png::CompressedTexture2D::6443450056591050810::1737037176::1737038454::1::::<><>::
|
||||||
texture_09.png::CompressedTexture2D::8595944843117064655::1736869688::1736869689::1::::<><>::
|
texture_09.png::CompressedTexture2D::8595944843117064655::1737037176::1737038454::1::::<><>::
|
||||||
texture_10.png::CompressedTexture2D::7821201077408947508::1736869688::1736869689::1::::<><>::
|
texture_10.png::CompressedTexture2D::7821201077408947508::1737037176::1737038454::1::::<><>::
|
||||||
texture_11.png::CompressedTexture2D::1430367131781657164::1736869688::1736869689::1::::<><>::
|
texture_11.png::CompressedTexture2D::1430367131781657164::1737037176::1737038454::1::::<><>::
|
||||||
texture_12.png::CompressedTexture2D::7360614402890992885::1736869688::1736869689::1::::<><>::
|
texture_12.png::CompressedTexture2D::7360614402890992885::1737037176::1737038454::1::::<><>::
|
||||||
texture_13.png::CompressedTexture2D::7369035209002593630::1736869688::1736869689::1::::<><>::
|
texture_13.png::CompressedTexture2D::7369035209002593630::1737037176::1737038454::1::::<><>::
|
||||||
::res://addons/kenney_prototype_textures/light/::1736869689
|
::res://addons/kenney_prototype_textures/light/::1737038454
|
||||||
texture_01.png::CompressedTexture2D::7862618860966628850::1736869688::1736869689::1::::<><>::
|
texture_01.png::CompressedTexture2D::7862618860966628850::1737037176::1737038454::1::::<><>::
|
||||||
texture_02.png::CompressedTexture2D::3452553886857033907::1736869688::1736869689::1::::<><>::
|
texture_02.png::CompressedTexture2D::3452553886857033907::1737037176::1737038454::1::::<><>::
|
||||||
texture_03.png::CompressedTexture2D::4199276934284515983::1736869688::1736869689::1::::<><>::
|
texture_03.png::CompressedTexture2D::4199276934284515983::1737037176::1737038454::1::::<><>::
|
||||||
texture_04.png::CompressedTexture2D::2942993304927740418::1736869688::1736869689::1::::<><>::
|
texture_04.png::CompressedTexture2D::2942993304927740418::1737037176::1737038454::1::::<><>::
|
||||||
texture_05.png::CompressedTexture2D::6124607509632685472::1736869688::1736869689::1::::<><>::
|
texture_05.png::CompressedTexture2D::6124607509632685472::1737037176::1737038454::1::::<><>::
|
||||||
texture_06.png::CompressedTexture2D::1911568459262664059::1736869688::1736869689::1::::<><>::
|
texture_06.png::CompressedTexture2D::1911568459262664059::1737037176::1737038454::1::::<><>::
|
||||||
texture_07.png::CompressedTexture2D::8622626798144612244::1736869688::1736869689::1::::<><>::
|
texture_07.png::CompressedTexture2D::8622626798144612244::1737037176::1737038454::1::::<><>::
|
||||||
texture_08.png::CompressedTexture2D::3021798951951848728::1736869688::1736869689::1::::<><>::
|
texture_08.png::CompressedTexture2D::3021798951951848728::1737037176::1737038454::1::::<><>::
|
||||||
texture_09.png::CompressedTexture2D::8444566319518166270::1736869688::1736869689::1::::<><>::
|
texture_09.png::CompressedTexture2D::8444566319518166270::1737037176::1737038454::1::::<><>::
|
||||||
texture_10.png::CompressedTexture2D::675458333716866969::1736869688::1736869689::1::::<><>::
|
texture_10.png::CompressedTexture2D::675458333716866969::1737037176::1737038454::1::::<><>::
|
||||||
texture_11.png::CompressedTexture2D::5523655257548494756::1736869688::1736869689::1::::<><>::
|
texture_11.png::CompressedTexture2D::5523655257548494756::1737037176::1737038454::1::::<><>::
|
||||||
texture_12.png::CompressedTexture2D::4857807675388186950::1736869688::1736869689::1::::<><>::
|
texture_12.png::CompressedTexture2D::4857807675388186950::1737037176::1737038454::1::::<><>::
|
||||||
texture_13.png::CompressedTexture2D::3273862421406529395::1736869688::1736869689::1::::<><>::
|
texture_13.png::CompressedTexture2D::3273862421406529395::1737037176::1737038454::1::::<><>::
|
||||||
::res://addons/kenney_prototype_textures/orange/::1737029977
|
::res://addons/kenney_prototype_textures/orange/::1737038454
|
||||||
texture_01.png::CompressedTexture2D::8850892896430748122::1736869688::1737029439::1::::<><>::
|
texture_01.png::CompressedTexture2D::8850892896430748122::1737037176::1737038454::1::::<><>::
|
||||||
texture_02.png::CompressedTexture2D::2672000434421504928::1736869688::1737029939::1::::<><>::
|
texture_02.png::CompressedTexture2D::2672000434421504928::1737037176::1737038454::1::::<><>::
|
||||||
texture_03.png::CompressedTexture2D::1361783228247061649::1736869688::1736869689::1::::<><>::
|
texture_03.png::CompressedTexture2D::1361783228247061649::1737037176::1737038454::1::::<><>::
|
||||||
texture_04.png::CompressedTexture2D::1558588222599350847::1736869688::1736869689::1::::<><>::
|
texture_04.png::CompressedTexture2D::1558588222599350847::1737037176::1737038454::1::::<><>::
|
||||||
texture_05.png::CompressedTexture2D::7880821390891723738::1736869688::1736869689::1::::<><>::
|
texture_05.png::CompressedTexture2D::7880821390891723738::1737037176::1737038454::1::::<><>::
|
||||||
texture_06.png::CompressedTexture2D::7018380499964468401::1736869688::1736869689::1::::<><>::
|
texture_06.png::CompressedTexture2D::7018380499964468401::1737037176::1737038454::1::::<><>::
|
||||||
texture_07.png::CompressedTexture2D::6248945065740741411::1736869688::1736869689::1::::<><>::
|
texture_07.png::CompressedTexture2D::6248945065740741411::1737037176::1737038454::1::::<><>::
|
||||||
texture_08.png::CompressedTexture2D::3954449787186606783::1736869688::1736869689::1::::<><>::
|
texture_08.png::CompressedTexture2D::3954449787186606783::1737037176::1737038454::1::::<><>::
|
||||||
texture_09.png::CompressedTexture2D::6921285454149224906::1736869688::1737029977::1::::<><>::
|
texture_09.png::CompressedTexture2D::6921285454149224906::1737037176::1737038454::1::::<><>::
|
||||||
texture_10.png::CompressedTexture2D::379379000582102797::1736869688::1737029975::1::::<><>::
|
texture_10.png::CompressedTexture2D::379379000582102797::1737037176::1737038454::1::::<><>::
|
||||||
texture_11.png::CompressedTexture2D::4367015284030897067::1736869688::1736869689::1::::<><>::
|
texture_11.png::CompressedTexture2D::4367015284030897067::1737037176::1737038454::1::::<><>::
|
||||||
texture_12.png::CompressedTexture2D::1534751701521898135::1736869688::1736869689::1::::<><>::
|
texture_12.png::CompressedTexture2D::1534751701521898135::1737037176::1737038454::1::::<><>::
|
||||||
texture_13.png::CompressedTexture2D::9011328998200671174::1736869688::1737029973::1::::<><>::
|
texture_13.png::CompressedTexture2D::9011328998200671174::1737037176::1737038454::1::::<><>::
|
||||||
::res://addons/kenney_prototype_textures/purple/::1736869689
|
::res://addons/kenney_prototype_textures/purple/::1737038454
|
||||||
texture_01.png::CompressedTexture2D::7805623915026090141::1736869688::1736869689::1::::<><>::
|
texture_01.png::CompressedTexture2D::7805623915026090141::1737037176::1737038454::1::::<><>::
|
||||||
texture_02.png::CompressedTexture2D::8833013530932454676::1736869688::1736869689::1::::<><>::
|
texture_02.png::CompressedTexture2D::8833013530932454676::1737037176::1737038454::1::::<><>::
|
||||||
texture_03.png::CompressedTexture2D::1142264075268473671::1736869688::1736869689::1::::<><>::
|
texture_03.png::CompressedTexture2D::1142264075268473671::1737037176::1737038454::1::::<><>::
|
||||||
texture_04.png::CompressedTexture2D::6954617688936199902::1736869688::1736869689::1::::<><>::
|
texture_04.png::CompressedTexture2D::6954617688936199902::1737037176::1737038454::1::::<><>::
|
||||||
texture_05.png::CompressedTexture2D::8981351822393609896::1736869688::1736869689::1::::<><>::
|
texture_05.png::CompressedTexture2D::8981351822393609896::1737037176::1737038454::1::::<><>::
|
||||||
texture_06.png::CompressedTexture2D::6445691090060456570::1736869688::1736869689::1::::<><>::
|
texture_06.png::CompressedTexture2D::6445691090060456570::1737037176::1737038454::1::::<><>::
|
||||||
texture_07.png::CompressedTexture2D::3322378310072755368::1736869688::1736869689::1::::<><>::
|
texture_07.png::CompressedTexture2D::3322378310072755368::1737037176::1737038454::1::::<><>::
|
||||||
texture_08.png::CompressedTexture2D::3138713553971704626::1736869688::1736869689::1::::<><>::
|
texture_08.png::CompressedTexture2D::3138713553971704626::1737037176::1737038454::1::::<><>::
|
||||||
texture_09.png::CompressedTexture2D::8311663988417496651::1736869689::1736869689::1::::<><>::
|
texture_09.png::CompressedTexture2D::8311663988417496651::1737037176::1737038454::1::::<><>::
|
||||||
texture_10.png::CompressedTexture2D::1907232424808447802::1736869689::1736869689::1::::<><>::
|
texture_10.png::CompressedTexture2D::1907232424808447802::1737037176::1737038454::1::::<><>::
|
||||||
texture_11.png::CompressedTexture2D::277422384403551588::1736869689::1736869689::1::::<><>::
|
texture_11.png::CompressedTexture2D::277422384403551588::1737037176::1737038454::1::::<><>::
|
||||||
texture_12.png::CompressedTexture2D::2135924986290984413::1736869689::1736869689::1::::<><>::
|
texture_12.png::CompressedTexture2D::2135924986290984413::1737037176::1737038454::1::::<><>::
|
||||||
texture_13.png::CompressedTexture2D::2502120491612661883::1736869689::1736869689::1::::<><>::
|
texture_13.png::CompressedTexture2D::2502120491612661883::1737037176::1737038454::1::::<><>::
|
||||||
::res://addons/kenney_prototype_textures/red/::1736869689
|
::res://addons/kenney_prototype_textures/red/::1737038454
|
||||||
texture_01.png::CompressedTexture2D::8659956684227579772::1736869689::1736869689::1::::<><>::
|
texture_01.png::CompressedTexture2D::8659956684227579772::1737037176::1737038454::1::::<><>::
|
||||||
texture_02.png::CompressedTexture2D::5789995300380875368::1736869689::1736869689::1::::<><>::
|
texture_02.png::CompressedTexture2D::5789995300380875368::1737037176::1737038454::1::::<><>::
|
||||||
texture_03.png::CompressedTexture2D::4952222541510049297::1736869689::1736869689::1::::<><>::
|
texture_03.png::CompressedTexture2D::4952222541510049297::1737037176::1737038454::1::::<><>::
|
||||||
texture_04.png::CompressedTexture2D::874893283185479439::1736869689::1736869689::1::::<><>::
|
texture_04.png::CompressedTexture2D::874893283185479439::1737037176::1737038454::1::::<><>::
|
||||||
texture_05.png::CompressedTexture2D::4396290600234928335::1736869689::1736869689::1::::<><>::
|
texture_05.png::CompressedTexture2D::4396290600234928335::1737037176::1737038454::1::::<><>::
|
||||||
texture_06.png::CompressedTexture2D::5974277055110559038::1736869689::1736869689::1::::<><>::
|
texture_06.png::CompressedTexture2D::5974277055110559038::1737037176::1737038454::1::::<><>::
|
||||||
texture_07.png::CompressedTexture2D::5476557456313661038::1736869689::1736869689::1::::<><>::
|
texture_07.png::CompressedTexture2D::5476557456313661038::1737037176::1737038454::1::::<><>::
|
||||||
texture_08.png::CompressedTexture2D::8196374735315928810::1736869689::1736869689::1::::<><>::
|
texture_08.png::CompressedTexture2D::8196374735315928810::1737037176::1737038454::1::::<><>::
|
||||||
texture_09.png::CompressedTexture2D::4754284010640071075::1736869689::1736869689::1::::<><>::
|
texture_09.png::CompressedTexture2D::4754284010640071075::1737037176::1737038454::1::::<><>::
|
||||||
texture_10.png::CompressedTexture2D::2971695225111600166::1736869689::1736869689::1::::<><>::
|
texture_10.png::CompressedTexture2D::2971695225111600166::1737037176::1737038454::1::::<><>::
|
||||||
texture_11.png::CompressedTexture2D::8096073329999689269::1736869689::1736869689::1::::<><>::
|
texture_11.png::CompressedTexture2D::8096073329999689269::1737037176::1737038454::1::::<><>::
|
||||||
texture_12.png::CompressedTexture2D::4073907045700868469::1736869689::1736869689::1::::<><>::
|
texture_12.png::CompressedTexture2D::4073907045700868469::1737037176::1737038454::1::::<><>::
|
||||||
texture_13.png::CompressedTexture2D::3957247833334422199::1736869689::1736869689::1::::<><>::
|
texture_13.png::CompressedTexture2D::3957247833334422199::1737037176::1737038454::1::::<><>::
|
||||||
::res://scenes/::1736869534
|
::res://scenes/::1736869534
|
||||||
::res://scenes/maps/::1737031584
|
::res://scenes/maps/::1737031584
|
||||||
test_map.tscn::PackedScene::509131424662177622::1737031584::0::1::::<><>::uid://c5uytbu1wc1bq::::res://addons/kenney_prototype_textures/orange/texture_09.png<>uid://e4nd8b6f0tw7::::res://addons/kenney_prototype_textures/dark/texture_04.png<>uid://ccm77j5rkh21w::::res://scenes/utils/character.tscn
|
test_map.tscn::PackedScene::509131424662177622::1737031584::0::1::::<><>::uid://c5uytbu1wc1bq::::res://addons/kenney_prototype_textures/orange/texture_09.png<>uid://e4nd8b6f0tw7::::res://addons/kenney_prototype_textures/dark/texture_04.png<>uid://ccm77j5rkh21w::::res://scenes/utils/character.tscn
|
||||||
::res://scenes/utils/::1737036964
|
::res://scenes/utils/::1737038823
|
||||||
character.tscn::PackedScene::4939992196724824302::1737036964::0::1::::<><>::res://scenes/utils/character_body_3d.gd
|
character.tscn::PackedScene::4939992196724824302::1737038823::0::1::::<><>::res://scripts/character_controller.gd<>uid://d1nfjip21kjpu::::res://addons/kenney_prototype_textures/orange/texture_13.png
|
||||||
character_body_3d.gd::GDScript::-1::1737036962::0::1::::<>CharacterBody3D<>::
|
|
||||||
::res://scenes/weapon/::1736869509
|
::res://scenes/weapon/::1736869509
|
||||||
::res://scripts/::1737033404
|
::res://scripts/::1737038776
|
||||||
|
character_controller.gd::GDScript::-1::1737038776::0::1::::Player<>CharacterBody3D<>::
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
[res://scenes/utils/character_body_3d.gd]
|
[res://scripts/character_controller.gd]
|
||||||
|
|
||||||
state={
|
state={
|
||||||
"bookmarks": PackedInt32Array(),
|
"bookmarks": PackedInt32Array(),
|
||||||
"breakpoints": PackedInt32Array(),
|
"breakpoints": PackedInt32Array(),
|
||||||
"column": 0,
|
"column": 0,
|
||||||
"folded_lines": Array[int]([]),
|
"folded_lines": Array[int]([0]),
|
||||||
"h_scroll_position": 0,
|
"h_scroll_position": 0,
|
||||||
"row": 9,
|
"row": 59,
|
||||||
"scroll_position": 0.0,
|
"scroll_position": 22.0,
|
||||||
"selection": false,
|
"selection": false,
|
||||||
"syntax_highlighter": "GDScript"
|
"syntax_highlighter": "GDScript"
|
||||||
}
|
}
|
||||||
|
@ -1 +1,7 @@
|
|||||||
list=Array[Dictionary]([])
|
list=Array[Dictionary]([{
|
||||||
|
"base": &"CharacterBody3D",
|
||||||
|
"class": &"Player",
|
||||||
|
"icon": "",
|
||||||
|
"language": &"GDScript",
|
||||||
|
"path": "res://scripts/character_controller.gd"
|
||||||
|
}])
|
||||||
|
@ -18,3 +18,36 @@ config/icon="res://icon.svg"
|
|||||||
[display]
|
[display]
|
||||||
|
|
||||||
window/size/mode=3
|
window/size/mode=3
|
||||||
|
|
||||||
|
[input]
|
||||||
|
|
||||||
|
move_left={
|
||||||
|
"deadzone": 0.5,
|
||||||
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"location":0,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
move_right={
|
||||||
|
"deadzone": 0.5,
|
||||||
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
move_forward={
|
||||||
|
"deadzone": 0.5,
|
||||||
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"location":0,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
move_backwards={
|
||||||
|
"deadzone": 0.5,
|
||||||
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
jump={
|
||||||
|
"deadzone": 0.5,
|
||||||
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
exit={
|
||||||
|
"deadzone": 0.5,
|
||||||
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
@ -1,21 +1,27 @@
|
|||||||
[gd_scene load_steps=3 format=3 uid="uid://ccm77j5rkh21w"]
|
[gd_scene load_steps=5 format=3 uid="uid://ccm77j5rkh21w"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://scenes/utils/character_body_3d.gd" id="1_0ojbt"]
|
[ext_resource type="Script" path="res://scripts/character_controller.gd" id="1_sue4n"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://d1nfjip21kjpu" path="res://addons/kenney_prototype_textures/orange/texture_13.png" id="2_i60ip"]
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_m6bjf"]
|
||||||
|
albedo_texture = ExtResource("2_i60ip")
|
||||||
|
|
||||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_1sre5"]
|
[sub_resource type="CylinderShape3D" id="CylinderShape3D_1sre5"]
|
||||||
|
|
||||||
[node name="Character" type="Node3D"]
|
[node name="Character" type="Node3D"]
|
||||||
|
|
||||||
[node name="CharacterBody3D" type="CharacterBody3D" parent="."]
|
[node name="CharacterBody3D" type="CharacterBody3D" parent="."]
|
||||||
script = ExtResource("1_0ojbt")
|
script = ExtResource("1_sue4n")
|
||||||
|
|
||||||
[node name="Body" type="CSGCylinder3D" parent="CharacterBody3D"]
|
[node name="Body" type="CSGCylinder3D" parent="CharacterBody3D"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.975222, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.975222, 0)
|
||||||
|
material_override = SubResource("StandardMaterial3D_m6bjf")
|
||||||
|
|
||||||
[node name="CameraMount" type="Node3D" parent="CharacterBody3D/Body"]
|
[node name="CameraMount" type="Node3D" parent="CharacterBody3D/Body"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.02478, 0)
|
transform = Transform3D(1, 0, 0, 0, 0.999971, 0.00759248, 0, -0.00759248, 0.999971, 0, 0.951, 0)
|
||||||
|
|
||||||
[node name="Camera" type="Camera3D" parent="CharacterBody3D/Body/CameraMount"]
|
[node name="Camera" type="Camera3D" parent="CharacterBody3D/Body/CameraMount"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, -4.65661e-10, 0, 0, 1, 0, 0.0051769, -0.68182)
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="CharacterBody3D"]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="CharacterBody3D"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.981342, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.981342, 0)
|
||||||
|
@ -1,41 +0,0 @@
|
|||||||
extends CharacterBody3D
|
|
||||||
|
|
||||||
|
|
||||||
const SPEED = 5.0
|
|
||||||
const JUMP_VELOCITY = 4.5
|
|
||||||
|
|
||||||
var mouse_sens = 0.3
|
|
||||||
var camera_anglev=0
|
|
||||||
|
|
||||||
|
|
||||||
func _input(event):
|
|
||||||
if event is InputEventMouseMotion:
|
|
||||||
$Body.rotate_y(deg_to_rad(-event.relative.x*mouse_sens))
|
|
||||||
var changev=-event.relative.y*mouse_sens
|
|
||||||
$Body/CameraMount.rotate_x(deg_to_rad(-event.relative.y*mouse_sens))
|
|
||||||
#var changev=-event.relative.x*mouse_sens
|
|
||||||
#if camera_anglev+changev>-50 and camera_anglev+changev<50:
|
|
||||||
#camera_anglev+=changev
|
|
||||||
#$CameraMount.rotate_x(deg_to_rad(changev))
|
|
||||||
|
|
||||||
func _physics_process(delta: float) -> void:
|
|
||||||
# Add the gravity.
|
|
||||||
if not is_on_floor():
|
|
||||||
velocity += get_gravity() * delta
|
|
||||||
|
|
||||||
# Handle jump.
|
|
||||||
if Input.is_action_just_pressed("ui_accept") and is_on_floor():
|
|
||||||
velocity.y = JUMP_VELOCITY
|
|
||||||
|
|
||||||
# Get the input direction and handle the movement/deceleration.
|
|
||||||
# As good practice, you should replace UI actions with custom gameplay actions.
|
|
||||||
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()
|
|
78
scripts/character_controller.gd
Normal file
78
scripts/character_controller.gd
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# This script is supposed to handle character movement logic
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
class_name Player extends CharacterBody3D
|
||||||
|
|
||||||
|
@export_category("Player")
|
||||||
|
@export_range(1, 35, 1) var speed: float = 10 # m/s
|
||||||
|
@export_range(10, 400, 1) var acceleration: float = 100 # m/s^2
|
||||||
|
|
||||||
|
@export_range(0.1, 3.0, 0.1) var jump_height: float = 1 # m
|
||||||
|
@export_range(0.1, 3.0, 0.1, "or_greater") var camera_sens: float = 1
|
||||||
|
|
||||||
|
var jumping: bool = false
|
||||||
|
var mouse_captured: bool = false
|
||||||
|
|
||||||
|
var gravity: float = ProjectSettings.get_setting("physics/3d/default_gravity")
|
||||||
|
|
||||||
|
var move_dir: Vector2 # Input direction for movement
|
||||||
|
var look_dir: Vector2 # Input direction for look/aim
|
||||||
|
|
||||||
|
var walk_vel: Vector3 # Walking velocity
|
||||||
|
var grav_vel: Vector3 # Gravity velocity
|
||||||
|
var jump_vel: Vector3 # Jumping velocity
|
||||||
|
|
||||||
|
@onready var camera: Node3D = $Body/CameraMount
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
capture_mouse()
|
||||||
|
|
||||||
|
func _unhandled_input(event: InputEvent) -> void:
|
||||||
|
if event is InputEventMouseMotion:
|
||||||
|
look_dir = event.relative * 0.001
|
||||||
|
if mouse_captured: _rotate_camera()
|
||||||
|
if Input.is_action_just_pressed("jump"): jumping = true
|
||||||
|
if Input.is_action_just_pressed("exit"): get_tree().quit()
|
||||||
|
|
||||||
|
func _physics_process(delta: float) -> void:
|
||||||
|
if mouse_captured: _handle_joypad_camera_rotation(delta)
|
||||||
|
velocity = _walk(delta) + _gravity(delta) + _jump(delta)
|
||||||
|
move_and_slide()
|
||||||
|
|
||||||
|
func capture_mouse() -> void:
|
||||||
|
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
|
||||||
|
mouse_captured = true
|
||||||
|
|
||||||
|
func release_mouse() -> void:
|
||||||
|
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
|
||||||
|
mouse_captured = false
|
||||||
|
|
||||||
|
func _rotate_camera(sens_mod: float = 1.0) -> void:
|
||||||
|
camera.rotation.y -= look_dir.x * camera_sens * sens_mod
|
||||||
|
camera.rotation.x = clamp(camera.rotation.x - look_dir.y * camera_sens * sens_mod, -1.5, 1.5)
|
||||||
|
|
||||||
|
func _handle_joypad_camera_rotation(delta: float, sens_mod: float = 1.0) -> void:
|
||||||
|
var joypad_dir: Vector2 = Input.get_vector("look_left","look_right","look_up","look_down")
|
||||||
|
if joypad_dir.length() > 0:
|
||||||
|
look_dir += joypad_dir * delta
|
||||||
|
_rotate_camera(sens_mod)
|
||||||
|
look_dir = Vector2.ZERO
|
||||||
|
|
||||||
|
func _walk(delta: float) -> Vector3:
|
||||||
|
move_dir = Input.get_vector("move_left", "move_right", "move_forward", "move_backwards")
|
||||||
|
var _forward: Vector3 = camera.global_transform.basis * Vector3(move_dir.x, 0, move_dir.y)
|
||||||
|
var walk_dir: Vector3 = Vector3(_forward.x, 0, _forward.z).normalized()
|
||||||
|
walk_vel = walk_vel.move_toward(walk_dir * speed * move_dir.length(), acceleration * delta)
|
||||||
|
return walk_vel
|
||||||
|
|
||||||
|
func _gravity(delta: float) -> Vector3:
|
||||||
|
grav_vel = Vector3.ZERO if is_on_floor() else grav_vel.move_toward(Vector3(0, velocity.y - gravity, 0), gravity * delta)
|
||||||
|
return grav_vel
|
||||||
|
|
||||||
|
func _jump(delta: float) -> Vector3:
|
||||||
|
if jumping:
|
||||||
|
if is_on_floor(): jump_vel = Vector3(0, sqrt(4 * jump_height * gravity), 0)
|
||||||
|
jumping = false
|
||||||
|
return jump_vel
|
||||||
|
jump_vel = Vector3.ZERO if is_on_floor() else jump_vel.move_toward(Vector3.ZERO, gravity * delta)
|
||||||
|
return jump_vel
|
Loading…
x
Reference in New Issue
Block a user