Add basic movement
This commit is contained in:
parent
4b1867590a
commit
7a9f7cc88d
18
.gitignore
vendored
18
.gitignore
vendored
@ -1,16 +1,2 @@
|
||||
# ---> Rust
|
||||
# Generated by Cargo
|
||||
# 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
|
||||
|
||||
# Godot 4+ specific ignores
|
||||
.godot/
|
||||
|
@ -100,7 +100,7 @@ Anim={
|
||||
"auto_orthogonal_enabled": true,
|
||||
"cinematic_preview": false,
|
||||
"display_mode": 21,
|
||||
"distance": 7.6359,
|
||||
"distance": 7.29419,
|
||||
"doppler": false,
|
||||
"frame_time": false,
|
||||
"gizmos": true,
|
||||
@ -112,8 +112,8 @@ Anim={
|
||||
"position": Vector3(0, 0, 0),
|
||||
"use_environment": false,
|
||||
"view_type": 0,
|
||||
"x_rotation": 0.382451,
|
||||
"y_rotation": -1.58645
|
||||
"x_rotation": 0.368837,
|
||||
"y_rotation": -1.68593
|
||||
}, {
|
||||
"auto_orthogonal": false,
|
||||
"auto_orthogonal_enabled": true,
|
||||
@ -175,4 +175,4 @@ Anim={
|
||||
"zfar": 4000.01,
|
||||
"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]
|
||||
|
||||
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=[]
|
||||
|
@ -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_file_sort=0
|
||||
dock_filesystem_file_list_display_mode=1
|
||||
dock_filesystem_selected_paths=PackedStringArray("res://scenes/utils/character.tscn")
|
||||
dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://scenes/", "res://scenes/utils/", "res://addons/", "res://addons/kenney_prototype_textures/orange/")
|
||||
dock_filesystem_selected_paths=PackedStringArray("res://scripts/character_controller.gd")
|
||||
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_4="FileSystem"
|
||||
dock_5="Inspector,Node,History"
|
||||
@ -29,13 +29,13 @@ open_scenes=PackedStringArray("res://scenes/utils/character.tscn")
|
||||
current_scene="res://scenes/utils/character.tscn"
|
||||
center_split_offset=0
|
||||
selected_default_debugger_tab_idx=0
|
||||
selected_main_editor_idx=2
|
||||
selected_main_editor_idx=1
|
||||
selected_bottom_panel_item=0
|
||||
|
||||
[ScriptEditor]
|
||||
|
||||
open_scripts=["res://scenes/utils/character_body_3d.gd"]
|
||||
selected_script="res://scenes/utils/character_body_3d.gd"
|
||||
open_scripts=["res://scripts/character_controller.gd"]
|
||||
selected_script="res://scripts/character_controller.gd"
|
||||
open_help=[]
|
||||
script_split_offset=140
|
||||
list_split_offset=0
|
||||
|
@ -1,99 +1,99 @@
|
||||
ea4bc82a6ad023ab7ee23ee620429895
|
||||
::res://::1737037070
|
||||
::res://::1737038845
|
||||
icon.svg::CompressedTexture2D::6293334859799825849::1736869462::1737029434::1::::<><>::
|
||||
README.md::TextFile::-1::1736782425::0::1::::<><>::
|
||||
::res://addons/::1737029345
|
||||
::res://addons/kenney_prototype_textures/::1736869689
|
||||
LICENSE.txt::TextFile::-1::1736869688::0::1::::<><>::
|
||||
::res://addons/kenney_prototype_textures/dark/::1737029953
|
||||
texture_01.png::CompressedTexture2D::8014208326336467885::1736869688::1737029950::1::::<><>::
|
||||
texture_02.png::CompressedTexture2D::2432288388540315486::1736869688::1736869689::1::::<><>::
|
||||
texture_03.png::CompressedTexture2D::718984629790284706::1736869688::1736869689::1::::<><>::
|
||||
texture_04.png::CompressedTexture2D::341418743939086096::1736869688::1737029953::1::::<><>::
|
||||
texture_05.png::CompressedTexture2D::7351723646777413688::1736869688::1736869689::1::::<><>::
|
||||
texture_06.png::CompressedTexture2D::8615009470155375539::1736869688::1736869689::1::::<><>::
|
||||
texture_07.png::CompressedTexture2D::2874041732111591054::1736869688::1736869689::1::::<><>::
|
||||
texture_08.png::CompressedTexture2D::1035326817980762041::1736869688::1736869689::1::::<><>::
|
||||
texture_09.png::CompressedTexture2D::6407493781882021197::1736869688::1736869689::1::::<><>::
|
||||
texture_10.png::CompressedTexture2D::970016071898969561::1736869688::1736869689::1::::<><>::
|
||||
texture_11.png::CompressedTexture2D::5381106305644616509::1736869688::1736869689::1::::<><>::
|
||||
texture_12.png::CompressedTexture2D::8434509427464472327::1736869688::1736869689::1::::<><>::
|
||||
texture_13.png::CompressedTexture2D::7788556782362452097::1736869688::1736869689::1::::<><>::
|
||||
::res://addons/kenney_prototype_textures/green/::1736869689
|
||||
texture_01.png::CompressedTexture2D::3591690079457645626::1736869688::1736869689::1::::<><>::
|
||||
texture_02.png::CompressedTexture2D::1698616428607644272::1736869688::1736869689::1::::<><>::
|
||||
texture_03.png::CompressedTexture2D::265155403077655284::1736869688::1736869689::1::::<><>::
|
||||
texture_04.png::CompressedTexture2D::705419063103924200::1736869688::1736869689::1::::<><>::
|
||||
texture_05.png::CompressedTexture2D::305786682205419453::1736869688::1736869689::1::::<><>::
|
||||
texture_06.png::CompressedTexture2D::7876514693098428664::1736869688::1736869689::1::::<><>::
|
||||
texture_07.png::CompressedTexture2D::5611489189511299230::1736869688::1736869689::1::::<><>::
|
||||
texture_08.png::CompressedTexture2D::6443450056591050810::1736869688::1736869689::1::::<><>::
|
||||
texture_09.png::CompressedTexture2D::8595944843117064655::1736869688::1736869689::1::::<><>::
|
||||
texture_10.png::CompressedTexture2D::7821201077408947508::1736869688::1736869689::1::::<><>::
|
||||
texture_11.png::CompressedTexture2D::1430367131781657164::1736869688::1736869689::1::::<><>::
|
||||
texture_12.png::CompressedTexture2D::7360614402890992885::1736869688::1736869689::1::::<><>::
|
||||
texture_13.png::CompressedTexture2D::7369035209002593630::1736869688::1736869689::1::::<><>::
|
||||
::res://addons/kenney_prototype_textures/light/::1736869689
|
||||
texture_01.png::CompressedTexture2D::7862618860966628850::1736869688::1736869689::1::::<><>::
|
||||
texture_02.png::CompressedTexture2D::3452553886857033907::1736869688::1736869689::1::::<><>::
|
||||
texture_03.png::CompressedTexture2D::4199276934284515983::1736869688::1736869689::1::::<><>::
|
||||
texture_04.png::CompressedTexture2D::2942993304927740418::1736869688::1736869689::1::::<><>::
|
||||
texture_05.png::CompressedTexture2D::6124607509632685472::1736869688::1736869689::1::::<><>::
|
||||
texture_06.png::CompressedTexture2D::1911568459262664059::1736869688::1736869689::1::::<><>::
|
||||
texture_07.png::CompressedTexture2D::8622626798144612244::1736869688::1736869689::1::::<><>::
|
||||
texture_08.png::CompressedTexture2D::3021798951951848728::1736869688::1736869689::1::::<><>::
|
||||
texture_09.png::CompressedTexture2D::8444566319518166270::1736869688::1736869689::1::::<><>::
|
||||
texture_10.png::CompressedTexture2D::675458333716866969::1736869688::1736869689::1::::<><>::
|
||||
texture_11.png::CompressedTexture2D::5523655257548494756::1736869688::1736869689::1::::<><>::
|
||||
texture_12.png::CompressedTexture2D::4857807675388186950::1736869688::1736869689::1::::<><>::
|
||||
texture_13.png::CompressedTexture2D::3273862421406529395::1736869688::1736869689::1::::<><>::
|
||||
::res://addons/kenney_prototype_textures/orange/::1737029977
|
||||
texture_01.png::CompressedTexture2D::8850892896430748122::1736869688::1737029439::1::::<><>::
|
||||
texture_02.png::CompressedTexture2D::2672000434421504928::1736869688::1737029939::1::::<><>::
|
||||
texture_03.png::CompressedTexture2D::1361783228247061649::1736869688::1736869689::1::::<><>::
|
||||
texture_04.png::CompressedTexture2D::1558588222599350847::1736869688::1736869689::1::::<><>::
|
||||
texture_05.png::CompressedTexture2D::7880821390891723738::1736869688::1736869689::1::::<><>::
|
||||
texture_06.png::CompressedTexture2D::7018380499964468401::1736869688::1736869689::1::::<><>::
|
||||
texture_07.png::CompressedTexture2D::6248945065740741411::1736869688::1736869689::1::::<><>::
|
||||
texture_08.png::CompressedTexture2D::3954449787186606783::1736869688::1736869689::1::::<><>::
|
||||
texture_09.png::CompressedTexture2D::6921285454149224906::1736869688::1737029977::1::::<><>::
|
||||
texture_10.png::CompressedTexture2D::379379000582102797::1736869688::1737029975::1::::<><>::
|
||||
texture_11.png::CompressedTexture2D::4367015284030897067::1736869688::1736869689::1::::<><>::
|
||||
texture_12.png::CompressedTexture2D::1534751701521898135::1736869688::1736869689::1::::<><>::
|
||||
texture_13.png::CompressedTexture2D::9011328998200671174::1736869688::1737029973::1::::<><>::
|
||||
::res://addons/kenney_prototype_textures/purple/::1736869689
|
||||
texture_01.png::CompressedTexture2D::7805623915026090141::1736869688::1736869689::1::::<><>::
|
||||
texture_02.png::CompressedTexture2D::8833013530932454676::1736869688::1736869689::1::::<><>::
|
||||
texture_03.png::CompressedTexture2D::1142264075268473671::1736869688::1736869689::1::::<><>::
|
||||
texture_04.png::CompressedTexture2D::6954617688936199902::1736869688::1736869689::1::::<><>::
|
||||
texture_05.png::CompressedTexture2D::8981351822393609896::1736869688::1736869689::1::::<><>::
|
||||
texture_06.png::CompressedTexture2D::6445691090060456570::1736869688::1736869689::1::::<><>::
|
||||
texture_07.png::CompressedTexture2D::3322378310072755368::1736869688::1736869689::1::::<><>::
|
||||
texture_08.png::CompressedTexture2D::3138713553971704626::1736869688::1736869689::1::::<><>::
|
||||
texture_09.png::CompressedTexture2D::8311663988417496651::1736869689::1736869689::1::::<><>::
|
||||
texture_10.png::CompressedTexture2D::1907232424808447802::1736869689::1736869689::1::::<><>::
|
||||
texture_11.png::CompressedTexture2D::277422384403551588::1736869689::1736869689::1::::<><>::
|
||||
texture_12.png::CompressedTexture2D::2135924986290984413::1736869689::1736869689::1::::<><>::
|
||||
texture_13.png::CompressedTexture2D::2502120491612661883::1736869689::1736869689::1::::<><>::
|
||||
::res://addons/kenney_prototype_textures/red/::1736869689
|
||||
texture_01.png::CompressedTexture2D::8659956684227579772::1736869689::1736869689::1::::<><>::
|
||||
texture_02.png::CompressedTexture2D::5789995300380875368::1736869689::1736869689::1::::<><>::
|
||||
texture_03.png::CompressedTexture2D::4952222541510049297::1736869689::1736869689::1::::<><>::
|
||||
texture_04.png::CompressedTexture2D::874893283185479439::1736869689::1736869689::1::::<><>::
|
||||
texture_05.png::CompressedTexture2D::4396290600234928335::1736869689::1736869689::1::::<><>::
|
||||
texture_06.png::CompressedTexture2D::5974277055110559038::1736869689::1736869689::1::::<><>::
|
||||
texture_07.png::CompressedTexture2D::5476557456313661038::1736869689::1736869689::1::::<><>::
|
||||
texture_08.png::CompressedTexture2D::8196374735315928810::1736869689::1736869689::1::::<><>::
|
||||
texture_09.png::CompressedTexture2D::4754284010640071075::1736869689::1736869689::1::::<><>::
|
||||
texture_10.png::CompressedTexture2D::2971695225111600166::1736869689::1736869689::1::::<><>::
|
||||
texture_11.png::CompressedTexture2D::8096073329999689269::1736869689::1736869689::1::::<><>::
|
||||
texture_12.png::CompressedTexture2D::4073907045700868469::1736869689::1736869689::1::::<><>::
|
||||
texture_13.png::CompressedTexture2D::3957247833334422199::1736869689::1736869689::1::::<><>::
|
||||
::res://addons/kenney_prototype_textures/dark/::1737038454
|
||||
texture_01.png::CompressedTexture2D::8014208326336467885::1737037176::1737038454::1::::<><>::
|
||||
texture_02.png::CompressedTexture2D::2432288388540315486::1737037176::1737038454::1::::<><>::
|
||||
texture_03.png::CompressedTexture2D::718984629790284706::1737037176::1737038454::1::::<><>::
|
||||
texture_04.png::CompressedTexture2D::341418743939086096::1737037176::1737038454::1::::<><>::
|
||||
texture_05.png::CompressedTexture2D::7351723646777413688::1737037176::1737038454::1::::<><>::
|
||||
texture_06.png::CompressedTexture2D::8615009470155375539::1737037176::1737038454::1::::<><>::
|
||||
texture_07.png::CompressedTexture2D::2874041732111591054::1737037176::1737038454::1::::<><>::
|
||||
texture_08.png::CompressedTexture2D::1035326817980762041::1737037176::1737038454::1::::<><>::
|
||||
texture_09.png::CompressedTexture2D::6407493781882021197::1737037176::1737038454::1::::<><>::
|
||||
texture_10.png::CompressedTexture2D::970016071898969561::1737037176::1737038454::1::::<><>::
|
||||
texture_11.png::CompressedTexture2D::5381106305644616509::1737037176::1737038454::1::::<><>::
|
||||
texture_12.png::CompressedTexture2D::8434509427464472327::1737037176::1737038454::1::::<><>::
|
||||
texture_13.png::CompressedTexture2D::7788556782362452097::1737037176::1737038454::1::::<><>::
|
||||
::res://addons/kenney_prototype_textures/green/::1737038454
|
||||
texture_01.png::CompressedTexture2D::3591690079457645626::1737037176::1737038454::1::::<><>::
|
||||
texture_02.png::CompressedTexture2D::1698616428607644272::1737037176::1737038454::1::::<><>::
|
||||
texture_03.png::CompressedTexture2D::265155403077655284::1737037176::1737038454::1::::<><>::
|
||||
texture_04.png::CompressedTexture2D::705419063103924200::1737037176::1737038454::1::::<><>::
|
||||
texture_05.png::CompressedTexture2D::305786682205419453::1737037176::1737038454::1::::<><>::
|
||||
texture_06.png::CompressedTexture2D::7876514693098428664::1737037176::1737038454::1::::<><>::
|
||||
texture_07.png::CompressedTexture2D::5611489189511299230::1737037176::1737038454::1::::<><>::
|
||||
texture_08.png::CompressedTexture2D::6443450056591050810::1737037176::1737038454::1::::<><>::
|
||||
texture_09.png::CompressedTexture2D::8595944843117064655::1737037176::1737038454::1::::<><>::
|
||||
texture_10.png::CompressedTexture2D::7821201077408947508::1737037176::1737038454::1::::<><>::
|
||||
texture_11.png::CompressedTexture2D::1430367131781657164::1737037176::1737038454::1::::<><>::
|
||||
texture_12.png::CompressedTexture2D::7360614402890992885::1737037176::1737038454::1::::<><>::
|
||||
texture_13.png::CompressedTexture2D::7369035209002593630::1737037176::1737038454::1::::<><>::
|
||||
::res://addons/kenney_prototype_textures/light/::1737038454
|
||||
texture_01.png::CompressedTexture2D::7862618860966628850::1737037176::1737038454::1::::<><>::
|
||||
texture_02.png::CompressedTexture2D::3452553886857033907::1737037176::1737038454::1::::<><>::
|
||||
texture_03.png::CompressedTexture2D::4199276934284515983::1737037176::1737038454::1::::<><>::
|
||||
texture_04.png::CompressedTexture2D::2942993304927740418::1737037176::1737038454::1::::<><>::
|
||||
texture_05.png::CompressedTexture2D::6124607509632685472::1737037176::1737038454::1::::<><>::
|
||||
texture_06.png::CompressedTexture2D::1911568459262664059::1737037176::1737038454::1::::<><>::
|
||||
texture_07.png::CompressedTexture2D::8622626798144612244::1737037176::1737038454::1::::<><>::
|
||||
texture_08.png::CompressedTexture2D::3021798951951848728::1737037176::1737038454::1::::<><>::
|
||||
texture_09.png::CompressedTexture2D::8444566319518166270::1737037176::1737038454::1::::<><>::
|
||||
texture_10.png::CompressedTexture2D::675458333716866969::1737037176::1737038454::1::::<><>::
|
||||
texture_11.png::CompressedTexture2D::5523655257548494756::1737037176::1737038454::1::::<><>::
|
||||
texture_12.png::CompressedTexture2D::4857807675388186950::1737037176::1737038454::1::::<><>::
|
||||
texture_13.png::CompressedTexture2D::3273862421406529395::1737037176::1737038454::1::::<><>::
|
||||
::res://addons/kenney_prototype_textures/orange/::1737038454
|
||||
texture_01.png::CompressedTexture2D::8850892896430748122::1737037176::1737038454::1::::<><>::
|
||||
texture_02.png::CompressedTexture2D::2672000434421504928::1737037176::1737038454::1::::<><>::
|
||||
texture_03.png::CompressedTexture2D::1361783228247061649::1737037176::1737038454::1::::<><>::
|
||||
texture_04.png::CompressedTexture2D::1558588222599350847::1737037176::1737038454::1::::<><>::
|
||||
texture_05.png::CompressedTexture2D::7880821390891723738::1737037176::1737038454::1::::<><>::
|
||||
texture_06.png::CompressedTexture2D::7018380499964468401::1737037176::1737038454::1::::<><>::
|
||||
texture_07.png::CompressedTexture2D::6248945065740741411::1737037176::1737038454::1::::<><>::
|
||||
texture_08.png::CompressedTexture2D::3954449787186606783::1737037176::1737038454::1::::<><>::
|
||||
texture_09.png::CompressedTexture2D::6921285454149224906::1737037176::1737038454::1::::<><>::
|
||||
texture_10.png::CompressedTexture2D::379379000582102797::1737037176::1737038454::1::::<><>::
|
||||
texture_11.png::CompressedTexture2D::4367015284030897067::1737037176::1737038454::1::::<><>::
|
||||
texture_12.png::CompressedTexture2D::1534751701521898135::1737037176::1737038454::1::::<><>::
|
||||
texture_13.png::CompressedTexture2D::9011328998200671174::1737037176::1737038454::1::::<><>::
|
||||
::res://addons/kenney_prototype_textures/purple/::1737038454
|
||||
texture_01.png::CompressedTexture2D::7805623915026090141::1737037176::1737038454::1::::<><>::
|
||||
texture_02.png::CompressedTexture2D::8833013530932454676::1737037176::1737038454::1::::<><>::
|
||||
texture_03.png::CompressedTexture2D::1142264075268473671::1737037176::1737038454::1::::<><>::
|
||||
texture_04.png::CompressedTexture2D::6954617688936199902::1737037176::1737038454::1::::<><>::
|
||||
texture_05.png::CompressedTexture2D::8981351822393609896::1737037176::1737038454::1::::<><>::
|
||||
texture_06.png::CompressedTexture2D::6445691090060456570::1737037176::1737038454::1::::<><>::
|
||||
texture_07.png::CompressedTexture2D::3322378310072755368::1737037176::1737038454::1::::<><>::
|
||||
texture_08.png::CompressedTexture2D::3138713553971704626::1737037176::1737038454::1::::<><>::
|
||||
texture_09.png::CompressedTexture2D::8311663988417496651::1737037176::1737038454::1::::<><>::
|
||||
texture_10.png::CompressedTexture2D::1907232424808447802::1737037176::1737038454::1::::<><>::
|
||||
texture_11.png::CompressedTexture2D::277422384403551588::1737037176::1737038454::1::::<><>::
|
||||
texture_12.png::CompressedTexture2D::2135924986290984413::1737037176::1737038454::1::::<><>::
|
||||
texture_13.png::CompressedTexture2D::2502120491612661883::1737037176::1737038454::1::::<><>::
|
||||
::res://addons/kenney_prototype_textures/red/::1737038454
|
||||
texture_01.png::CompressedTexture2D::8659956684227579772::1737037176::1737038454::1::::<><>::
|
||||
texture_02.png::CompressedTexture2D::5789995300380875368::1737037176::1737038454::1::::<><>::
|
||||
texture_03.png::CompressedTexture2D::4952222541510049297::1737037176::1737038454::1::::<><>::
|
||||
texture_04.png::CompressedTexture2D::874893283185479439::1737037176::1737038454::1::::<><>::
|
||||
texture_05.png::CompressedTexture2D::4396290600234928335::1737037176::1737038454::1::::<><>::
|
||||
texture_06.png::CompressedTexture2D::5974277055110559038::1737037176::1737038454::1::::<><>::
|
||||
texture_07.png::CompressedTexture2D::5476557456313661038::1737037176::1737038454::1::::<><>::
|
||||
texture_08.png::CompressedTexture2D::8196374735315928810::1737037176::1737038454::1::::<><>::
|
||||
texture_09.png::CompressedTexture2D::4754284010640071075::1737037176::1737038454::1::::<><>::
|
||||
texture_10.png::CompressedTexture2D::2971695225111600166::1737037176::1737038454::1::::<><>::
|
||||
texture_11.png::CompressedTexture2D::8096073329999689269::1737037176::1737038454::1::::<><>::
|
||||
texture_12.png::CompressedTexture2D::4073907045700868469::1737037176::1737038454::1::::<><>::
|
||||
texture_13.png::CompressedTexture2D::3957247833334422199::1737037176::1737038454::1::::<><>::
|
||||
::res://scenes/::1736869534
|
||||
::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
|
||||
::res://scenes/utils/::1737036964
|
||||
character.tscn::PackedScene::4939992196724824302::1737036964::0::1::::<><>::res://scenes/utils/character_body_3d.gd
|
||||
character_body_3d.gd::GDScript::-1::1737036962::0::1::::<>CharacterBody3D<>::
|
||||
::res://scenes/utils/::1737038823
|
||||
character.tscn::PackedScene::4939992196724824302::1737038823::0::1::::<><>::res://scripts/character_controller.gd<>uid://d1nfjip21kjpu::::res://addons/kenney_prototype_textures/orange/texture_13.png
|
||||
::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={
|
||||
"bookmarks": PackedInt32Array(),
|
||||
"breakpoints": PackedInt32Array(),
|
||||
"column": 0,
|
||||
"folded_lines": Array[int]([]),
|
||||
"folded_lines": Array[int]([0]),
|
||||
"h_scroll_position": 0,
|
||||
"row": 9,
|
||||
"scroll_position": 0.0,
|
||||
"row": 59,
|
||||
"scroll_position": 22.0,
|
||||
"selection": false,
|
||||
"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]
|
||||
|
||||
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"]
|
||||
|
||||
[node name="Character" type="Node3D"]
|
||||
|
||||
[node name="CharacterBody3D" type="CharacterBody3D" parent="."]
|
||||
script = ExtResource("1_0ojbt")
|
||||
script = ExtResource("1_sue4n")
|
||||
|
||||
[node name="Body" type="CSGCylinder3D" parent="CharacterBody3D"]
|
||||
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"]
|
||||
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"]
|
||||
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"]
|
||||
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