v0.5 Update
This commit is contained in:
parent
5c73b3edac
commit
6d7767a1e4
|
|
@ -0,0 +1,8 @@
|
||||||
|
[gd_resource type="Resource" script_class="Vector3PropertyName" load_steps=2 format=3 uid="uid://bj72x72veirrm"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://rukdqg1uo30" path="res://addons/rokojori_action_library/Runtime/Shading/Properties/Vector3PropertyName.cs" id="1_uacbx"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_uacbx")
|
||||||
|
propertyName = "playerPositionBody"
|
||||||
|
metadata/_custom_type_script = "uid://rukdqg1uo30"
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
[gd_scene format=4 uid="uid://cysnvy387qi38"]
|
[gd_scene load_steps=76 format=4 uid="uid://cysnvy387qi38"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://c2nmnsvtjycko" path="res://GameObjects/Fir/Fir-Tree.gltf" id="1_ojc8e"]
|
[ext_resource type="PackedScene" uid="uid://c2nmnsvtjycko" path="res://GameObjects/Fir/Fir-Tree.gltf" id="1_ojc8e"]
|
||||||
[ext_resource type="Script" uid="uid://bo0awqfi5eqg4" path="res://addons/rokojori_action_library/Runtime/Procedural/Assets/Grass/GrassPatch.cs" id="2_3jsax"]
|
[ext_resource type="Script" uid="uid://bo0awqfi5eqg4" path="res://addons/rokojori_action_library/Runtime/Procedural/Assets/Grass/GrassPatch.cs" id="2_3jsax"]
|
||||||
|
|
@ -249,51 +249,51 @@ fill_to = Vector2(1, 0.5)
|
||||||
noise = SubResource("FastNoiseLite_kmvfw")
|
noise = SubResource("FastNoiseLite_kmvfw")
|
||||||
as_normal_map = true
|
as_normal_map = true
|
||||||
|
|
||||||
[node name="Fir-Group" type="Node3D" unique_id=727160438]
|
[node name="Fir-Group" type="Node3D"]
|
||||||
|
|
||||||
[node name="Fir-Tree" type="StaticBody3D" parent="." unique_id=668138342]
|
[node name="Fir-Tree" type="StaticBody3D" parent="."]
|
||||||
transform = Transform3D(0.9595, 0, 0, 0, 0.9595, 0, 0, 0, 0.9595, -1.1071688, 1.9831061e-06, -0.03523016)
|
transform = Transform3D(0.9595, 0, 0, 0, 0.9595, 0, 0, 0, 0.9595, -1.1071688, 1.9831061e-06, -0.03523016)
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Fir-Tree" unique_id=1823802054]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Fir-Tree"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8082289, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8082289, 0)
|
||||||
shape = SubResource("CapsuleShape3D_3jsax")
|
shape = SubResource("CapsuleShape3D_3jsax")
|
||||||
|
|
||||||
[node name="Fir-Tree2" parent="Fir-Tree" unique_id=299915175 instance=ExtResource("1_ojc8e")]
|
[node name="Fir-Tree2" parent="Fir-Tree" instance=ExtResource("1_ojc8e")]
|
||||||
transform = Transform3D(1.9628266, 0, 0, 0, 1.9628266, 0, 0, 0, 1.9628266, 0, 0, 0)
|
transform = Transform3D(1.9628266, 0, 0, 0, 1.9628266, 0, 0, 0, 1.9628266, 0, 0, 0)
|
||||||
|
|
||||||
[node name="Fir-Tree" parent="Fir-Tree/Fir-Tree2" index="0"]
|
[node name="Fir-Tree" parent="Fir-Tree/Fir-Tree2" index="0"]
|
||||||
surface_material_override/0 = ExtResource("2_gr4uy")
|
surface_material_override/0 = ExtResource("2_gr4uy")
|
||||||
surface_material_override/1 = ExtResource("3_5t3l0")
|
surface_material_override/1 = ExtResource("3_5t3l0")
|
||||||
|
|
||||||
[node name="Fir-Tree2" type="StaticBody3D" parent="." unique_id=186392533]
|
[node name="Fir-Tree2" type="StaticBody3D" parent="."]
|
||||||
transform = Transform3D(0.6540956, 0.076034315, 0, -0.076034315, 0.6540956, 0, 0, 0, 0.6585, 2.051654, 0.19738604, -0.03106308)
|
transform = Transform3D(0.6540956, 0.076034315, 0, -0.076034315, 0.6540956, 0, 0, 0, 0.6585, 2.051654, 0.19738604, -0.03106308)
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Fir-Tree2" unique_id=2118317728]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Fir-Tree2"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.7695697, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.7695697, 0)
|
||||||
shape = SubResource("CapsuleShape3D_ojc8e")
|
shape = SubResource("CapsuleShape3D_ojc8e")
|
||||||
|
|
||||||
[node name="Fir-Tree2" parent="Fir-Tree2" unique_id=1623428260 instance=ExtResource("1_ojc8e")]
|
[node name="Fir-Tree2" parent="Fir-Tree2" instance=ExtResource("1_ojc8e")]
|
||||||
transform = Transform3D(1.9628266, 0, 0, 0, 1.9628266, 0, 0, 0, 1.9628266, 0, 0, 0)
|
transform = Transform3D(1.9628266, 0, 0, 0, 1.9628266, 0, 0, 0, 1.9628266, 0, 0, 0)
|
||||||
|
|
||||||
[node name="Fir-Tree" parent="Fir-Tree2/Fir-Tree2" index="0"]
|
[node name="Fir-Tree" parent="Fir-Tree2/Fir-Tree2" index="0"]
|
||||||
surface_material_override/0 = ExtResource("2_gr4uy")
|
surface_material_override/0 = ExtResource("2_gr4uy")
|
||||||
surface_material_override/1 = ExtResource("3_5t3l0")
|
surface_material_override/1 = ExtResource("3_5t3l0")
|
||||||
|
|
||||||
[node name="Fir-Tree3" type="StaticBody3D" parent="." unique_id=298540885]
|
[node name="Fir-Tree3" type="StaticBody3D" parent="."]
|
||||||
transform = Transform3D(0.7900405, 0.09086897, -0.044621587, -0.09780733, 0.7757176, -0.15201366, 0.026114782, 0.15626022, 0.7805851, -0.18325019, -0.40480185, 1.311768)
|
transform = Transform3D(0.7900405, 0.09086897, -0.044621587, -0.09780733, 0.7757176, -0.15201366, 0.026114782, 0.15626022, 0.7805851, -0.18325019, -0.40480185, 1.311768)
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Fir-Tree3" unique_id=1339623090]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Fir-Tree3"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.9849193e-09, 0.7918011, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.9849193e-09, 0.7918011, 0)
|
||||||
shape = SubResource("CapsuleShape3D_5ep8c")
|
shape = SubResource("CapsuleShape3D_5ep8c")
|
||||||
|
|
||||||
[node name="Fir-Tree2" parent="Fir-Tree3" unique_id=1988947020 instance=ExtResource("1_ojc8e")]
|
[node name="Fir-Tree2" parent="Fir-Tree3" instance=ExtResource("1_ojc8e")]
|
||||||
transform = Transform3D(1.2378, 0, 0, 0, 1.6477927, 0, 0, 0, 1.2378, 0, 0, 0)
|
transform = Transform3D(1.2378, 0, 0, 0, 1.6477927, 0, 0, 0, 1.2378, 0, 0, 0)
|
||||||
|
|
||||||
[node name="Fir-Tree" parent="Fir-Tree3/Fir-Tree2" index="0"]
|
[node name="Fir-Tree" parent="Fir-Tree3/Fir-Tree2" index="0"]
|
||||||
surface_material_override/0 = ExtResource("2_gr4uy")
|
surface_material_override/0 = ExtResource("2_gr4uy")
|
||||||
surface_material_override/1 = ExtResource("3_5t3l0")
|
surface_material_override/1 = ExtResource("3_5t3l0")
|
||||||
|
|
||||||
[node name="GrassPatch" type="Node3D" parent="." unique_id=707431721 node_paths=PackedStringArray("output")]
|
[node name="GrassPatch" type="Node3D" parent="." node_paths=PackedStringArray("output")]
|
||||||
script = ExtResource("2_3jsax")
|
script = ExtResource("2_3jsax")
|
||||||
output = NodePath("MeshInstance3D")
|
output = NodePath("MeshInstance3D")
|
||||||
material = ExtResource("5_5t3l0")
|
material = ExtResource("5_5t3l0")
|
||||||
|
|
@ -331,34 +331,34 @@ lowCurve = SubResource("Curve_m86la")
|
||||||
highCurve = SubResource("Curve_2gdgn")
|
highCurve = SubResource("Curve_2gdgn")
|
||||||
metadata/_custom_type_script = "uid://bo0awqfi5eqg4"
|
metadata/_custom_type_script = "uid://bo0awqfi5eqg4"
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="GrassPatch" unique_id=2088386383]
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="GrassPatch"]
|
||||||
mesh = SubResource("ArrayMesh_5t3l0")
|
mesh = SubResource("ArrayMesh_5t3l0")
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="." unique_id=1807438275]
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
|
||||||
visible = false
|
visible = false
|
||||||
mesh = SubResource("PlaneMesh_3jsax")
|
mesh = SubResource("PlaneMesh_3jsax")
|
||||||
surface_material_override/0 = SubResource("StandardMaterial3D_2ba48")
|
surface_material_override/0 = SubResource("StandardMaterial3D_2ba48")
|
||||||
|
|
||||||
[node name="Map Geometry" type="MeshInstance3D" parent="." unique_id=1264668237]
|
[node name="Map Geometry" type="MeshInstance3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.2740593, 4.7683716e-07, 0.003993213)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.2740593, 4.7683716e-07, 0.003993213)
|
||||||
layers = 8
|
layers = 8
|
||||||
mesh = SubResource("PlaneMesh_uf0ka")
|
mesh = SubResource("PlaneMesh_uf0ka")
|
||||||
surface_material_override/0 = ExtResource("3_5ep8c")
|
surface_material_override/0 = ExtResource("3_5ep8c")
|
||||||
|
|
||||||
[node name="Map Geometry 2" type="MeshInstance3D" parent="." unique_id=1092947156]
|
[node name="Map Geometry 2" type="MeshInstance3D" parent="."]
|
||||||
transform = Transform3D(1.8367388, 0, 0, 0, 1, 0, 0, 0, 1.8367388, -1.0960741, 4.7683716e-07, -0.026505917)
|
transform = Transform3D(1.8367388, 0, 0, 0, 1, 0, 0, 0, 1.8367388, -1.0960741, 4.7683716e-07, -0.026505917)
|
||||||
layers = 8
|
layers = 8
|
||||||
mesh = SubResource("PlaneMesh_uf0ka")
|
mesh = SubResource("PlaneMesh_uf0ka")
|
||||||
surface_material_override/0 = ExtResource("3_5ep8c")
|
surface_material_override/0 = ExtResource("3_5ep8c")
|
||||||
|
|
||||||
[node name="Map Geometry 3" type="MeshInstance3D" parent="." unique_id=1897574725]
|
[node name="Map Geometry 3" type="MeshInstance3D" parent="."]
|
||||||
transform = Transform3D(0.6997885, 0, 0, 0, 1, 0, 0, 0, 0.6997885, -0.063928604, 4.7683716e-07, 1.5103611)
|
transform = Transform3D(0.6997885, 0, 0, 0, 1, 0, 0, 0, 0.6997885, -0.063928604, 4.7683716e-07, 1.5103611)
|
||||||
layers = 8
|
layers = 8
|
||||||
mesh = SubResource("PlaneMesh_uf0ka")
|
mesh = SubResource("PlaneMesh_uf0ka")
|
||||||
surface_material_override/0 = ExtResource("3_5ep8c")
|
surface_material_override/0 = ExtResource("3_5ep8c")
|
||||||
|
|
||||||
[node name="SpatialShaderGenerator" type="Node" parent="." unique_id=451180539]
|
[node name="SpatialShaderGenerator" type="Node" parent="."]
|
||||||
script = ExtResource("6_5t3l0")
|
script = ExtResource("6_5t3l0")
|
||||||
data = SubResource("Resource_wr8kx")
|
data = SubResource("Resource_wr8kx")
|
||||||
path = "res://GameObjects/Fir/"
|
path = "res://GameObjects/Fir/"
|
||||||
|
|
@ -367,7 +367,7 @@ shader = ExtResource("2_6ynax")
|
||||||
numVariants = 1
|
numVariants = 1
|
||||||
metadata/_custom_type_script = "uid://2gudnu1r4pjg"
|
metadata/_custom_type_script = "uid://2gudnu1r4pjg"
|
||||||
|
|
||||||
[node name="Decal" type="Decal" parent="." unique_id=862146200]
|
[node name="Decal" type="Decal" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.00010681152, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.00010681152, 0)
|
||||||
size = Vector3(8, 0.48886108, 8)
|
size = Vector3(8, 0.48886108, 8)
|
||||||
texture_albedo = SubResource("GradientTexture2D_5t3l0")
|
texture_albedo = SubResource("GradientTexture2D_5t3l0")
|
||||||
|
|
|
||||||
|
|
@ -40,9 +40,13 @@ shader_parameter/windWeightCurve = 0.5
|
||||||
shader_parameter/windHeightCompensation = 0.02
|
shader_parameter/windHeightCompensation = 0.02
|
||||||
shader_parameter/windNormalBending = 0.0
|
shader_parameter/windNormalBending = 0.0
|
||||||
shader_parameter/windOcclusionAmount = 0.0
|
shader_parameter/windOcclusionAmount = 0.0
|
||||||
shader_parameter/worldCameraLineDistanceFadeInnerRadius = 0.2
|
shader_parameter/worldCameraLineDistanceFadeInnerRadius = 1.5
|
||||||
shader_parameter/worldCameraLineDistanceFadeOuterRadius = 2.5
|
shader_parameter/worldCameraLineDistanceFadeOuterRadius = 3.0
|
||||||
shader_parameter/worldLineFadeMin = 0.2
|
shader_parameter/worldLineFadeMin = 50.0
|
||||||
|
shader_parameter/perlinDiscardScale = 0.02
|
||||||
|
shader_parameter/perlinDiscardScroll = Vector2(0.5, 1)
|
||||||
|
shader_parameter/fadeThreshold = 0.10000000475
|
||||||
|
shader_parameter/minimumPlayerDistance = 3.0
|
||||||
shader_parameter/roughness = 0.582000027645
|
shader_parameter/roughness = 0.582000027645
|
||||||
shader_parameter/albedoToRoughness = Vector3(0, -0.8165, 0.337)
|
shader_parameter/albedoToRoughness = Vector3(0, -0.8165, 0.337)
|
||||||
shader_parameter/specular = 1.0
|
shader_parameter/specular = 1.0
|
||||||
|
|
|
||||||
|
|
@ -40,9 +40,13 @@ shader_parameter/windWeightCurve = 0.5
|
||||||
shader_parameter/windHeightCompensation = 0.02
|
shader_parameter/windHeightCompensation = 0.02
|
||||||
shader_parameter/windNormalBending = 0.0
|
shader_parameter/windNormalBending = 0.0
|
||||||
shader_parameter/windOcclusionAmount = 0.0
|
shader_parameter/windOcclusionAmount = 0.0
|
||||||
shader_parameter/worldCameraLineDistanceFadeInnerRadius = 0.2
|
shader_parameter/worldCameraLineDistanceFadeInnerRadius = 1.5
|
||||||
shader_parameter/worldCameraLineDistanceFadeOuterRadius = 2.5
|
shader_parameter/worldCameraLineDistanceFadeOuterRadius = 3.0
|
||||||
shader_parameter/worldLineFadeMin = 0.2
|
shader_parameter/worldLineFadeMin = 50.0
|
||||||
|
shader_parameter/perlinDiscardScale = 0.02
|
||||||
|
shader_parameter/perlinDiscardScroll = Vector2(0.5, 1)
|
||||||
|
shader_parameter/fadeThreshold = 0.10000000475
|
||||||
|
shader_parameter/minimumPlayerDistance = 3.0
|
||||||
shader_parameter/roughness = 0.1230000058425
|
shader_parameter/roughness = 0.1230000058425
|
||||||
shader_parameter/albedoToRoughness = Vector3(0, 0, -0.5)
|
shader_parameter/albedoToRoughness = Vector3(0, 0, -0.5)
|
||||||
shader_parameter/specular = 1.0
|
shader_parameter/specular = 1.0
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,10 @@ resource_name = "Fir"
|
||||||
render_priority = 0
|
render_priority = 0
|
||||||
shader = ExtResource("1_lbd55")
|
shader = ExtResource("1_lbd55")
|
||||||
shader_parameter/albedo = Color(0.7919124, 0.7133407, 0.48449263, 1)
|
shader_parameter/albedo = Color(0.7919124, 0.7133407, 0.48449263, 1)
|
||||||
|
shader_parameter/snowLuminanceAmount = 1.0
|
||||||
|
shader_parameter/snowLuminanceConstrast = 1.0
|
||||||
|
shader_parameter/snowLuminanceConstrastOffset = 0.5
|
||||||
|
shader_parameter/snowLuminanceConstrastBrightness = 0.0
|
||||||
shader_parameter/hslVariance = Vector3(0, 0, 0)
|
shader_parameter/hslVariance = Vector3(0, 0, 0)
|
||||||
shader_parameter/hslOffset = Vector3(0, 0, 0)
|
shader_parameter/hslOffset = Vector3(0, 0, 0)
|
||||||
shader_parameter/localYMapping = Vector2(-0.5, 0.5)
|
shader_parameter/localYMapping = Vector2(-0.5, 0.5)
|
||||||
|
|
@ -32,9 +36,13 @@ shader_parameter/windWeightCurve = 0.5
|
||||||
shader_parameter/windHeightCompensation = 0.0
|
shader_parameter/windHeightCompensation = 0.0
|
||||||
shader_parameter/windNormalBending = 0.0
|
shader_parameter/windNormalBending = 0.0
|
||||||
shader_parameter/windOcclusionAmount = 0.0
|
shader_parameter/windOcclusionAmount = 0.0
|
||||||
shader_parameter/worldCameraLineDistanceFadeInnerRadius = 0.2
|
shader_parameter/worldCameraLineDistanceFadeInnerRadius = 1.5
|
||||||
shader_parameter/worldCameraLineDistanceFadeOuterRadius = 2.5
|
shader_parameter/worldCameraLineDistanceFadeOuterRadius = 3.0
|
||||||
shader_parameter/worldLineFadeMin = 0.2
|
shader_parameter/worldLineFadeMin = 50.0
|
||||||
|
shader_parameter/perlinDiscardScale = 0.02
|
||||||
|
shader_parameter/perlinDiscardScroll = Vector2(0.5, 1)
|
||||||
|
shader_parameter/fadeThreshold = 0.10000000475
|
||||||
|
shader_parameter/minimumPlayerDistance = 3.0
|
||||||
shader_parameter/roughness = 0.92400004389
|
shader_parameter/roughness = 0.92400004389
|
||||||
shader_parameter/albedoToRoughness = Vector3(0, 0, 0)
|
shader_parameter/albedoToRoughness = Vector3(0, 0, 0)
|
||||||
shader_parameter/specular = 0.67600003211
|
shader_parameter/specular = 0.67600003211
|
||||||
|
|
|
||||||
|
|
@ -120,14 +120,15 @@ varying float vertexWindAO;
|
||||||
// [ F A D I N G ]
|
// [ F A D I N G ]
|
||||||
group_uniforms Fading;
|
group_uniforms Fading;
|
||||||
|
|
||||||
global uniform vec3 playerPosition = vec3( 0.0, 0.0, 0.0);
|
global uniform vec3 playerPositionBody = vec3( 0.0, 0.0, 0.0);
|
||||||
varying vec3 worldCameraLineDistanceFadeViewPosition;
|
varying vec3 worldCameraLineDistanceFadeViewPosition;
|
||||||
uniform float worldCameraLineDistanceFadeInnerRadius = 0.10000000149011612;
|
uniform float worldCameraLineDistanceFadeInnerRadius = 0.10000000149011612;
|
||||||
uniform float worldCameraLineDistanceFadeOuterRadius = 0.15000000596046448;
|
uniform float worldCameraLineDistanceFadeOuterRadius = 0.15000000596046448;
|
||||||
uniform float worldLineFadeMin = 0.0;
|
uniform float worldLineFadeMin = 0.0;
|
||||||
|
uniform float perlinDiscardScale = 0.02;
|
||||||
|
uniform vec2 perlinDiscardScroll = vec2( 0.01, 0.5 );
|
||||||
|
uniform float fadeThreshold:hint_range( 0.0, 0.5) = 0.2;
|
||||||
|
uniform float minimumPlayerDistance = 1;
|
||||||
|
|
||||||
|
|
||||||
// // [ N O R M A L ]
|
// // [ N O R M A L ]
|
||||||
|
|
@ -165,14 +166,16 @@ uniform float snowLightMix = 0.5;
|
||||||
|
|
||||||
varying float snowAmount;
|
varying float snowAmount;
|
||||||
|
|
||||||
|
varying vec2 fadeCenterScreen;
|
||||||
|
|
||||||
void vertex()
|
void vertex()
|
||||||
{
|
{
|
||||||
|
fadeCenterScreen = worldToScreen( playerPositionBody, VIEW_MATRIX, PROJECTION_MATRIX );
|
||||||
|
|
||||||
vec3 worldVertex = localToWorld( VERTEX, MODEL_MATRIX );
|
vec3 worldVertex = localToWorld( VERTEX, MODEL_MATRIX );
|
||||||
vec2 worldUV = ( worldVertex.xz ) / ( 1000.0 * noiseScale ) + noiseOffset;
|
vec2 worldUV = ( worldVertex.xz ) / ( 1000.0 * noiseScale ) + noiseOffset;
|
||||||
noiseValue = textureLod( noise, worldUV, 0 );
|
noiseValue = textureLod( noise, worldUV, 0 );
|
||||||
worldCameraLineDistanceFadeViewPosition = worldToView( playerPosition, VIEW_MATRIX );
|
worldCameraLineDistanceFadeViewPosition = worldToView( playerPositionBody, VIEW_MATRIX );
|
||||||
|
|
||||||
float maxSnowAmount = mapClamped( VERTEX.y, snowFadeLocalYStart + snowFadeNoise * noiseValue.r, snowFadeLocalYEnd + snowFadeNoise * noiseValue.r, 0.0, snowOpacity );
|
float maxSnowAmount = mapClamped( VERTEX.y, snowFadeLocalYStart + snowFadeNoise * noiseValue.r, snowFadeLocalYEnd + snowFadeNoise * noiseValue.r, 0.0, snowOpacity );
|
||||||
maxSnowAmount = clamp01( pow( maxSnowAmount, snowFadePower ) );
|
maxSnowAmount = clamp01( pow( maxSnowAmount, snowFadePower ) );
|
||||||
|
|
@ -182,7 +185,7 @@ void vertex()
|
||||||
|
|
||||||
// PLAYER DEFORM
|
// PLAYER DEFORM
|
||||||
|
|
||||||
vec3 localPlayerPosition = worldToLocal( playerPosition, MODEL_MATRIX ) - VERTEX;
|
vec3 localPlayerPosition = worldToLocal( playerPositionBody, MODEL_MATRIX ) - VERTEX;
|
||||||
localPlayerPosition.y = 0.0;
|
localPlayerPosition.y = 0.0;
|
||||||
|
|
||||||
float length = length( localPlayerPosition );
|
float length = length( localPlayerPosition );
|
||||||
|
|
@ -233,6 +236,12 @@ void vertex()
|
||||||
void fragment()
|
void fragment()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
//vec2 vertexScreenPosition = viewToScreen( VERTEX, PROJECTION_MATRIX );
|
||||||
|
//
|
||||||
|
//vec2 screenDistance = vertexScreenPosition - fadeCenterScreen;
|
||||||
|
//screenDistance.x *= VIEWPORT_SIZE.x / VIEWPORT_SIZE.y;
|
||||||
|
//float vsOpacity = min( 1.0, length( screenDistance ) / 0.2 );
|
||||||
|
|
||||||
float worldLineDistanceFadeDistance =
|
float worldLineDistanceFadeDistance =
|
||||||
sdRoundCone( VERTEX, vec3( 0.0, 0.0, 0.0),
|
sdRoundCone( VERTEX, vec3( 0.0, 0.0, 0.0),
|
||||||
worldCameraLineDistanceFadeViewPosition, 0,
|
worldCameraLineDistanceFadeViewPosition, 0,
|
||||||
|
|
@ -240,19 +249,41 @@ void fragment()
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
float worldRadius = worldCameraLineDistanceFadeOuterRadius - worldCameraLineDistanceFadeInnerRadius;
|
vec3 simplePlayerDirection = ( VERTEX - vec3( 0.0, 0.0, minimumPlayerDistance ) ) - worldCameraLineDistanceFadeViewPosition;
|
||||||
float worldLineDistanceFadeAmount = smoothstep( 0, worldRadius, worldLineDistanceFadeDistance );
|
bool isFarEnough = simplePlayerDirection.z > 0.0;
|
||||||
worldLineDistanceFadeAmount = clamp( worldLineDistanceFadeAmount, worldLineFadeMin, 1.0 );
|
|
||||||
|
|
||||||
|
float worldRadius = worldCameraLineDistanceFadeInnerRadius - worldCameraLineDistanceFadeInnerRadius;
|
||||||
|
|
||||||
|
float w = fwidth(worldLineDistanceFadeDistance) * worldLineFadeMin;
|
||||||
|
|
||||||
|
float worldLineDistanceFadeAmount = smoothstep( 0, w, worldLineDistanceFadeDistance );
|
||||||
|
worldLineDistanceFadeAmount = worldLineDistanceFadeAmount;
|
||||||
|
//worldLineDistanceFadeAmount = clamp( worldLineDistanceFadeAmount, worldLineFadeMin, 1.0 );
|
||||||
|
//worldLineDistanceFadeAmount = worldLineDistanceFadeDistance;
|
||||||
|
|
||||||
vec3 objectNormal = normalize( worldCameraLineDistanceFadeViewPosition - VERTEX );
|
vec3 objectNormal = normalize( worldCameraLineDistanceFadeViewPosition - VERTEX );
|
||||||
vec3 cameraNormal = NORMAL;
|
vec3 cameraNormal = NORMAL;
|
||||||
float worldLineDistanceDot = dot( cameraNormal, objectNormal );
|
float worldLineDistanceDot = dot( cameraNormal, objectNormal );
|
||||||
worldLineDistanceDot = max( 0, sign( worldLineDistanceDot ) );
|
worldLineDistanceDot = max( 0, sign( worldLineDistanceDot ) );
|
||||||
|
|
||||||
if ( worldLineDistanceDot == 0.0 && ditherDiscard( worldLineDistanceFadeAmount, FRAGCOORD ) )
|
vec2 perlinDiscardCoord = FRAGCOORD.xy * perlinDiscardScale + TIME * perlinDiscardScroll;
|
||||||
{
|
|
||||||
discard;
|
|
||||||
}
|
if ( worldLineDistanceDot == 0.0 && perlinDiscard( worldLineDistanceFadeAmount, perlinDiscardCoord, fadeThreshold ) )
|
||||||
|
{
|
||||||
|
discard;
|
||||||
|
}
|
||||||
|
|
||||||
|
//if ( worldLineDistanceDot == 0.0 && worldLineDistanceFadeAmount < fadeThreshold )
|
||||||
|
//{
|
||||||
|
//discard;
|
||||||
|
//}
|
||||||
|
|
||||||
|
// if ( worldLineDistanceDot == 0.0 && ditherDiscard( worldLineDistanceFadeAmount, vec4( perlinDiscardCoord, vec2(0.0)) ) )
|
||||||
|
// {
|
||||||
|
// discard;
|
||||||
|
// }
|
||||||
|
|
||||||
vec4 sampledAlbedo = texture( albedoTexture, UV );
|
vec4 sampledAlbedo = texture( albedoTexture, UV );
|
||||||
ALBEDO = sampledAlbedo.rgb * albedo.rgb;
|
ALBEDO = sampledAlbedo.rgb * albedo.rgb;
|
||||||
|
|
|
||||||
798
Main/Main.tscn
798
Main/Main.tscn
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,81 @@
|
||||||
|
[gd_resource type="VisualShader" format=3 uid="uid://k4fn3qfufau"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
code = "shader_type particles;
|
||||||
|
|
||||||
|
|
||||||
|
float __rand_from_seed(inout uint seed) {
|
||||||
|
int k;
|
||||||
|
int s = int(seed);
|
||||||
|
if (s == 0)
|
||||||
|
s = 305420679;
|
||||||
|
k = s / 127773;
|
||||||
|
s = 16807 * (s - k * 127773) - 2836 * k;
|
||||||
|
if (s < 0)
|
||||||
|
s += 2147483647;
|
||||||
|
seed = uint(s);
|
||||||
|
return float(seed % uint(65536)) / 65535.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
float __rand_from_seed_m1_p1(inout uint seed) {
|
||||||
|
return __rand_from_seed(seed) * 2.0 - 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
float __randf_range(inout uint seed, float from, float to) {
|
||||||
|
return __rand_from_seed(seed) * (to - from) + from;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint __hash(uint x) {
|
||||||
|
x = ((x >> uint(16)) ^ x) * uint(73244475);
|
||||||
|
x = ((x >> uint(16)) ^ x) * uint(73244475);
|
||||||
|
x = (x >> uint(16)) ^ x;
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
|
||||||
|
mat3 __build_rotation_mat3(vec3 axis, float angle) {
|
||||||
|
axis = normalize(axis);
|
||||||
|
float s = sin(angle);
|
||||||
|
float c = cos(angle);
|
||||||
|
float oc = 1.0 - c;
|
||||||
|
return mat3(vec3(oc * axis.x * axis.x + c, oc * axis.x * axis.y - axis.z * s, oc * axis.z * axis.x + axis.y * s), vec3(oc * axis.x * axis.y + axis.z * s, oc * axis.y * axis.y + c, oc * axis.y * axis.z - axis.x * s), vec3(oc * axis.z * axis.x - axis.y * s, oc * axis.y * axis.z + axis.x * s, oc * axis.z * axis.z + c));
|
||||||
|
}
|
||||||
|
|
||||||
|
mat4 __build_rotation_mat4(vec3 axis, float angle) {
|
||||||
|
axis = normalize(axis);
|
||||||
|
float s = sin(angle);
|
||||||
|
float c = cos(angle);
|
||||||
|
float oc = 1.0 - c;
|
||||||
|
return mat4(vec4(oc * axis.x * axis.x + c, oc * axis.x * axis.y - axis.z * s, oc * axis.z * axis.x + axis.y * s, 0), vec4(oc * axis.x * axis.y + axis.z * s, oc * axis.y * axis.y + c, oc * axis.y * axis.z - axis.x * s, 0), vec4(oc * axis.z * axis.x - axis.y * s, oc * axis.y * axis.z + axis.x * s, oc * axis.z * axis.z + c, 0), vec4(0, 0, 0, 1));
|
||||||
|
}
|
||||||
|
|
||||||
|
vec2 __get_random_unit_vec2(inout uint seed) {
|
||||||
|
return normalize(vec2(__rand_from_seed_m1_p1(seed), __rand_from_seed_m1_p1(seed)));
|
||||||
|
}
|
||||||
|
|
||||||
|
vec3 __get_random_unit_vec3(inout uint seed) {
|
||||||
|
return normalize(vec3(__rand_from_seed_m1_p1(seed), __rand_from_seed_m1_p1(seed), __rand_from_seed_m1_p1(seed)));
|
||||||
|
}
|
||||||
|
|
||||||
|
void start() {
|
||||||
|
uint __seed = __hash(NUMBER + uint(1) + RANDOM_SEED);
|
||||||
|
|
||||||
|
{
|
||||||
|
// StartOutput:0
|
||||||
|
if (RESTART_POSITION) {
|
||||||
|
TRANSFORM = mat4(vec4(1.0, 0.0, 0.0, 0.0), vec4(0.0, 1.0, 0.0, 0.0), vec4(0.0, 0.0, 1.0, 0.0), vec4(0.0, 0.0, 0.0, 1.0));
|
||||||
|
if (RESTART_VELOCITY) {
|
||||||
|
VELOCITY = (EMISSION_TRANSFORM * vec4(VELOCITY, 0.0)).xyz;
|
||||||
|
}
|
||||||
|
TRANSFORM = EMISSION_TRANSFORM * TRANSFORM;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
"
|
||||||
|
mode = 2
|
||||||
|
flags/collision_use_scale = false
|
||||||
|
flags/disable_force = false
|
||||||
|
flags/disable_velocity = false
|
||||||
|
flags/keep_data = false
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
[resource]
|
[resource]
|
||||||
render_priority = 0
|
render_priority = 0
|
||||||
shader = ExtResource("1_h2vjs")
|
shader = ExtResource("1_h2vjs")
|
||||||
shader_parameter/albedo = Color(4.415934, 0.34431335, 0, 1)
|
shader_parameter/albedo = Color(4.415934, 0.34431335, 0, 0)
|
||||||
shader_parameter/fresnelScale = 2.2365
|
shader_parameter/fresnelScale = 2.2365
|
||||||
shader_parameter/fresnelPower = 2.4445
|
shader_parameter/fresnelPower = 2.4445
|
||||||
shader_parameter/normalGrowth = 0.0645
|
shader_parameter/normalGrowth = 0.0645
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,81 @@
|
||||||
|
[gd_resource type="VisualShader" load_steps=6 format=3 uid="uid://cxwafbh5cggf5"]
|
||||||
|
|
||||||
|
[sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_7jcgd"]
|
||||||
|
output_port_for_preview = 0
|
||||||
|
source = 5
|
||||||
|
|
||||||
|
[sub_resource type="VisualShaderNodeTexture2DParameter" id="VisualShaderNodeTexture2DParameter_drvvi"]
|
||||||
|
parameter_name = "tex"
|
||||||
|
texture_type = 1
|
||||||
|
texture_filter = 6
|
||||||
|
texture_repeat = 1
|
||||||
|
|
||||||
|
[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_ifvwk"]
|
||||||
|
input_name = "uv"
|
||||||
|
|
||||||
|
[sub_resource type="VisualShaderNodeExpression" id="VisualShaderNodeExpression_7jcgd"]
|
||||||
|
size = Vector2(340, 320)
|
||||||
|
expression = "output0 = vec3( input0 );"
|
||||||
|
|
||||||
|
[sub_resource type="VisualShaderNodeBillboard" id="VisualShaderNodeBillboard_52rgd"]
|
||||||
|
keep_scale = true
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
code = "shader_type spatial;
|
||||||
|
render_mode blend_add, depth_draw_never, depth_test_default, cull_back, diffuse_lambert, specular_schlick_ggx, unshaded, fog_disabled;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void vertex() {
|
||||||
|
mat4 n_out2p0;
|
||||||
|
// GetBillboardMatrix:2
|
||||||
|
{
|
||||||
|
mat4 __mvm = VIEW_MATRIX * mat4(INV_VIEW_MATRIX[0], INV_VIEW_MATRIX[1], INV_VIEW_MATRIX[2], MODEL_MATRIX[3]);
|
||||||
|
__mvm = __mvm * mat4(vec4(length(MODEL_MATRIX[0].xyz), 0.0, 0.0, 0.0), vec4(0.0, length(MODEL_MATRIX[1].xyz), 0.0, 0.0), vec4(0.0, 0.0, length(MODEL_MATRIX[2].xyz), 0.0), vec4(0.0, 0.0, 0.0, 1.0));
|
||||||
|
n_out2p0 = __mvm;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Output:0
|
||||||
|
MODELVIEW_MATRIX = n_out2p0;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void fragment() {
|
||||||
|
vec3 n_out6p0;
|
||||||
|
// Expression:6
|
||||||
|
n_out6p0 = vec3(0.0, 0.0, 0.0);
|
||||||
|
{
|
||||||
|
n_out6p0 = vec3( );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Output:0
|
||||||
|
ALBEDO = n_out6p0;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
"
|
||||||
|
modes/blend = 1
|
||||||
|
modes/depth_draw = 2
|
||||||
|
flags/unshaded = true
|
||||||
|
flags/fog_disabled = true
|
||||||
|
nodes/vertex/0/position = Vector2(240, 0)
|
||||||
|
nodes/vertex/2/node = SubResource("VisualShaderNodeBillboard_52rgd")
|
||||||
|
nodes/vertex/2/position = Vector2(-240, 140)
|
||||||
|
nodes/vertex/connections = PackedInt32Array(2, 0, 0, 10)
|
||||||
|
nodes/fragment/2/node = SubResource("VisualShaderNodeTexture_7jcgd")
|
||||||
|
nodes/fragment/2/position = Vector2(-320, 120)
|
||||||
|
nodes/fragment/4/node = SubResource("VisualShaderNodeTexture2DParameter_drvvi")
|
||||||
|
nodes/fragment/4/position = Vector2(-1060, 280)
|
||||||
|
nodes/fragment/5/node = SubResource("VisualShaderNodeInput_ifvwk")
|
||||||
|
nodes/fragment/5/position = Vector2(-800, 80)
|
||||||
|
nodes/fragment/6/node = SubResource("VisualShaderNodeExpression_7jcgd")
|
||||||
|
nodes/fragment/6/position = Vector2(-360, 560)
|
||||||
|
nodes/fragment/6/size = Vector2(340, 320)
|
||||||
|
nodes/fragment/6/input_ports = "0,0,input0;"
|
||||||
|
nodes/fragment/6/output_ports = "0,4,output0;"
|
||||||
|
nodes/fragment/6/expression = "output0 = vec3( input0 );"
|
||||||
|
nodes/fragment/connections = PackedInt32Array(4, 0, 2, 2, 5, 0, 2, 0, 6, 0, 0, 0)
|
||||||
|
|
@ -1 +1 @@
|
||||||
Subproject commit ebc2d0dcae3152106b866b1651c78aa34268d044
|
Subproject commit e27d2e9ef1f811ec64dfbf3b97ae3996416ee7d6
|
||||||
Loading…
Reference in New Issue