From 2146b01abdb6762e5c4594b13eaa987f2b48bb72 Mon Sep 17 00:00:00 2001 From: beppe Date: Wed, 19 Jun 2024 11:38:41 +0200 Subject: [PATCH] new proj --- .gitattributes | 2 ++ .gitignore | 2 ++ CharacterBody3D.gd | 31 +++++++++++++++++++++++++++++++ icon.svg | 1 + icon.svg.import | 37 +++++++++++++++++++++++++++++++++++++ node_3d.tscn | 40 ++++++++++++++++++++++++++++++++++++++++ player_move.gd | 33 +++++++++++++++++++++++++++++++++ project.godot | 21 +++++++++++++++++++++ 8 files changed, 167 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 CharacterBody3D.gd create mode 100644 icon.svg create mode 100644 icon.svg.import create mode 100644 node_3d.tscn create mode 100644 player_move.gd create mode 100644 project.godot diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8ad74f7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Normalize EOL for all files that Git considers text files. +* text=auto eol=lf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4709183 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# Godot 4+ specific ignores +.godot/ diff --git a/CharacterBody3D.gd b/CharacterBody3D.gd new file mode 100644 index 0000000..ddb7cd4 --- /dev/null +++ b/CharacterBody3D.gd @@ -0,0 +1,31 @@ +extends CharacterBody3D + + +const SPEED = 5.0 +const JUMP_VELOCITY = 4.5 + +# Get the gravity from the project settings to be synced with RigidBody nodes. +var gravity = ProjectSettings.get_setting("physics/3d/default_gravity") + + +func _physics_process(delta): + # Add the 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 = abs(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() diff --git a/icon.svg b/icon.svg new file mode 100644 index 0000000..3fe4f4a --- /dev/null +++ b/icon.svg @@ -0,0 +1 @@ + diff --git a/icon.svg.import b/icon.svg.import new file mode 100644 index 0000000..22a40d2 --- /dev/null +++ b/icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dg8t3bym1m7d8" +path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.svg" +dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/node_3d.tscn b/node_3d.tscn new file mode 100644 index 0000000..97c0a00 --- /dev/null +++ b/node_3d.tscn @@ -0,0 +1,40 @@ +[gd_scene load_steps=6 format=3 uid="uid://cet5x83r5jeyl"] + +[ext_resource type="Script" path="res://player_move.gd" id="1_3w378"] + +[sub_resource type="BoxShape3D" id="BoxShape3D_xx3kl"] +size = Vector3(20, 0.1, 20) + +[sub_resource type="BoxMesh" id="BoxMesh_lwlrc"] +size = Vector3(20, 0.1, 20) + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_fla64"] + +[sub_resource type="CapsuleMesh" id="CapsuleMesh_hyrp0"] + +[node name="Node3D" type="Node3D"] + +[node name="ground" type="StaticBody3D" parent="."] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="ground"] +shape = SubResource("BoxShape3D_xx3kl") + +[node name="MeshInstance3D" type="MeshInstance3D" parent="ground"] +mesh = SubResource("BoxMesh_lwlrc") + +[node name="CharacterBody3D" type="CharacterBody3D" parent="."] +script = ExtResource("1_3w378") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="CharacterBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0) +shape = SubResource("CapsuleShape3D_fla64") + +[node name="MeshInstance3D" type="MeshInstance3D" parent="CharacterBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0) +mesh = SubResource("CapsuleMesh_hyrp0") + +[node name="Camera3D" type="Camera3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 0.945194, 0.326509, 0, -0.326509, 0.945194, 0, 3.40972, 20.5085) + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] +transform = Transform3D(0.996617, -0.082182, 1.18574e-09, 0.0479042, 0.580931, 0.812542, -0.0667763, -0.809793, 0.582903, 0, 14.9801, 0) diff --git a/player_move.gd b/player_move.gd new file mode 100644 index 0000000..1a0ea9c --- /dev/null +++ b/player_move.gd @@ -0,0 +1,33 @@ +extends CharacterBody3D + + +const SPEED = 5.0 +const JUMP_VELOCITY = 10.5 + +# Get the gravity from the project settings to be synced with RigidBody nodes. +var gravity = ProjectSettings.get_setting("physics/3d/default_gravity") +var vel = Vector3(0.01,gravity,0.01) + +func _physics_process(delta): + + # Add the gravity. + if not is_on_floor(): + velocity.y -= gravity * delta + + # Handle jump. + var jv = JUMP_VELOCITY + abs(velocity.y) + if Input.is_action_just_pressed("ui_accept") and is_on_floor(): + velocity.y = jv + + # 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() diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..4b1ad5a --- /dev/null +++ b/project.godot @@ -0,0 +1,21 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=5 + +[application] + +config/name="pogo" +run/main_scene="res://node_3d.tscn" +config/features=PackedStringArray("4.2", "GL Compatibility") +config/icon="res://icon.svg" + +[rendering] + +renderer/rendering_method="gl_compatibility" +renderer/rendering_method.mobile="gl_compatibility"