played with shaders, grass height, sky effects

This commit is contained in:
Adam Burns 2026-01-24 23:21:57 -05:00
parent a2640acb6b
commit 95cef68335
12 changed files with 223 additions and 116 deletions

View File

@ -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

View File

@ -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

View File

@ -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={

View File

@ -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

View File

@ -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

View File

@ -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

9
scenes/cartoon_sky.gd Normal file
View File

@ -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

View File

@ -0,0 +1 @@
uid://cbek6xgea3mdt

File diff suppressed because one or more lines are too long

View File

@ -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)

30
test_shader.gdshader Normal file
View File

@ -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.
//}

1
test_shader.gdshader.uid Normal file
View File

@ -0,0 +1 @@
uid://bus7pq4drisd1