From 95cef683353d82bfc8ec7cda4490c8fb1a6f0f67 Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 24 Jan 2026 23:21:57 -0500 Subject: [PATCH] played with shaders, grass height, sky effects --- ..._and_Fences_16x16_Props_Grass_5.png.import | 13 +- ..._and_Fences_16x16_Props_Grass_6.png.import | 13 +- project.godot | 5 + resources/camera_attributes_practical_1.tres | 8 ++ resources/mesh_library_exteriors.tres | 38 +++++- resources/mesh_library_grass.tres | 76 +++++++++++ scenes/cartoon_sky.gd | 9 ++ scenes/cartoon_sky.gd.uid | 1 + scenes/main_3d.tscn | 128 +++++------------- scenes/player_3d.tscn | 17 +-- test_shader.gdshader | 30 ++++ test_shader.gdshader.uid | 1 + 12 files changed, 223 insertions(+), 116 deletions(-) create mode 100644 resources/camera_attributes_practical_1.tres create mode 100644 resources/mesh_library_grass.tres create mode 100644 scenes/cartoon_sky.gd create mode 100644 scenes/cartoon_sky.gd.uid create mode 100644 test_shader.gdshader create mode 100644 test_shader.gdshader.uid diff --git a/assets/singles/terrains_and_fences/ME_Singles_Terrains_and_Fences_16x16_Props_Grass_5.png.import b/assets/singles/terrains_and_fences/ME_Singles_Terrains_and_Fences_16x16_Props_Grass_5.png.import index b7c1954..8455b8f 100644 --- a/assets/singles/terrains_and_fences/ME_Singles_Terrains_and_Fences_16x16_Props_Grass_5.png.import +++ b/assets/singles/terrains_and_fences/ME_Singles_Terrains_and_Fences_16x16_Props_Grass_5.png.import @@ -3,19 +3,20 @@ importer="texture" type="CompressedTexture2D" uid="uid://cty2yw378tjf3" -path="res://.godot/imported/ME_Singles_Terrains_and_Fences_16x16_Props_Grass_5.png-64d1364f8c011321c754660640232a69.ctex" +path.s3tc="res://.godot/imported/ME_Singles_Terrains_and_Fences_16x16_Props_Grass_5.png-64d1364f8c011321c754660640232a69.s3tc.ctex" metadata={ -"vram_texture": false +"imported_formats": ["s3tc_bptc"], +"vram_texture": true } [deps] source_file="res://assets/singles/terrains_and_fences/ME_Singles_Terrains_and_Fences_16x16_Props_Grass_5.png" -dest_files=["res://.godot/imported/ME_Singles_Terrains_and_Fences_16x16_Props_Grass_5.png-64d1364f8c011321c754660640232a69.ctex"] +dest_files=["res://.godot/imported/ME_Singles_Terrains_and_Fences_16x16_Props_Grass_5.png-64d1364f8c011321c754660640232a69.s3tc.ctex"] [params] -compress/mode=0 +compress/mode=2 compress/high_quality=false compress/lossy_quality=0.7 compress/uastc_level=0 @@ -23,7 +24,7 @@ compress/rdo_quality_loss=0.0 compress/hdr_compression=1 compress/normal_map=0 compress/channel_pack=0 -mipmaps/generate=false +mipmaps/generate=true mipmaps/limit=-1 roughness/mode=0 roughness/src_normal="" @@ -37,4 +38,4 @@ 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 +detect_3d/compress_to=0 diff --git a/assets/singles/terrains_and_fences/ME_Singles_Terrains_and_Fences_16x16_Props_Grass_6.png.import b/assets/singles/terrains_and_fences/ME_Singles_Terrains_and_Fences_16x16_Props_Grass_6.png.import index 345fadd..248107e 100644 --- a/assets/singles/terrains_and_fences/ME_Singles_Terrains_and_Fences_16x16_Props_Grass_6.png.import +++ b/assets/singles/terrains_and_fences/ME_Singles_Terrains_and_Fences_16x16_Props_Grass_6.png.import @@ -3,19 +3,20 @@ importer="texture" type="CompressedTexture2D" uid="uid://dbi81hqewccse" -path="res://.godot/imported/ME_Singles_Terrains_and_Fences_16x16_Props_Grass_6.png-77f073f0075cdf0df229e3132f267d1e.ctex" +path.s3tc="res://.godot/imported/ME_Singles_Terrains_and_Fences_16x16_Props_Grass_6.png-77f073f0075cdf0df229e3132f267d1e.s3tc.ctex" metadata={ -"vram_texture": false +"imported_formats": ["s3tc_bptc"], +"vram_texture": true } [deps] source_file="res://assets/singles/terrains_and_fences/ME_Singles_Terrains_and_Fences_16x16_Props_Grass_6.png" -dest_files=["res://.godot/imported/ME_Singles_Terrains_and_Fences_16x16_Props_Grass_6.png-77f073f0075cdf0df229e3132f267d1e.ctex"] +dest_files=["res://.godot/imported/ME_Singles_Terrains_and_Fences_16x16_Props_Grass_6.png-77f073f0075cdf0df229e3132f267d1e.s3tc.ctex"] [params] -compress/mode=0 +compress/mode=2 compress/high_quality=false compress/lossy_quality=0.7 compress/uastc_level=0 @@ -23,7 +24,7 @@ compress/rdo_quality_loss=0.0 compress/hdr_compression=1 compress/normal_map=0 compress/channel_pack=0 -mipmaps/generate=false +mipmaps/generate=true mipmaps/limit=-1 roughness/mode=0 roughness/src_normal="" @@ -37,4 +38,4 @@ 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 +detect_3d/compress_to=0 diff --git a/project.godot b/project.godot index d1d42b8..b91555c 100644 --- a/project.godot +++ b/project.godot @@ -19,6 +19,11 @@ config/icon="res://assets/icon.svg" BetterTerrain="*res://addons/better-terrain/BetterTerrain.gd" +[display] + +window/size/viewport_width=1920 +window/size/viewport_height=1080 + [input] forward={ diff --git a/resources/camera_attributes_practical_1.tres b/resources/camera_attributes_practical_1.tres new file mode 100644 index 0000000..f4c6b14 --- /dev/null +++ b/resources/camera_attributes_practical_1.tres @@ -0,0 +1,8 @@ +[gd_resource type="CameraAttributesPractical" format=3 uid="uid://bjsnxgqx5je00"] + +[resource] +dof_blur_far_enabled = true +dof_blur_far_distance = 3.0 +dof_blur_far_transition = 1.0 +dof_blur_near_enabled = true +dof_blur_near_distance = 2.7 diff --git a/resources/mesh_library_exteriors.tres b/resources/mesh_library_exteriors.tres index b8caccb..a1d0173 100644 --- a/resources/mesh_library_exteriors.tres +++ b/resources/mesh_library_exteriors.tres @@ -1,7 +1,9 @@ -[gd_resource type="MeshLibrary" load_steps=5 format=3 uid="uid://lrqih4x4lu5e"] +[gd_resource type="MeshLibrary" load_steps=11 format=3 uid="uid://lrqih4x4lu5e"] [ext_resource type="QuadMesh" uid="uid://c07onmcuj0iv4" path="res://resources/meshes/props_grass_7.tres" id="1_kyhbi"] [ext_resource type="Texture2D" uid="uid://dqeinw0mr6b51" path="res://assets/singles/terrains_and_fences/ME_Singles_Terrains_and_Fences_16x16_Grass_1_21.png" id="2_nq4dm"] +[ext_resource type="Texture2D" uid="uid://cty2yw378tjf3" path="res://assets/singles/terrains_and_fences/ME_Singles_Terrains_and_Fences_16x16_Props_Grass_5.png" id="3_43mkk"] +[ext_resource type="Texture2D" uid="uid://dbi81hqewccse" path="res://assets/singles/terrains_and_fences/ME_Singles_Terrains_and_Fences_16x16_Props_Grass_6.png" id="4_gq5k2"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_43mkk"] shading_mode = 0 @@ -12,6 +14,26 @@ material = SubResource("StandardMaterial3D_43mkk") size = Vector2(0.1, 0.1) orientation = 1 +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gq5k2"] +shading_mode = 0 +albedo_texture = ExtResource("3_43mkk") +texture_filter = 0 + +[sub_resource type="QuadMesh" id="QuadMesh_q5ywq"] +material = SubResource("StandardMaterial3D_gq5k2") +size = Vector2(0.1, 0.1) +orientation = 1 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_q5ywq"] +shading_mode = 0 +albedo_texture = ExtResource("4_gq5k2") +texture_filter = 0 + +[sub_resource type="QuadMesh" id="QuadMesh_yjyt2"] +material = SubResource("StandardMaterial3D_q5ywq") +size = Vector2(0.1, 0.1) +orientation = 1 + [resource] item/0/name = "props_grass_7" item/0/mesh = ExtResource("1_kyhbi") @@ -27,3 +49,17 @@ item/1/mesh_cast_shadow = 1 item/1/shapes = [] item/1/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) item/1/navigation_layers = 1 +item/2/name = "props_grass_5" +item/2/mesh = SubResource("QuadMesh_q5ywq") +item/2/mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +item/2/mesh_cast_shadow = 1 +item/2/shapes = [] +item/2/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +item/2/navigation_layers = 1 +item/3/name = "props_grass_6" +item/3/mesh = SubResource("QuadMesh_yjyt2") +item/3/mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +item/3/mesh_cast_shadow = 1 +item/3/shapes = [] +item/3/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +item/3/navigation_layers = 1 diff --git a/resources/mesh_library_grass.tres b/resources/mesh_library_grass.tres new file mode 100644 index 0000000..87f146a --- /dev/null +++ b/resources/mesh_library_grass.tres @@ -0,0 +1,76 @@ +[gd_resource type="MeshLibrary" load_steps=14 format=3 uid="uid://t45ph5cwvbr4"] + +[ext_resource type="Texture2D" uid="uid://oj44wj30tk0v" path="res://assets/singles/terrains_and_fences/ME_Singles_Terrains_and_Fences_16x16_Props_Dirt_11.png" id="1_ywgba"] +[ext_resource type="Texture2D" uid="uid://dallhpwd4b7xq" path="res://assets/singles/terrains_and_fences/ME_Singles_Terrains_and_Fences_16x16_Grass_2_2.png" id="2_7x8un"] +[ext_resource type="Shader" uid="uid://bus7pq4drisd1" path="res://test_shader.gdshader" id="3_7x8un"] +[ext_resource type="Texture2D" uid="uid://dvyu8hutjntvk" path="res://assets/singles/terrains_and_fences/ME_Singles_Terrains_and_Fences_16x16_Grass_2_1.png" id="3_w73ao"] +[ext_resource type="Texture2D" uid="uid://d4c35fmdiyv7m" path="res://assets/singles/terrains_and_fences/ME_Singles_Terrains_and_Fences_16x16_Grass_2_3.png" id="4_bng6h"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mt54i"] +transparency = 1 +shading_mode = 0 +albedo_texture = ExtResource("1_ywgba") +texture_filter = 0 + +[sub_resource type="QuadMesh" id="QuadMesh_le0cj"] +material = SubResource("StandardMaterial3D_mt54i") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_ywgba"] +render_priority = 0 +shader = ExtResource("3_7x8un") +shader_parameter/input_texture = ExtResource("2_7x8un") + +[sub_resource type="PlaneMesh" id="PlaneMesh_mt54i"] +material = SubResource("ShaderMaterial_ywgba") +size = Vector2(0.1, 0.1) +orientation = 2 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_7x8un"] +render_priority = 0 +shader = ExtResource("3_7x8un") +shader_parameter/input_texture = ExtResource("3_w73ao") + +[sub_resource type="PlaneMesh" id="PlaneMesh_le0cj"] +material = SubResource("ShaderMaterial_7x8un") +size = Vector2(0.1, 0.1) +orientation = 2 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_w73ao"] +render_priority = 0 +shader = ExtResource("3_7x8un") +shader_parameter/input_texture = ExtResource("4_bng6h") + +[sub_resource type="PlaneMesh" id="PlaneMesh_1gkdw"] +material = SubResource("ShaderMaterial_w73ao") +size = Vector2(0.1, 0.1) +orientation = 2 + +[resource] +item/0/name = "props_dirt_11" +item/0/mesh = SubResource("QuadMesh_le0cj") +item/0/mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +item/0/mesh_cast_shadow = 1 +item/0/shapes = [] +item/0/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +item/0/navigation_layers = 1 +item/1/name = "grass_2_2" +item/1/mesh = SubResource("PlaneMesh_mt54i") +item/1/mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +item/1/mesh_cast_shadow = 1 +item/1/shapes = [] +item/1/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +item/1/navigation_layers = 1 +item/2/name = "grass_2_1_left" +item/2/mesh = SubResource("PlaneMesh_le0cj") +item/2/mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +item/2/mesh_cast_shadow = 1 +item/2/shapes = [] +item/2/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +item/2/navigation_layers = 1 +item/3/name = "grass_2_3_right" +item/3/mesh = SubResource("PlaneMesh_1gkdw") +item/3/mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +item/3/mesh_cast_shadow = 1 +item/3/shapes = [] +item/3/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +item/3/navigation_layers = 1 diff --git a/scenes/cartoon_sky.gd b/scenes/cartoon_sky.gd new file mode 100644 index 0000000..4e209ca --- /dev/null +++ b/scenes/cartoon_sky.gd @@ -0,0 +1,9 @@ +extends WorldEnvironment + +var cover_noise: FastNoiseLite + +func _ready() -> void: + print_debug(environment.sky.sky_material.sky_cover.noise) + +func _process(delta: float) -> void: + environment.sky.sky_material.sky_cover.noise.offset.z += delta diff --git a/scenes/cartoon_sky.gd.uid b/scenes/cartoon_sky.gd.uid new file mode 100644 index 0000000..17080cd --- /dev/null +++ b/scenes/cartoon_sky.gd.uid @@ -0,0 +1 @@ +uid://cbek6xgea3mdt diff --git a/scenes/main_3d.tscn b/scenes/main_3d.tscn index e5c93dc..6914b48 100644 --- a/scenes/main_3d.tscn +++ b/scenes/main_3d.tscn @@ -1,113 +1,54 @@ -[gd_scene load_steps=19 format=3 uid="uid://3uc588mdcp6p"] +[gd_scene load_steps=11 format=3 uid="uid://3uc588mdcp6p"] [ext_resource type="PackedScene" uid="uid://dcspnwq0858er" path="res://scenes/player_3d.tscn" id="1_m7dbh"] -[ext_resource type="Texture2D" uid="uid://oj44wj30tk0v" path="res://assets/singles/terrains_and_fences/ME_Singles_Terrains_and_Fences_16x16_Props_Dirt_11.png" id="3_kefov"] -[ext_resource type="Texture2D" uid="uid://dallhpwd4b7xq" path="res://assets/singles/terrains_and_fences/ME_Singles_Terrains_and_Fences_16x16_Grass_2_2.png" id="4_le0cj"] +[ext_resource type="Script" uid="uid://cbek6xgea3mdt" path="res://scenes/cartoon_sky.gd" id="1_mt54i"] +[ext_resource type="MeshLibrary" uid="uid://t45ph5cwvbr4" path="res://resources/mesh_library_grass.tres" id="3_kefov"] [ext_resource type="MeshLibrary" uid="uid://lrqih4x4lu5e" path="res://resources/mesh_library_exteriors.tres" id="4_mt54i"] -[ext_resource type="Texture2D" uid="uid://dvyu8hutjntvk" path="res://assets/singles/terrains_and_fences/ME_Singles_Terrains_and_Fences_16x16_Grass_2_1.png" id="5_le0cj"] -[ext_resource type="Texture2D" uid="uid://d4c35fmdiyv7m" path="res://assets/singles/terrains_and_fences/ME_Singles_Terrains_and_Fences_16x16_Grass_2_3.png" id="6_78blk"] + +[sub_resource type="Gradient" id="Gradient_kefov"] +offsets = PackedFloat32Array(0, 0.77922076) +colors = PackedColorArray(0, 0, 0, 0, 0.59313357, 0.5931336, 0.5931334, 0.8392157) + +[sub_resource type="FastNoiseLite" id="FastNoiseLite_mt54i"] +frequency = 0.0259 +metadata/_preview_in_3d_space_ = true + +[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_le0cj"] +noise = SubResource("FastNoiseLite_mt54i") +color_ramp = SubResource("Gradient_kefov") +seamless = true +in_3d_space = true [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_le0cj"] -sky_horizon_color = Color(0.66224277, 0.6717428, 0.6867428, 1) -ground_horizon_color = Color(0.66224277, 0.6717428, 0.6867428, 1) +sky_top_color = Color(0, 0, 1, 1) +sky_horizon_color = Color(0.17254902, 0.7647059, 0.74509805, 1) +sky_curve = 0.020095844 +sky_cover = SubResource("NoiseTexture2D_le0cj") +ground_bottom_color = Color(0.8862745, 0.6862745, 0.4392157, 1) +ground_horizon_color = Color(0.8862745, 0.6862745, 0.4392157, 1) +ground_curve = 0.042870868 [sub_resource type="Sky" id="Sky_78blk"] sky_material = SubResource("ProceduralSkyMaterial_le0cj") +radiance_size = 0 [sub_resource type="Environment" id="Environment_a6i3j"] background_mode = 2 +background_color = Color(0, 0.89411765, 1, 1) sky = SubResource("Sky_78blk") tonemap_mode = 2 glow_enabled = true -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mt54i"] -transparency = 1 -shading_mode = 0 -albedo_texture = ExtResource("3_kefov") -texture_filter = 0 - -[sub_resource type="QuadMesh" id="QuadMesh_le0cj"] -material = SubResource("StandardMaterial3D_mt54i") - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_kefov"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -depth_draw_mode = 1 -shading_mode = 0 -albedo_texture = ExtResource("4_le0cj") -texture_filter = 0 - -[sub_resource type="PlaneMesh" id="PlaneMesh_mt54i"] -material = SubResource("StandardMaterial3D_kefov") -size = Vector2(0.1, 0.1) -orientation = 2 - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_le0cj"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -depth_draw_mode = 1 -shading_mode = 0 -albedo_texture = ExtResource("5_le0cj") -texture_filter = 0 - -[sub_resource type="PlaneMesh" id="PlaneMesh_le0cj"] -material = SubResource("StandardMaterial3D_le0cj") -size = Vector2(0.1, 0.1) -orientation = 2 - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_a6i3j"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -depth_draw_mode = 1 -shading_mode = 0 -albedo_texture = ExtResource("6_78blk") -texture_filter = 0 - -[sub_resource type="PlaneMesh" id="PlaneMesh_1gkdw"] -material = SubResource("StandardMaterial3D_a6i3j") -size = Vector2(0.1, 0.1) -orientation = 2 - -[sub_resource type="MeshLibrary" id="MeshLibrary_78blk"] -item/0/name = "props_dirt_11" -item/0/mesh = SubResource("QuadMesh_le0cj") -item/0/mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) -item/0/mesh_cast_shadow = 1 -item/0/shapes = [] -item/0/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) -item/0/navigation_layers = 1 -item/1/name = "grass_2_2" -item/1/mesh = SubResource("PlaneMesh_mt54i") -item/1/mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) -item/1/mesh_cast_shadow = 1 -item/1/shapes = [] -item/1/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) -item/1/navigation_layers = 1 -item/2/name = "grass_2_1_left" -item/2/mesh = SubResource("PlaneMesh_le0cj") -item/2/mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) -item/2/mesh_cast_shadow = 1 -item/2/shapes = [] -item/2/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) -item/2/navigation_layers = 1 -item/3/name = "grass_2_3_right" -item/3/mesh = SubResource("PlaneMesh_1gkdw") -item/3/mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) -item/3/mesh_cast_shadow = 1 -item/3/shapes = [] -item/3/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) -item/3/navigation_layers = 1 - [node name="Main3D" type="Node3D"] -[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +[node name="CartoonSky" type="WorldEnvironment" parent="."] environment = SubResource("Environment_a6i3j") +script = ExtResource("1_mt54i") [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] -transform = Transform3D(0.7071067, 0.6123725, -0.35355344, 2.7805946e-08, 0.49999994, 0.86602545, 0.7071069, -0.6123724, 0.35355327, 0, 0, 0) +transform = Transform3D(-0.9362849, -0.33053112, 0.11882812, -0.31689426, 0.940828, 0.12008666, -0.15148911, 0.074779406, -0.98562634, 0, 0, 0) +light_color = Color(1, 1, 0, 1) +light_angular_distance = 4.5 shadow_enabled = true [node name="Player3D" parent="." instance=ExtResource("1_m7dbh")] @@ -117,14 +58,15 @@ mesh_library = ExtResource("4_mt54i") cell_size = Vector3(0.1, 0.1, 0.1) cell_center_y = false data = { -"cells": PackedInt32Array(65535, 0, 1, 0, 0, 1, 0, 65535, 0, 65535, 65535, 1, 65534, 65535, 1, 65534, 0, 1, 1, 0, 1, 1, 65535, 1, 65535, 1, 1, 65534, 1, 1, 0, 1, 1, 1, 1, 1, 1, 65534, 1, 0, 65534, 1, 65535, 65534, 1, 65534, 65534, 1, 65533, 65534, 0, 65533, 65535, 1, 65533, 0, 1, 65533, 1, 0, 65534, 2, 1, 65535, 2, 1, 0, 2, 1, 1, 2, 0, 2, 2, 0, 2, 1, 0, 2, 0, 1, 3, 0, 0, 3, 65535, 1, 3, 65534, 1, 3, 65533, 1, 2, 65533, 1, 2, 65534, 1, 2, 65535, 1, 1, 65533, 1, 0, 65533, 1, 65535, 65533, 1, 65534, 65533, 1, 65533, 65533, 0, 65532, 65534, 0, 65532, 65535, 1, 65532, 0, 1, 65533, 2, 1, 65532, 2, 1, 65532, 1, 0, 3, 1, 0, 3, 2, 1, 65535, 65532, 0, 65535, 65531, 1, 65534, 65531, 1, 65534, 65532, 0, 65532, 65533, 1, 0, 65532, 1, 1, 65532, 1, 1, 65531, 1, 2, 65532, 1, 3, 65532, 1, 3, 65531, 1, 2, 65531, 1, 0, 65531, 1, 65533, 65531, 1, 65532, 65531, 1, 65532, 65532, 1, 65533, 65532, 1, 65531, 65532, 1, 65533, 65530, 1, 65534, 65530, 1, 65535, 65530, 1, 65535, 65529, 1, 65535, 65528, 1, 65534, 65528, 1, 65534, 65529, 1, 65533, 65529, 1, 65532, 65529, 1, 65532, 65530, 1, 65531, 65529, 1, 65530, 65529, 1, 65530, 65530, 1, 65530, 65531, 1, 65531, 65531, 1, 65531, 65533, 1, 65531, 65534, 1, 65531, 65530, 1, 65531, 65535, 1, 65531, 0, 1, 65531, 1, 1, 65531, 2, 1, 65534, 3, 1, 0, 3, 1, 1, 3, 1, 2, 3, 1, 3, 3, 1, 4, 2, 1, 4, 1, 1, 4, 0, 0, 5, 0, 0, 5, 65535, 0, 5, 65534, 1, 5, 65533, 1, 5, 65532, 1, 5, 65531, 1, 4, 65531, 1, 4, 65533, 0, 4, 65532, 1, 4, 65534, 1, 1, 65530, 1, 0, 65530, 1, 0, 65529, 1, 1, 65528, 1, 2, 65529, 1, 3, 65530, 1, 5, 1, 1, 6, 0, 1, 6, 65535, 0, 4, 65535, 1, 65530, 65535, 1, 65530, 65534, 1, 65530, 65533, 1, 65530, 65532, 1, 65530, 0, 1, 65530, 1, 1, 4, 3, 1, 5, 3, 1, 5, 2, 1, 6, 1, 1, 7, 0, 1, 7, 65535, 1, 7, 65534, 1, 6, 65533, 1, 1, 65529, 1, 2, 65530, 1, 6, 65534, 1, 7, 65533, 1, 7, 65532, 1, 6, 65532, 1, 6, 65531, 1, 5, 65530, 1, 4, 65530, 1, 3, 65529, 1, 2, 65528, 1, 0, 65528, 1, 65535, 3, 1) +"cells": PackedInt32Array(65535, 0, 1, 0, 0, 1, 0, 65535, 0, 65535, 65535, 1, 65534, 65535, 1, 65534, 0, 1, 1, 0, 1, 1, 65535, 1, 65535, 1, 1, 65534, 1, 1, 0, 1, 2, 1, 1, 1, 1, 65534, 1, 0, 65534, 1, 65535, 65534, 1, 65534, 65534, 1, 65533, 65534, 1, 65533, 65535, 1, 65533, 0, 1, 65533, 1, 1, 65534, 2, 1, 65535, 2, 1, 0, 2, 1, 1, 2, 1, 2, 2, 1, 2, 1, 1, 2, 0, 1, 3, 0, 1, 3, 65535, 1, 3, 65534, 1, 3, 65533, 1, 2, 65533, 1, 2, 65534, 1, 2, 65535, 1, 1, 65533, 1, 0, 65533, 1, 65535, 65533, 1, 65534, 65533, 1, 65533, 65533, 1, 65532, 65534, 1, 65532, 65535, 1, 65532, 0, 1, 65533, 2, 2, 65532, 2, 1, 65532, 1, 1, 3, 1, 1, 3, 2, 1, 65535, 65532, 0, 65535, 65531, 1, 65534, 65531, 1, 65534, 65532, 1, 65532, 65533, 1, 0, 65532, 1, 1, 65532, 1, 1, 65531, 0, 2, 65532, 1, 3, 65532, 1, 3, 65531, 1, 2, 65531, 1, 0, 65531, 1, 65533, 65531, 1, 65532, 65531, 1, 65532, 65532, 1, 65533, 65532, 1, 65531, 65532, 1, 65533, 65530, 1, 65534, 65530, 1, 65535, 65530, 1, 65535, 65529, 1, 65535, 65528, 1, 65534, 65528, 1, 65534, 65529, 1, 65533, 65529, 1, 65532, 65529, 1, 65532, 65530, 1, 65531, 65529, 1, 65530, 65529, 1, 65530, 65530, 1, 65530, 65531, 1, 65531, 65531, 1, 65531, 65533, 1, 65531, 65534, 1, 65531, 65530, 1, 65531, 65535, 1, 65531, 0, 1, 65531, 1, 1, 65531, 2, 1, 65534, 3, 1, 0, 3, 1, 1, 3, 1, 2, 3, 1, 3, 3, 1, 4, 2, 1, 4, 1, 1, 4, 0, 1, 5, 0, 1, 5, 65535, 1, 5, 65534, 1, 5, 65533, 1, 5, 65532, 1, 5, 65531, 1, 4, 65531, 1, 4, 65533, 1, 4, 65532, 1, 4, 65534, 1, 1, 65530, 1, 0, 65530, 1, 0, 65529, 1, 1, 65528, 1, 2, 65529, 1, 3, 65530, 1, 5, 1, 1, 6, 0, 1, 6, 65535, 1, 4, 65535, 1, 65530, 65535, 1, 65530, 65534, 1, 65530, 65533, 1, 65530, 65532, 1, 65530, 0, 1, 65530, 1, 1, 4, 3, 1, 5, 3, 1, 5, 2, 1, 6, 1, 1, 7, 0, 1, 7, 65535, 1, 7, 65534, 1, 6, 65533, 1, 1, 65529, 1, 2, 65530, 1, 6, 65534, 1, 7, 65533, 1, 7, 65532, 1, 6, 65532, 1, 6, 65531, 1, 5, 65530, 1, 4, 65530, 1, 3, 65529, 1, 2, 65528, 1, 0, 65528, 1, 65535, 3, 1, 65533, 3, 1, 65532, 3, 1, 65530, 2, 1, 65530, 3, 1, 65531, 3, 1, 65529, 65534, 1, 65529, 65535, 1, 8, 65533, 1, 8, 65532, 1, 9, 65531, 1, 9, 65532, 1, 8, 65534, 1, 6, 2, 1, 7, 1, 1, 7, 2, 1, 7, 3, 1, 6, 3, 1, 5, 4, 1, 4, 4, 1, 3, 4, 1, 65533, 4, 1, 65534, 4, 1, 65535, 4, 1, 0, 4, 1, 1, 4, 1, 2, 4, 1, 65529, 3, 1, 65531, 4, 1, 65532, 4, 1, 65529, 1, 1, 65529, 2, 1, 65528, 1, 1, 65528, 0, 1, 65528, 65535, 1, 65527, 65534, 1, 65526, 65532, 1, 65526, 65530, 1, 65526, 65529, 1, 65527, 65529, 1, 65527, 65530, 1, 65528, 65530, 1, 65529, 65531, 1, 65529, 65532, 1, 65529, 65533, 1, 65529, 0, 1, 65528, 65534, 1, 65528, 65533, 1, 65528, 65532, 1, 65527, 65532, 1, 65527, 65531, 1, 65528, 65531, 1, 65527, 65528, 1, 65526, 65528, 1, 65526, 65531, 1, 65526, 65533, 1, 65527, 65533, 1, 65527, 65535, 1, 65529, 65530, 1, 65529, 65529, 1, 65529, 65528, 1, 65530, 65528, 1, 65530, 65527, 1, 65528, 65529, 1, 65526, 65527, 1, 65527, 65526, 1, 65528, 65527, 1, 65529, 65527, 1, 65531, 65527, 1, 65532, 65527, 1, 65527, 65527, 1, 65527, 65525, 1, 65528, 65528, 1, 65530, 65526, 1, 65532, 65525, 1, 65533, 65524, 1, 65534, 65523, 1, 65535, 65522, 1, 0, 65522, 1, 0, 65523, 1, 65535, 65527, 1, 65533, 65528, 1, 65532, 65528, 1, 65532, 65526, 1, 65533, 65526, 1, 65533, 65527, 1, 65533, 65525, 1, 65531, 65528, 1, 65534, 65525, 1, 65534, 65524, 1, 65535, 65523, 1, 65535, 65521, 1, 0, 65521, 1, 65534, 65526, 1, 0, 65526, 1, 0, 65525, 1, 1, 65524, 1, 0, 65527, 1, 1, 65527, 1, 2, 65526, 1, 3, 65526, 1, 4, 65526, 1, 5, 65526, 1, 5, 65527, 1, 6, 65527, 1, 5, 65528, 1, 4, 65529, 1, 6, 65528, 1, 7, 65527, 1, 8, 65527, 1, 3, 65527, 1, 4, 65527, 1, 3, 65528, 1, 4, 65528, 1, 2, 65527, 1, 3, 65525, 1, 3, 65524, 1, 3, 65523, 1, 4, 65522, 1, 2, 65525, 1, 1, 65526, 1, 2, 65524, 1, 1, 65525, 1, 2, 65523, 1, 3, 65522, 1, 65534, 65527, 1, 0, 65524, 1, 65535, 65525, 1, 65535, 65526, 1, 65535, 65524, 1, 1, 65522, 1, 1, 65521, 1, 2, 65521, 1, 2, 65520, 1, 2, 65519, 1, 2, 65522, 1, 6, 65530, 1, 6, 65529, 1, 7, 65529, 1, 5, 65529, 1, 7, 65528, 1, 7, 65526, 1, 8, 65526, 1, 8, 65525, 1, 7, 65525, 1, 7, 65530, 1, 7, 65531, 1, 8, 65531, 1, 8, 65530, 1, 9, 65529, 1, 9, 65530, 1, 9, 65533, 1, 8, 65535, 1, 9, 65535, 1, 9, 65534, 1, 10, 65533, 1, 10, 65534, 1, 11, 65533, 1, 12, 65533, 1, 13, 65532, 1, 14, 65532, 1, 15, 65532, 1, 16, 65531, 1, 17, 65531, 1, 13, 65533, 1, 12, 65534, 1, 11, 65534, 1, 10, 65535, 1, 9, 0, 1, 8, 0, 1, 11, 65535, 1, 8, 1, 1, 9, 1, 1, 10, 0, 1, 11, 0, 1, 12, 0, 1, 13, 65535, 1, 10, 1, 1, 8, 2, 1, 8, 3, 1, 9, 2, 1, 10, 2, 1, 11, 2, 1, 13, 1, 1, 12, 1, 1, 9, 3, 1, 10, 3, 1, 12, 2, 1, 7, 4, 1, 6, 4, 1, 13, 0, 1, 14, 0, 1, 11, 1, 1, 15, 65535, 1, 15, 65534, 1, 16, 65534, 1, 16, 65533, 1, 15, 65533, 1, 13, 65534, 1, 12, 65535, 1, 14, 65533, 1, 12, 65532, 1, 11, 65532, 1, 14, 65534, 1, 15, 0, 1, 17, 65535, 1, 19, 65534, 1, 20, 65534, 1, 20, 65533, 1, 19, 65533, 1, 18, 65534, 1, 16, 65535, 1, 14, 65535, 1, 17, 65534, 1, 17, 65532, 1, 16, 65532, 1, 15, 65531, 1, 14, 65531, 1, 13, 65531, 1, 10, 65531, 1, 10, 65530, 1, 11, 65530, 1, 11, 65529, 1, 10, 65529, 1, 11, 65531, 1, 10, 65532, 1, 12, 65531, 1, 8, 65529, 1, 8, 65528, 1, 9, 65528, 1, 9, 65527, 1, 10, 65527, 1, 10, 65526, 1, 11, 65527, 1, 12, 65527, 1, 11, 65528, 1, 10, 65528, 1, 9, 65526, 1, 65528, 2, 1, 65527, 2, 1, 65527, 1, 1, 65527, 0, 1, 65526, 0, 1, 65526, 65535, 1, 65526, 65534, 1, 65525, 65534, 1, 65525, 65533, 1, 65528, 3, 1, 65530, 4, 1, 65529, 4, 1, 65528, 4, 1, 65531, 5, 1, 65531, 6, 1, 65531, 7, 1, 65532, 5, 655361, 65532, 6, 1, 65532, 7, 1, 65533, 5, 655361, 65533, 6, 1, 65533, 7, 1, 65534, 5, 1, 65534, 6, 1, 65534, 7, 1, 65535, 5, 1, 65535, 6, 1, 65535, 7, 1, 0, 5, 1, 0, 6, 1, 0, 7, 1, 1, 5, 1048577, 1, 6, 1, 1, 7, 1, 2, 5, 1, 2, 6, 1, 2, 7, 1, 3, 5, 1, 3, 6, 1, 3, 7, 1, 4, 5, 1, 4, 6, 1, 4, 7, 1, 5, 5, 1, 5, 6, 1, 5, 7, 1, 6, 5, 655361, 6, 6, 655361, 6, 7, 1, 65526, 4, 1, 65526, 3, 1, 65525, 2, 1, 65524, 1, 1, 65524, 0, 1, 65523, 65535, 1, 65523, 65534, 1, 65525, 1, 1, 65526, 2, 1, 65526, 1, 1, 65525, 0, 1, 65524, 65535, 1, 65527, 3, 1, 65527, 4, 1, 65525, 65535, 1, 65524, 65534, 1, 65524, 65533, 1, 65523, 65532, 1, 65523, 65531, 1, 65523, 65530, 1, 65524, 65530, 1, 65525, 65532, 1, 65530, 5, 1, 65524, 65532, 1, 65524, 65531, 1, 0, 65520, 1, 0, 65519, 1, 1, 65519, 1, 1, 65520, 1) } [node name="GrassMap" type="GridMap" parent="."] -mesh_library = SubResource("MeshLibrary_78blk") -cell_size = Vector3(0.1, 0.1, 0.1) +mesh_library = ExtResource("3_kefov") +cell_size = Vector3(0.1, 0.02, 0.1) data = { "cells": PackedInt32Array(65534, 0, 1, 65535, 0, 1, 0, 0, 1, 1, 0, 1, 2, 0, 3, 65533, 0, 2, 65534, 1, 1, 65535, 1, 1, 65533, 1, 1, 0, 1, 1, 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 3, 65532, 1, 2, 65535, 2, 1, 65534, 2, 1, 65533, 2, 2, 0, 2, 3, 1, 65535, 1, 0, 65535, 1, 65535, 65535, 1, 65534, 65535, 1, 65533, 65535, 1, 2, 65535, 1, 3, 65535, 1, 4, 65535, 3, 65532, 65535, 2, 65534, 65531, 1, 65535, 65531, 1, 0, 65531, 1, 1, 65532, 1, 2, 65533, 1, 2, 65534, 1, 1, 65534, 1, 0, 65534, 1, 0, 65533, 1, 65535, 65533, 1, 65535, 65532, 1, 0, 65532, 1, 1, 65533, 1, 65534, 65533, 1, 65533, 65533, 1, 65534, 65534, 1, 65535, 65534, 1, 2, 65532, 1, 2, 65531, 1, 1, 65531, 1, 1, 65530, 1, 0, 65530, 2, 3, 65532, 1, 3, 65533, 1, 3, 65534, 1, 4, 65534, 3, 4, 65533, 3, 4, 65532, 3, 3, 65531, 3, 1, 65529, 3, 65533, 65531, 2, 65534, 65532, 2, 65532, 65533, 2, 65533, 65534, 2, 0, 65529, 2, 2, 65530, 3) } +metadata/_editor_floor_ = Vector3(0, 0, 0) [editable path="Player3D"] diff --git a/scenes/player_3d.tscn b/scenes/player_3d.tscn index 74bfcfe..7fa3390 100644 --- a/scenes/player_3d.tscn +++ b/scenes/player_3d.tscn @@ -2,13 +2,7 @@ [ext_resource type="SpriteFrames" uid="uid://b7cjgh268bie5" path="res://resources/sprite_frames_player.tres" id="1_52vux"] [ext_resource type="Script" uid="uid://c3mev0b5x3sl4" path="res://scenes/player_3d.gd" id="1_reoop"] - -[sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_reoop"] -dof_blur_far_enabled = true -dof_blur_far_distance = 2.6 -dof_blur_far_transition = 1.0 -dof_blur_near_enabled = true -dof_blur_near_distance = 2.8 +[ext_resource type="CameraAttributesPractical" uid="uid://bjsnxgqx5je00" path="res://resources/camera_attributes_practical_1.tres" id="3_2djwe"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_52vux"] radius = 0.48486328 @@ -18,6 +12,7 @@ height = 1.5662842 script = ExtResource("1_reoop") [node name="PlayerSprite3D" type="AnimatedSprite3D" parent="."] +sorting_offset = 0.1 offset = Vector2(0, 16) alpha_cut = 1 texture_filter = 0 @@ -26,11 +21,13 @@ animation = &"idle_down" autoplay = "idle_down" [node name="Camera3D" type="Camera3D" parent="."] -transform = Transform3D(0.9848077, -0.044943456, 0.16773126, 0, 0.9659258, 0.25881904, -0.17364818, -0.25488698, 0.9512512, 0.4, 0.8, 2.5) -attributes = SubResource("CameraAttributesPractical_reoop") +transform = Transform3D(0.99939084, -0.0030416911, 0.034766693, 0, 0.9961947, 0.08715574, -0.034899496, -0.087102644, 0.9955879, 0.1, 0.4, 2.5) +attributes = ExtResource("3_2djwe") projection = 1 +fov = 37.849285 +size = 0.4 near = 2.0 -far = 4.0 +far = 5.0 [node name="CollisionShape3D" type="CollisionShape3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.78478503, 0) diff --git a/test_shader.gdshader b/test_shader.gdshader new file mode 100644 index 0000000..ae20770 --- /dev/null +++ b/test_shader.gdshader @@ -0,0 +1,30 @@ +shader_type spatial; +render_mode unshaded, depth_draw_always; + +uniform sampler2D input_texture : source_color, filter_nearest; + +float random(vec2 uv) { + return fract(sin(dot(uv.xy, + vec2(12.9898,78.233))) * 43758.5453123); +} +void vertex() { + // Called for every vertex the material is visible on. + if (VERTEX.y > 0.0) { + VERTEX.x += VERTEX.x * abs(sin(TIME))/(5.0); + VERTEX.z += VERTEX.x * abs(sin(TIME))/(10.0); + } + +} + +void fragment() { + // Called for every pixel the material is visible on. + ALBEDO = texture(input_texture, UV).rgb; + ALPHA = texture(input_texture, UV).a; + ALPHA_SCISSOR_THRESHOLD = 0.5; +} + + +//void light() { +// // Called for every pixel for every light affecting the material. +// // Uncomment to replace the default light processing function with this one. +//} diff --git a/test_shader.gdshader.uid b/test_shader.gdshader.uid new file mode 100644 index 0000000..1e1f589 --- /dev/null +++ b/test_shader.gdshader.uid @@ -0,0 +1 @@ +uid://bus7pq4drisd1