diff --git a/font/OldLondon.ttf b/font/OldLondon.ttf new file mode 100644 index 0000000..f24a340 Binary files /dev/null and b/font/OldLondon.ttf differ diff --git a/font/OldLondon.ttf.import b/font/OldLondon.ttf.import new file mode 100644 index 0000000..1de39e5 --- /dev/null +++ b/font/OldLondon.ttf.import @@ -0,0 +1,34 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://f0ihd5tib5ta" +path="res://.godot/imported/OldLondon.ttf-9add956f90f3fc5f5b97c9e5ce62b0b8.fontdata" + +[deps] + +source_file="res://font/OldLondon.ttf" +dest_files=["res://.godot/imported/OldLondon.ttf-9add956f90f3fc5f5b97c9e5ce62b0b8.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +disable_embedded_bitmaps=true +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/font/Olondon_.otf b/font/Olondon_.otf new file mode 100644 index 0000000..9a68b20 Binary files /dev/null and b/font/Olondon_.otf differ diff --git a/font/Olondon_.otf.import b/font/Olondon_.otf.import new file mode 100644 index 0000000..06cae48 --- /dev/null +++ b/font/Olondon_.otf.import @@ -0,0 +1,34 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://4wtgmfk7f8ft" +path="res://.godot/imported/Olondon_.otf-10ee96174529a74a7a706e744b604e10.fontdata" + +[deps] + +source_file="res://font/Olondon_.otf" +dest_files=["res://.godot/imported/Olondon_.otf-10ee96174529a74a7a706e744b604e10.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +disable_embedded_bitmaps=true +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/icon.svg b/icon.svg new file mode 100644 index 0000000..9d8b7fa --- /dev/null +++ b/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/icon.svg.import b/icon.svg.import new file mode 100644 index 0000000..c917de3 --- /dev/null +++ b/icon.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cjk4qfq352fdp" +path.s3tc="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://icon.svg" +dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/model/icon.svg.import b/model/icon.svg.import index 39a2f69..e7502ca 100644 --- a/model/icon.svg.import +++ b/model/icon.svg.import @@ -3,7 +3,7 @@ importer="texture" type="CompressedTexture2D" uid="uid://pr42rnokdw6w" -path.s3tc="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.s3tc.ctex" +path.s3tc="res://.godot/imported/icon.svg-f0f35bacca6aee2c00fc65ada495bf54.s3tc.ctex" metadata={ "imported_formats": ["s3tc_bptc"], "vram_texture": true @@ -11,8 +11,8 @@ metadata={ [deps] -source_file="res://icon.svg" -dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.s3tc.ctex"] +source_file="res://model/icon.svg" +dest_files=["res://.godot/imported/icon.svg-f0f35bacca6aee2c00fc65ada495bf54.s3tc.ctex"] [params] diff --git a/project.godot b/project.godot index d1f10ce..7929f7c 100644 --- a/project.godot +++ b/project.godot @@ -15,6 +15,12 @@ run/main_scene="res://scene/scene_manager/scene_manager.tscn" config/features=PackedStringArray("4.3", "Forward Plus") config/icon="res://icon.svg" +[display] + +window/size/viewport_width=1920 +window/size/viewport_height=1080 +window/size/mode=3 + [input] up={ @@ -37,3 +43,13 @@ right={ "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) ] } +interact={ +"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":69,"key_label":0,"unicode":101,"location":0,"echo":false,"script":null) +] +} +enter={ +"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":4194309,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} diff --git a/scene/check_point.tscn b/scene/check_point.tscn new file mode 100644 index 0000000..b5a326b --- /dev/null +++ b/scene/check_point.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=3 uid="uid://du08nv2jrl6vr"] + +[ext_resource type="Script" path="res://script/check_point.gd" id="1_kjo7t"] + +[sub_resource type="CylinderShape3D" id="CylinderShape3D_r3do8"] +radius = 2.0 + +[sub_resource type="BoxMesh" id="BoxMesh_3wcn3"] + +[node name="check_point" type="Node3D"] +script = ExtResource("1_kjo7t") + +[node name="Area3D" type="Area3D" parent="."] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D"] +shape = SubResource("CylinderShape3D_r3do8") + +[node name="MeshInstance3D" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.65283, 0) +mesh = SubResource("BoxMesh_3wcn3") + +[connection signal="body_entered" from="Area3D" to="." method="_on_area_3d_body_entered"] diff --git a/scene/fire.tscn b/scene/fire.tscn new file mode 100644 index 0000000..216aacc --- /dev/null +++ b/scene/fire.tscn @@ -0,0 +1,48 @@ +[gd_scene load_steps=6 format=3 uid="uid://dkclufjwe5k81"] + +[sub_resource type="Curve" id="Curve_3ng4l"] +max_value = 100.0 +_data = [Vector2(0.00724638, 0), 0.0, 0.0, 0, 0, Vector2(0.521739, 7.69231), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] +point_count = 3 + +[sub_resource type="CurveTexture" id="CurveTexture_o85q3"] +curve = SubResource("Curve_3ng4l") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_n4e37"] +emission_shape = 1 +emission_sphere_radius = 0.5 +gravity = Vector3(0, 1, 0) +damping_max = 0.1 +damping_curve = SubResource("CurveTexture_o85q3") +turbulence_noise_strength = 0.67 +turbulence_noise_scale = 8.552 +turbulence_influence_min = 0.035 +turbulence_influence_max = 0.333 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_im1w3"] +blend_mode = 1 +albedo_color = Color(1, 0.478431, 0.247059, 1) +metallic = 1.0 +emission_enabled = true +emission = Color(0.854902, 0.192157, 0, 1) +emission_energy_multiplier = 11.16 +ao_light_affect = 1.0 +heightmap_scale = 5.16 +heightmap_deep_parallax = true +heightmap_min_layers = 8 +heightmap_max_layers = 32 +subsurf_scatter_strength = 0.5 +billboard_mode = 1 + +[sub_resource type="QuadMesh" id="QuadMesh_nbxiu"] +material = SubResource("StandardMaterial3D_im1w3") +size = Vector2(0.1, 0.1) + +[node name="GPUParticles3D" type="GPUParticles3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.709307, -2.75428) +amount = 1000 +process_material = SubResource("ParticleProcessMaterial_n4e37") +draw_pass_1 = SubResource("QuadMesh_nbxiu") + +[node name="OmniLight3D" type="OmniLight3D" parent="."] +light_color = Color(1, 0.156863, 0.258824, 1) diff --git a/scene/gpu_particles_3d.tscn b/scene/gpu_particles_3d.tscn new file mode 100644 index 0000000..d8e0f8d --- /dev/null +++ b/scene/gpu_particles_3d.tscn @@ -0,0 +1,20 @@ +[gd_scene load_steps=3 format=3 uid="uid://b5rkwb64wgdwf"] + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_wf2yo"] +emission_shape_scale = Vector3(0.1, 0.1, 0.1) +emission_shape = 1 +emission_sphere_radius = 1.0 +gravity = Vector3(0, -20, 0) +turbulence_enabled = true +turbulence_noise_strength = 0.1 +turbulence_noise_scale = 0.1 + +[sub_resource type="SphereMesh" id="SphereMesh_gj8tf"] +radius = 0.05 +height = 0.1 + +[node name="GPUParticles3D" type="GPUParticles3D"] +amount = 50 +fixed_fps = 60 +process_material = SubResource("ParticleProcessMaterial_wf2yo") +draw_pass_1 = SubResource("SphereMesh_gj8tf") diff --git a/scene/menu.tscn b/scene/menu.tscn new file mode 100644 index 0000000..6e1358f --- /dev/null +++ b/scene/menu.tscn @@ -0,0 +1,172 @@ +[gd_scene load_steps=12 format=3 uid="uid://c2gu8o8o51vg5"] + +[ext_resource type="Script" path="res://script/menu.gd" id="1_1kybs"] +[ext_resource type="Theme" uid="uid://dwtios6w33wxq" path="res://theme/label_theme.tres" id="1_2ombm"] +[ext_resource type="PackedScene" uid="uid://dkclufjwe5k81" path="res://scene/fire.tscn" id="1_6aad5"] +[ext_resource type="PackedScene" uid="uid://brc445tt624lb" path="res://scene/walk_zone.tscn" id="2_eebxe"] + +[sub_resource type="Animation" id="Animation_8wtfs"] +resource_name = "alpha" +length = 2.0 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Label2:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 1, 1.96667), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0.588235), Color(1, 1, 1, 1)] +} + +[sub_resource type="Animation" id="Animation_v5m7m"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Label2:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_wg61s"] +_data = { +"RESET": SubResource("Animation_v5m7m"), +"alpha": SubResource("Animation_8wtfs") +} + +[sub_resource type="Environment" id="Environment_htum7"] +background_mode = 1 + +[sub_resource type="Animation" id="Animation_hybxa"] +resource_name = "cam" +length = 10.0 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Camera3D:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 5, 10), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [Vector3(0, 0, 0), Vector3(0, 3.14159, 0), Vector3(0, 6.28319, 0)] +} + +[sub_resource type="Animation" id="Animation_skmei"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Camera3D:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, 0)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_4f4ub"] +_data = { +"RESET": SubResource("Animation_skmei"), +"cam": SubResource("Animation_hybxa") +} + +[node name="menu" type="Node3D"] +script = ExtResource("1_1kybs") +next_scene = ExtResource("2_eebxe") + +[node name="CanvasLayer" type="CanvasLayer" parent="."] + +[node name="Control" type="Control" parent="CanvasLayer"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Label" type="Label" parent="CanvasLayer/Control"] +texture_filter = 1 +layout_mode = 1 +anchors_preset = 5 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -960.0 +offset_right = 960.0 +offset_bottom = 106.0 +grow_horizontal = 2 +size_flags_vertical = 0 +theme = ExtResource("1_2ombm") +text = "Idiot du Village" +horizontal_alignment = 1 +language = "fr" + +[node name="Label2" type="Label" parent="CanvasLayer/Control"] +texture_filter = 1 +layout_mode = 1 +anchors_preset = 3 +anchor_left = 1.0 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -40.0 +offset_top = -123.0 +grow_horizontal = 0 +grow_vertical = 0 +theme = ExtResource("1_2ombm") +theme_override_font_sizes/font_size = 60 +text = "Enter to play" + +[node name="AnimationPlayer" type="AnimationPlayer" parent="CanvasLayer/Control"] +libraries = { +"": SubResource("AnimationLibrary_wg61s") +} +autoplay = "alpha" + +[node name="Camera3D" type="Camera3D" parent="."] + +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource("Environment_htum7") + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="WorldEnvironment"] +transform = Transform3D(1, 0, 0, 0, -0.986592, 0.163205, 0, -0.163205, -0.986592, 0, 2.40267, 0) + +[node name="particules" type="Node3D" parent="."] + +[node name="GPUParticles3D" parent="particules" instance=ExtResource("1_6aad5")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.44599, 0, -5.21693) + +[node name="GPUParticles3D2" parent="particules" instance=ExtResource("1_6aad5")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.47625, 0, -3.69451) + +[node name="GPUParticles3D3" parent="particules" instance=ExtResource("1_6aad5")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.81808, 0, 3.34902) + +[node name="GPUParticles3D4" parent="particules" instance=ExtResource("1_6aad5")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.80073, 0, 3.16702) + +[node name="GPUParticles3D5" parent="particules" instance=ExtResource("1_6aad5")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.81678, 0, -2.43886) + +[node name="GPUParticles3D6" parent="particules" instance=ExtResource("1_6aad5")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.08262, 0, 5.66669) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_4f4ub") +} +autoplay = "cam" +speed_scale = 0.1 diff --git a/scene/player.tscn b/scene/player.tscn index 640f54f..f7d0fd3 100644 --- a/scene/player.tscn +++ b/scene/player.tscn @@ -1,13 +1,60 @@ -[gd_scene load_steps=3 format=3 uid="uid://c74354tlmcg6h"] +[gd_scene load_steps=9 format=3 uid="uid://c74354tlmcg6h"] [ext_resource type="Script" path="res://script/player.gd" id="1_kjuyr"] +[ext_resource type="PackedScene" uid="uid://b5rkwb64wgdwf" path="res://scene/gpu_particles_3d.tscn" id="2_ctykj"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_d8bnp"] -[node name="CharacterBody3D" type="CharacterBody3D" node_paths=PackedStringArray("head")] +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ohrfw"] +albedo_color = Color(1, 0, 1, 1) + +[sub_resource type="CapsuleMesh" id="CapsuleMesh_ha068"] +radius = 0.1 + +[sub_resource type="Animation" id="Animation_njhrs"] +resource_name = "finger" +length = 3.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("GPUParticles3D:visible") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 2.96667), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} + +[sub_resource type="Animation" id="Animation_1p8b7"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("GPUParticles3D:visible") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_jrykd"] +_data = { +"RESET": SubResource("Animation_1p8b7"), +"finger": SubResource("Animation_njhrs") +} + +[node name="CharacterBody3D" type="CharacterBody3D" node_paths=PackedStringArray("head", "anim", "particules")] script = ExtResource("1_kjuyr") SENSI = 0.002 +SPEED_PARTICULES = 50.0 head = NodePath("head") +anim = NodePath("AnimationPlayer") +particules = NodePath("GPUParticles3D") [node name="CollisionShape3D" type="CollisionShape3D" parent="."] shape = SubResource("CapsuleShape3D_d8bnp") @@ -19,3 +66,16 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.65, 0) transform = Transform3D(1, 7.81702e-05, -0.000170007, -7.81212e-05, 1, 0.000294683, 0.000170029, -0.00029467, 1, 0, 0, -1) [node name="Camera3D" type="Camera3D" parent="head"] + +[node name="MeshInstance3D" type="MeshInstance3D" parent="."] +material_override = SubResource("StandardMaterial3D_ohrfw") +mesh = SubResource("CapsuleMesh_ha068") + +[node name="GPUParticles3D" parent="." instance=ExtResource("2_ctykj")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.424, 0) +visible = false + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_jrykd") +} diff --git a/scene/scene_manager/scene_manager.tscn b/scene/scene_manager/scene_manager.tscn index f6b3ed1..2b6866c 100644 --- a/scene/scene_manager/scene_manager.tscn +++ b/scene/scene_manager/scene_manager.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=3 format=3 uid="uid://uo5bppg214ci"] [ext_resource type="Script" path="res://scene/scene_manager/scene_manager.gd" id="1_qulgr"] -[ext_resource type="PackedScene" uid="uid://brc445tt624lb" path="res://scene/walk_zone.tscn" id="2_elo70"] +[ext_resource type="PackedScene" uid="uid://c2gu8o8o51vg5" path="res://scene/menu.tscn" id="2_ls0hp"] [node name="scene_manager" type="Node"] script = ExtResource("1_qulgr") -first_scene = ExtResource("2_elo70") +first_scene = ExtResource("2_ls0hp") diff --git a/scene/walk_zone.tscn b/scene/walk_zone.tscn index b796dd9..e391501 100644 --- a/scene/walk_zone.tscn +++ b/scene/walk_zone.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=6 format=3 uid="uid://brc445tt624lb"] +[gd_scene load_steps=10 format=3 uid="uid://brc445tt624lb"] -[ext_resource type="Texture2D" uid="uid://pr42rnokdw6w" path="res://icon.svg" id="1_hg70h"] +[ext_resource type="Texture2D" uid="uid://pr42rnokdw6w" path="res://model/icon.svg" id="1_hg70h"] [ext_resource type="PackedScene" uid="uid://c74354tlmcg6h" path="res://scene/player.tscn" id="1_ka8xa"] +[ext_resource type="PackedScene" uid="uid://du08nv2jrl6vr" path="res://scene/check_point.tscn" id="4_yoxfn"] -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_2quhp"] +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_5mtg0"] albedo_texture = ExtResource("1_hg70h") [sub_resource type="PlaneMesh" id="PlaneMesh_2hvdi"] @@ -12,10 +13,24 @@ size = Vector2(500, 500) [sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_0l50f"] points = PackedVector3Array(-250, 0, -250, -250, 0, 250, 250, 0, -250, 250, 0, 250) +[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_kjfb3"] +sky_top_color = Color(0.35532, 0.438306, 0.667525, 1) +sky_horizon_color = Color(0.545166, 0.602338, 0.721653, 1) + +[sub_resource type="Sky" id="Sky_hj0r3"] +sky_material = SubResource("ProceduralSkyMaterial_kjfb3") + +[sub_resource type="Environment" id="Environment_6suym"] +background_mode = 2 +sky = SubResource("Sky_hj0r3") +ambient_light_source = 3 +ambient_light_color = Color(0.371645, 0.450792, 0.92621, 1) +volumetric_fog_density = 0.1 + [node name="walk_zone" type="Node3D"] [node name="MeshInstance3D" type="MeshInstance3D" parent="."] -material_override = SubResource("StandardMaterial3D_2quhp") +material_override = SubResource("StandardMaterial3D_5mtg0") mesh = SubResource("PlaneMesh_2hvdi") [node name="StaticBody3D" type="StaticBody3D" parent="MeshInstance3D"] @@ -23,5 +38,20 @@ mesh = SubResource("PlaneMesh_2hvdi") [node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D/StaticBody3D"] shape = SubResource("ConvexPolygonShape3D_0l50f") -[node name="CharacterBody3D" parent="." instance=ExtResource("1_ka8xa")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.37761, 10.7052, 2.9378) +[node name="CharacterBody3D" parent="." node_paths=PackedStringArray("checkpoint") instance=ExtResource("1_ka8xa")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.37761, 2.14163, 2.9378) +checkpoint = NodePath("../check_point") + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] +transform = Transform3D(0.940205, -0.340609, 0, 0.306962, 0.847325, 0.433376, -0.147612, -0.407462, 0.901213, -0.082201, 19.8035, 0) +light_energy = 0.5 + +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource("Environment_6suym") + +[node name="check_point" parent="." node_paths=PackedStringArray("next_check") instance=ExtResource("4_yoxfn")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18.1701, 0.919088, 15.1429) +next_check = NodePath("../check_point2") + +[node name="check_point2" parent="." instance=ExtResource("4_yoxfn")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42.8789, 0.91909, 12.6078) diff --git a/script/check_point.gd b/script/check_point.gd new file mode 100644 index 0000000..3127b11 --- /dev/null +++ b/script/check_point.gd @@ -0,0 +1,11 @@ +extends Node3D + +@export var next_check : Node3D = null +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + + +func _on_area_3d_body_entered(body: Node3D) -> void: + if (body is CharacterBody3D): + body.set("checkpoint", next_check) diff --git a/script/menu.gd b/script/menu.gd new file mode 100644 index 0000000..db985db --- /dev/null +++ b/script/menu.gd @@ -0,0 +1,12 @@ +extends Node3D + +@export var next_scene: PackedScene = null +var scene_manager: Node = null + +func _ready() -> void: + scene_manager = get_tree().root.get_node("scene_manager") + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(_delta: float) -> void: + if(Input.is_action_just_pressed("enter")): + scene_manager.emit_signal("change_scene_signal", next_scene) diff --git a/script/player.gd b/script/player.gd index 2837d28..dadf5fb 100644 --- a/script/player.gd +++ b/script/player.gd @@ -3,19 +3,15 @@ extends CharacterBody3D @export var SPEED: float = 10.0 @export var SENSI : float = 0.005 +@export var SPEED_PARTICULES: float = 1; +@export var checkpoint:Node3D = null @export_group("Children") @export var head: Node3D +@export var anim: AnimationPlayer +@export var particules: GPUParticles3D -var life: float = 100 -var delay_shot:float = 0 -var bullets:int = 11 -var reloading:bool = false -var current_time_reloading: float = 0 -var bump: Vector3 = Vector3.ZERO -var current_song = 0 - func _ready() -> void: Input.mouse_mode = Input.MOUSE_MODE_CAPTURED @@ -35,6 +31,15 @@ func _physics_process(delta: float) -> void: velocity += get_gravity() * delta * 2 else: velocity += get_gravity() * delta * 3 + + if (Input.is_action_just_pressed("interact")): + var vect + if(checkpoint == null): + vect = Vector3.DOWN * SPEED_PARTICULES + else: + vect = (checkpoint.position - position).normalized() * SPEED_PARTICULES + particules.process_material.set("gravity", vect) + anim.play("finger") var input_dir := Input.get_vector("left", "right", "up", "down") var direction := (transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized() diff --git a/theme/label_theme.tres b/theme/label_theme.tres new file mode 100644 index 0000000..2bffeab --- /dev/null +++ b/theme/label_theme.tres @@ -0,0 +1,22 @@ +[gd_resource type="Theme" load_steps=3 format=3 uid="uid://dwtios6w33wxq"] + +[ext_resource type="FontFile" uid="uid://4wtgmfk7f8ft" path="res://font/Olondon_.otf" id="1_1xv54"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_gkci6"] +content_margin_left = 25.0 +content_margin_top = 100.0 +content_margin_right = 25.0 +content_margin_bottom = 50.0 + +[resource] +Label/colors/font_color = Color(1, 1, 1, 1) +Label/colors/font_outline_color = Color(0, 0, 0, 1) +Label/colors/font_shadow_color = Color(0.306923, 0.306923, 0.306923, 0.729412) +Label/constants/line_spacing = 3 +Label/constants/outline_size = 9 +Label/constants/shadow_offset_x = 6 +Label/constants/shadow_offset_y = 0 +Label/constants/shadow_outline_size = 0 +Label/font_sizes/font_size = 132 +Label/fonts/font = ExtResource("1_1xv54") +Label/styles/normal = SubResource("StyleBoxEmpty_gkci6")