Compare commits
17 Commits
polish8
...
b2d2cca36d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b2d2cca36d | ||
|
|
4d169b3a2d | ||
| 952058b0e0 | |||
| 475749c4df | |||
|
|
4b46448f74 | ||
| 086167a5a6 | |||
|
|
0d49071724 | ||
| 885bac9a4a | |||
| 496a271946 | |||
| d0d052f65b | |||
| 67a99051bd | |||
| fb848a9848 | |||
| bc30a169dc | |||
| f5576959b7 | |||
| b8ab8f4971 | |||
| 22653d62bc | |||
| 6a2a2d2e8a |
Binary file not shown.
@@ -5,6 +5,28 @@
|
||||
[ext_resource type="PackedScene" uid="uid://4y4tffc723lg" path="res://core/ai/agents/fox/Fox_rig.fbx" id="2_xaafp"]
|
||||
[ext_resource type="Script" uid="uid://bngfthvt04ivv" path="res://core/ai/framework/patrol_state.gd" id="3_d1sp2"]
|
||||
[ext_resource type="Script" uid="uid://b5y4u0itec8g1" path="res://core/ai/framework/run_state.gd" id="4_d1sp2"]
|
||||
[ext_resource type="Shader" uid="uid://d0ch5ofrgf7y6" path="res://core/daynight/trunk_shader.gdshader" id="6_oqxvo"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_4pdxi"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("6_oqxvo")
|
||||
shader_parameter/albedo_color = Color(0.5408599, 0.27705142, 0.12841594, 1)
|
||||
shader_parameter/use_texture = true
|
||||
shader_parameter/uv_scale = Vector2(3, 3)
|
||||
shader_parameter/palette_shift_y = 0.0
|
||||
shader_parameter/gradient_start_y = 0.0
|
||||
shader_parameter/gradient_end_y = 1.5
|
||||
shader_parameter/light_steps = 3.0
|
||||
shader_parameter/step_softness = 0.1
|
||||
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
|
||||
shader_parameter/shadow_offset = 0.0
|
||||
shader_parameter/cast_shadow_strength = 0.6
|
||||
shader_parameter/use_ghibli_glint = true
|
||||
shader_parameter/glint_color = Color(1, 0.95, 0.85, 1)
|
||||
shader_parameter/glint_intensity = 1.0
|
||||
shader_parameter/glint_sharpness = 32.0
|
||||
shader_parameter/emission_color = Color(0, 0, 0, 1)
|
||||
shader_parameter/emission_energy = 0.0
|
||||
|
||||
[node name="AiFox" unique_id=1228675528 node_paths=PackedStringArray("anim_player") instance=ExtResource("1_m3efo")]
|
||||
navigation_layers = 4
|
||||
@@ -61,4 +83,7 @@ bones/26/rotation = Quaternion(-3.3980676e-05, -0.00016874354, 0.9618461, -0.273
|
||||
bones/27/rotation = Quaternion(-1.9324155e-08, 4.5031282e-08, -0.47071794, 0.8822838)
|
||||
bones/28/rotation = Quaternion(4.549153e-05, -8.8271285e-05, 0.5290293, 0.84860367)
|
||||
|
||||
[node name="fox" parent="Fox_rig/Rig_Fox/Skeleton3D" index="0" unique_id=2042924802]
|
||||
surface_material_override/1 = SubResource("ShaderMaterial_4pdxi")
|
||||
|
||||
[editable path="Fox_rig"]
|
||||
|
||||
@@ -4,6 +4,50 @@
|
||||
[ext_resource type="PackedScene" uid="uid://cumnmnbdjbgas" path="res://core/ai/agents/goat/Goat_rig.fbx" id="2_oxwbf"]
|
||||
[ext_resource type="Script" uid="uid://d3hy70ec8vqo5" path="res://core/ai/framework/run_animation_state.gd" id="2_ucoix"]
|
||||
[ext_resource type="Script" uid="uid://bngfthvt04ivv" path="res://core/ai/framework/patrol_state.gd" id="3_lqqd8"]
|
||||
[ext_resource type="Shader" uid="uid://d0ch5ofrgf7y6" path="res://core/daynight/trunk_shader.gdshader" id="5_lqqd8"]
|
||||
[ext_resource type="Material" uid="uid://cn20mp8ep3yxu" path="res://tgcc/chunk/material/wires.tres" id="6_xcxu7"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_xcxu7"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("5_lqqd8")
|
||||
shader_parameter/albedo_color = Color(0.46774077, 0.51844496, 0.510305, 1)
|
||||
shader_parameter/use_texture = true
|
||||
shader_parameter/uv_scale = Vector2(3, 3)
|
||||
shader_parameter/palette_shift_y = 0.0
|
||||
shader_parameter/gradient_start_y = 0.0
|
||||
shader_parameter/gradient_end_y = 1.5
|
||||
shader_parameter/light_steps = 3.0
|
||||
shader_parameter/step_softness = 0.1
|
||||
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
|
||||
shader_parameter/shadow_offset = 0.0
|
||||
shader_parameter/cast_shadow_strength = 0.6
|
||||
shader_parameter/use_ghibli_glint = true
|
||||
shader_parameter/glint_color = Color(1, 0.95, 0.85, 1)
|
||||
shader_parameter/glint_intensity = 1.0
|
||||
shader_parameter/glint_sharpness = 32.0
|
||||
shader_parameter/emission_color = Color(0, 0, 0, 1)
|
||||
shader_parameter/emission_energy = 0.0
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_lqqd8"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("5_lqqd8")
|
||||
shader_parameter/albedo_color = Color(0.49370736, 0.43829006, 0.29924837, 1)
|
||||
shader_parameter/use_texture = true
|
||||
shader_parameter/uv_scale = Vector2(3, 3)
|
||||
shader_parameter/palette_shift_y = 0.0
|
||||
shader_parameter/gradient_start_y = 0.0
|
||||
shader_parameter/gradient_end_y = 1.5
|
||||
shader_parameter/light_steps = 3.0
|
||||
shader_parameter/step_softness = 0.1
|
||||
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
|
||||
shader_parameter/shadow_offset = 0.0
|
||||
shader_parameter/cast_shadow_strength = 0.6
|
||||
shader_parameter/use_ghibli_glint = true
|
||||
shader_parameter/glint_color = Color(1, 0.95, 0.85, 1)
|
||||
shader_parameter/glint_intensity = 1.0
|
||||
shader_parameter/glint_sharpness = 32.0
|
||||
shader_parameter/emission_color = Color(0, 0, 0, 1)
|
||||
shader_parameter/emission_energy = 0.0
|
||||
|
||||
[node name="AiGoat" unique_id=1228675528 node_paths=PackedStringArray("anim_player") instance=ExtResource("1_f7hhh")]
|
||||
anim_player = NodePath("Goat_rig/AnimationPlayer")
|
||||
@@ -28,7 +72,7 @@ exit_on_action_finished = true
|
||||
|
||||
[node name="Goat_rig" parent="." index="3" unique_id=1336829719 instance=ExtResource("2_oxwbf")]
|
||||
|
||||
[node name="Skeleton3D" parent="Goat_rig/Rig_Goat" parent_id_path=PackedInt32Array(1336829719, 123281310) index="0" unique_id=1526518923]
|
||||
[node name="Skeleton3D" parent="Goat_rig/Rig_Goat" parent_id_path=PackedInt32Array(1336829719, 1679574624) index="0" unique_id=1406072579]
|
||||
bones/1/position = Vector3(-8.352713e-09, 0.36986786, 0.8951362)
|
||||
bones/1/rotation = Quaternion(0.1276911, -0.695482, -0.12769035, 0.69548184)
|
||||
bones/2/rotation = Quaternion(-8.7811394e-08, -9.458198e-08, -0.5904155, 0.80709946)
|
||||
@@ -51,4 +95,10 @@ bones/26/rotation = Quaternion(2.713829e-07, 8.5825764e-07, 0.9653876, -0.260819
|
||||
bones/27/rotation = Quaternion(-3.8362674e-07, 5.6200027e-09, -0.3680436, 0.92980856)
|
||||
bones/28/rotation = Quaternion(-0.00015313082, -7.842175e-05, 0.45790914, 0.888999)
|
||||
|
||||
[node name="Goat" parent="Goat_rig/Rig_Goat/Skeleton3D" index="0" unique_id=1545212389]
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_xcxu7")
|
||||
surface_material_override/1 = SubResource("ShaderMaterial_lqqd8")
|
||||
surface_material_override/2 = ExtResource("6_xcxu7")
|
||||
surface_material_override/3 = ExtResource("6_xcxu7")
|
||||
|
||||
[editable path="Goat_rig"]
|
||||
|
||||
Binary file not shown.
@@ -3,6 +3,31 @@
|
||||
[ext_resource type="PackedScene" uid="uid://mvh2v6v72stt" path="res://core/ai/agents/human/ai_human.tscn" id="1_l2y7m"]
|
||||
[ext_resource type="Script" uid="uid://bngfthvt04ivv" path="res://core/ai/framework/patrol_state.gd" id="3_2oda6"]
|
||||
[ext_resource type="Script" uid="uid://d3hy70ec8vqo5" path="res://core/ai/framework/run_animation_state.gd" id="4_2oda6"]
|
||||
[ext_resource type="Shader" uid="uid://d0ch5ofrgf7y6" path="res://core/daynight/trunk_shader.gdshader" id="6_ejkex"]
|
||||
[ext_resource type="Texture2D" uid="uid://jn4seoee6vtw" path="res://tgcc/chunk/prop/house/main_texture.png" id="7_ax7ee"]
|
||||
[ext_resource type="Material" uid="uid://b2lg2y1k7grmo" path="res://tgcc/chunk/prop/tree/trunk.tres" id="9_gownw"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_gownw"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("6_ejkex")
|
||||
shader_parameter/albedo_color = Color(1, 1, 1, 1)
|
||||
shader_parameter/albedo_texture = ExtResource("7_ax7ee")
|
||||
shader_parameter/use_texture = true
|
||||
shader_parameter/uv_scale = Vector2(1, 1)
|
||||
shader_parameter/palette_shift_y = 0.0
|
||||
shader_parameter/gradient_start_y = 0.0
|
||||
shader_parameter/gradient_end_y = 10.0
|
||||
shader_parameter/light_steps = 3.0
|
||||
shader_parameter/step_softness = 0.1
|
||||
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
|
||||
shader_parameter/shadow_offset = 0.0
|
||||
shader_parameter/cast_shadow_strength = 0.6
|
||||
shader_parameter/use_ghibli_glint = true
|
||||
shader_parameter/glint_color = Color(1, 0.95, 0.85, 1)
|
||||
shader_parameter/glint_intensity = 0.446000021185
|
||||
shader_parameter/glint_sharpness = 7.000000285
|
||||
shader_parameter/emission_color = Color(0, 0, 0, 1)
|
||||
shader_parameter/emission_energy = 0.0
|
||||
|
||||
[node name="AiFarmer" unique_id=1228675528 instance=ExtResource("1_l2y7m")]
|
||||
navigation_layers = 2
|
||||
@@ -71,4 +96,27 @@ bones/53/rotation = Quaternion(-0.25056988, -0.06629382, 0.018621337, 0.96564656
|
||||
bones/54/rotation = Quaternion(0.549743, -0.041815143, -0.046032935, 0.83301574)
|
||||
bones/55/rotation = Quaternion(0.3627838, -0.05369254, 0.01255593, 0.9302406)
|
||||
|
||||
[node name="hat_001" parent="Farmer1/BaseMesh/Skeleton3D" parent_id_path=PackedInt32Array(925374995, 224377346) index="1" unique_id=1950307793]
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_gownw")
|
||||
|
||||
[node name="pants" parent="Farmer1/BaseMesh/Skeleton3D" parent_id_path=PackedInt32Array(925374995, 224377346) index="2" unique_id=1080342530]
|
||||
surface_material_override/0 = ExtResource("9_gownw")
|
||||
|
||||
[node name="shirt2" parent="Farmer1/BaseMesh/Skeleton3D" parent_id_path=PackedInt32Array(925374995, 224377346) index="3" unique_id=1846653994]
|
||||
surface_material_override/0 = ExtResource("9_gownw")
|
||||
surface_material_override/1 = ExtResource("9_gownw")
|
||||
surface_material_override/2 = ExtResource("9_gownw")
|
||||
|
||||
[node name="pants" parent="Farmer2/BaseMesh/Skeleton3D" parent_id_path=PackedInt32Array(1239853450, 1824387143) index="1" unique_id=1777820543]
|
||||
surface_material_override/0 = ExtResource("9_gownw")
|
||||
|
||||
[node name="shirt1" parent="Farmer2/BaseMesh/Skeleton3D" parent_id_path=PackedInt32Array(1239853450, 1824387143) index="2" unique_id=1243989703]
|
||||
surface_material_override/0 = ExtResource("9_gownw")
|
||||
surface_material_override/1 = ExtResource("9_gownw")
|
||||
|
||||
[node name="DressHuman" parent="." index="6" unique_id=107727715]
|
||||
colors = Array[Color]([Color(0.8, 0.45490196, 0.32156864, 1), Color(0.84797, 0.6868576, 0.24382448, 1), Color(0.4862745, 0.60784316, 0.6901961, 1), Color(0.24718326, 0.3552445, 0.23638204, 1), Color(0.34000763, 0.32978323, 0.29223797, 1)])
|
||||
|
||||
[editable path="BaseMesh"]
|
||||
[editable path="Farmer1"]
|
||||
[editable path="Farmer2"]
|
||||
|
||||
@@ -7,8 +7,13 @@
|
||||
[ext_resource type="Animation" uid="uid://oq22ilhxjejj" path="res://core/ai/agents/human/idle.res" id="4_cuxdk"]
|
||||
[ext_resource type="Animation" uid="uid://6xnsf8x7nmsl" path="res://core/ai/agents/human/walking.res" id="6_cuxdk"]
|
||||
[ext_resource type="PackedScene" uid="uid://b3j2dbcqwodx1" path="res://core/ai/agents/human/Farmer1.fbx" id="7_hguxe"]
|
||||
[ext_resource type="Material" uid="uid://blqelpjvdv23j" path="res://tgcc/chunk/material/grassflat_chunk.tres" id="8_362f3"]
|
||||
[ext_resource type="PackedScene" uid="uid://c5x3ycaxixpxy" path="res://core/ai/agents/human/Farmer2.fbx" id="8_ke7sb"]
|
||||
[ext_resource type="Script" uid="uid://dauqq8cqmwrqh" path="res://core/ai/agents/human/dress_human.gd" id="9_2tpdi"]
|
||||
[ext_resource type="Material" uid="uid://b4luvp3fi0p43" path="res://tgcc/chunk/material/railway_chunk.tres" id="9_12auf"]
|
||||
[ext_resource type="Shader" uid="uid://d0ch5ofrgf7y6" path="res://core/daynight/trunk_shader.gdshader" id="10_3t1a4"]
|
||||
[ext_resource type="Texture2D" uid="uid://jn4seoee6vtw" path="res://tgcc/chunk/prop/house/main_texture.png" id="11_o6vi4"]
|
||||
[ext_resource type="Material" uid="uid://wkegx4a21x7u" path="res://tgcc/chunk/prop/fence/fences.tres" id="11_v2pkc"]
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_8kg0q"]
|
||||
_data = {
|
||||
@@ -18,6 +23,28 @@ _data = {
|
||||
&"walking": ExtResource("6_cuxdk")
|
||||
}
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_vuqrb"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("10_3t1a4")
|
||||
shader_parameter/albedo_color = Color(1, 1, 1, 1)
|
||||
shader_parameter/albedo_texture = ExtResource("11_o6vi4")
|
||||
shader_parameter/use_texture = true
|
||||
shader_parameter/uv_scale = Vector2(1, 1)
|
||||
shader_parameter/palette_shift_y = 0.0
|
||||
shader_parameter/gradient_start_y = 0.0
|
||||
shader_parameter/gradient_end_y = 10.0
|
||||
shader_parameter/light_steps = 3.0
|
||||
shader_parameter/step_softness = 0.1
|
||||
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
|
||||
shader_parameter/shadow_offset = 0.0
|
||||
shader_parameter/cast_shadow_strength = 0.6
|
||||
shader_parameter/use_ghibli_glint = false
|
||||
shader_parameter/glint_color = Color(1, 0.95, 0.85, 1)
|
||||
shader_parameter/glint_intensity = 2.000000095
|
||||
shader_parameter/glint_sharpness = 7.000000285
|
||||
shader_parameter/emission_color = Color(0, 0, 0, 1)
|
||||
shader_parameter/emission_energy = 0.0
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ke7sb"]
|
||||
_data = {
|
||||
&"gathering": ExtResource("3_8kg0q"),
|
||||
@@ -26,6 +53,28 @@ _data = {
|
||||
&"walking": ExtResource("6_cuxdk")
|
||||
}
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_v2pkc"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("10_3t1a4")
|
||||
shader_parameter/albedo_color = Color(1, 1, 1, 1)
|
||||
shader_parameter/albedo_texture = ExtResource("11_o6vi4")
|
||||
shader_parameter/use_texture = true
|
||||
shader_parameter/uv_scale = Vector2(1, 1)
|
||||
shader_parameter/palette_shift_y = 0.0
|
||||
shader_parameter/gradient_start_y = 0.0
|
||||
shader_parameter/gradient_end_y = 10.0
|
||||
shader_parameter/light_steps = 3.0
|
||||
shader_parameter/step_softness = 0.1
|
||||
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
|
||||
shader_parameter/shadow_offset = 0.0
|
||||
shader_parameter/cast_shadow_strength = 0.6
|
||||
shader_parameter/use_ghibli_glint = false
|
||||
shader_parameter/glint_color = Color(1, 0.95, 0.85, 1)
|
||||
shader_parameter/glint_intensity = 2.000000095
|
||||
shader_parameter/glint_sharpness = 7.000000285
|
||||
shader_parameter/emission_color = Color(0, 0, 0, 1)
|
||||
shader_parameter/emission_energy = 0.0
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_2tpdi"]
|
||||
_data = {
|
||||
&"gathering": ExtResource("3_8kg0q"),
|
||||
@@ -40,7 +89,7 @@ anim_player = NodePath("BaseMesh/AnimationPlayer")
|
||||
[node name="BaseMesh" parent="." index="3" unique_id=1846171523 instance=ExtResource("3_ef4cu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.9, 0)
|
||||
|
||||
[node name="Skeleton3D" parent="BaseMesh/BaseMesh" parent_id_path=PackedInt32Array(1846171523, 2032005240) index="0" unique_id=1876883359]
|
||||
[node name="Skeleton3D" parent="BaseMesh/BaseMesh" parent_id_path=PackedInt32Array(1846171523, 1363988051) index="0" unique_id=1848874512]
|
||||
bones/0/position = Vector3(-0.0024333135, 0.9952637, 6.9276895e-05)
|
||||
bones/0/rotation = Quaternion(-0.0049152793, -0.050206795, -0.026513178, 0.99837476)
|
||||
bones/1/rotation = Quaternion(-0.025209453, 0.006135946, 0.009180705, 0.9996213)
|
||||
@@ -83,14 +132,14 @@ bones/53/rotation = Quaternion(-0.10502596, -0.00032293255, 0.008123855, 0.99443
|
||||
bones/54/rotation = Quaternion(0.51151097, 0.066536464, -0.07767137, 0.8531686)
|
||||
bones/55/rotation = Quaternion(0.3453064, -0.067497015, 0.02391528, 0.93575406)
|
||||
|
||||
[node name="AnimationPlayer" parent="BaseMesh" index="1" unique_id=226905852]
|
||||
[node name="AnimationPlayer" parent="BaseMesh" index="1" unique_id=930749540]
|
||||
libraries/custom = SubResource("AnimationLibrary_8kg0q")
|
||||
|
||||
[node name="Farmer1" parent="." index="4" unique_id=925374995 instance=ExtResource("7_hguxe")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.9, 0)
|
||||
visible = false
|
||||
|
||||
[node name="Skeleton3D" parent="Farmer1/BaseMesh" parent_id_path=PackedInt32Array(925374995, 35893719) index="0" unique_id=264693097]
|
||||
[node name="Skeleton3D" parent="Farmer1/BaseMesh" parent_id_path=PackedInt32Array(925374995, 1608049295) index="0" unique_id=224377346]
|
||||
bones/0/position = Vector3(0.00060560287, 0.9719096, 0.007789615)
|
||||
bones/0/rotation = Quaternion(-0.03158553, -0.024531638, -0.086598895, 0.9954402)
|
||||
bones/1/rotation = Quaternion(-0.068302006, -0.011589706, 0.088431515, 0.99367017)
|
||||
@@ -133,14 +182,31 @@ bones/53/rotation = Quaternion(-0.20515193, 0.049833227, 0.0071537, 0.9774345)
|
||||
bones/54/rotation = Quaternion(0.55275166, -0.049315806, -0.007871797, 0.8318483)
|
||||
bones/55/rotation = Quaternion(0.326561, -0.058840513, 0.019667907, 0.9431378)
|
||||
|
||||
[node name="AnimationPlayer" parent="Farmer1" index="1" unique_id=1795570086]
|
||||
[node name="Cesto" parent="Farmer1/BaseMesh/Skeleton3D" index="0" unique_id=1473592366]
|
||||
surface_material_override/0 = ExtResource("8_362f3")
|
||||
surface_material_override/1 = ExtResource("9_12auf")
|
||||
surface_material_override/2 = ExtResource("9_12auf")
|
||||
|
||||
[node name="hat_001" parent="Farmer1/BaseMesh/Skeleton3D" index="1" unique_id=1950307793]
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_vuqrb")
|
||||
surface_material_override/1 = ExtResource("11_v2pkc")
|
||||
|
||||
[node name="pants" parent="Farmer1/BaseMesh/Skeleton3D" index="2" unique_id=1080342530]
|
||||
surface_material_override/0 = ExtResource("11_v2pkc")
|
||||
|
||||
[node name="shirt2" parent="Farmer1/BaseMesh/Skeleton3D" index="3" unique_id=1846653994]
|
||||
surface_material_override/0 = ExtResource("11_v2pkc")
|
||||
surface_material_override/1 = ExtResource("11_v2pkc")
|
||||
surface_material_override/2 = ExtResource("11_v2pkc")
|
||||
|
||||
[node name="AnimationPlayer" parent="Farmer1" index="1" unique_id=2137081705]
|
||||
libraries/custom = SubResource("AnimationLibrary_ke7sb")
|
||||
|
||||
[node name="Farmer2" parent="." index="5" unique_id=1239853450 instance=ExtResource("8_ke7sb")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.9, 0)
|
||||
visible = false
|
||||
|
||||
[node name="Skeleton3D" parent="Farmer2/BaseMesh" parent_id_path=PackedInt32Array(1239853450, 2123768022) index="0" unique_id=1560566445]
|
||||
[node name="Skeleton3D" parent="Farmer2/BaseMesh" parent_id_path=PackedInt32Array(1239853450, 2068119799) index="0" unique_id=1824387143]
|
||||
bones/0/position = Vector3(0.00060560287, 0.9719096, 0.007789615)
|
||||
bones/0/rotation = Quaternion(-0.03158553, -0.024531638, -0.086598895, 0.9954402)
|
||||
bones/1/rotation = Quaternion(-0.068302006, -0.011589706, 0.088431515, 0.99367017)
|
||||
@@ -183,13 +249,24 @@ bones/53/rotation = Quaternion(-0.20515193, 0.049833227, 0.0071537, 0.9774345)
|
||||
bones/54/rotation = Quaternion(0.55275166, -0.049315806, -0.007871797, 0.8318483)
|
||||
bones/55/rotation = Quaternion(0.326561, -0.058840513, 0.019667907, 0.9431378)
|
||||
|
||||
[node name="AnimationPlayer" parent="Farmer2" index="1" unique_id=916643412]
|
||||
[node name="hat_001" parent="Farmer2/BaseMesh/Skeleton3D" index="0" unique_id=1838787788]
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_v2pkc")
|
||||
surface_material_override/1 = ExtResource("11_v2pkc")
|
||||
|
||||
[node name="pants" parent="Farmer2/BaseMesh/Skeleton3D" index="1" unique_id=1777820543]
|
||||
surface_material_override/0 = ExtResource("11_v2pkc")
|
||||
|
||||
[node name="shirt1" parent="Farmer2/BaseMesh/Skeleton3D" index="2" unique_id=1243989703]
|
||||
surface_material_override/0 = ExtResource("11_v2pkc")
|
||||
surface_material_override/1 = ExtResource("11_v2pkc")
|
||||
|
||||
[node name="AnimationPlayer" parent="Farmer2" index="1" unique_id=995025267]
|
||||
libraries/custom = SubResource("AnimationLibrary_2tpdi")
|
||||
|
||||
[node name="DressHuman" type="Node3D" parent="." index="6" unique_id=107727715 node_paths=PackedStringArray("farmers", "main_anim_player")]
|
||||
script = ExtResource("9_2tpdi")
|
||||
farmers = [NodePath("../Farmer1"), NodePath("../Farmer2")]
|
||||
colors = Array[Color]([Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(1, 0, 0, 1), Color(0, 1, 0, 1), Color(0, 0, 1, 1)])
|
||||
colors = Array[Color]([Color(0.4089676, 0.23789883, 0.083061926, 1), Color(0.4862745, 0.60784316, 0.6901961, 1), Color(0.3529412, 0.41960785, 0.32941177, 1), Color(0.31533447, 0.3330399, 0.29725653, 1)])
|
||||
main_anim_player = NodePath("../BaseMesh/AnimationPlayer")
|
||||
|
||||
[editable path="BaseMesh"]
|
||||
|
||||
@@ -4,6 +4,71 @@
|
||||
[ext_resource type="Script" uid="uid://d3hy70ec8vqo5" path="res://core/ai/framework/run_animation_state.gd" id="2_euyvm"]
|
||||
[ext_resource type="PackedScene" uid="uid://dg6eq5bjdv77x" path="res://core/ai/agents/wagyu/Wagyu_rig.fbx" id="2_kinfw"]
|
||||
[ext_resource type="Script" uid="uid://bngfthvt04ivv" path="res://core/ai/framework/patrol_state.gd" id="3_stslt"]
|
||||
[ext_resource type="Shader" uid="uid://d0ch5ofrgf7y6" path="res://core/daynight/trunk_shader.gdshader" id="5_stslt"]
|
||||
[ext_resource type="Material" uid="uid://cn20mp8ep3yxu" path="res://tgcc/chunk/material/wires.tres" id="7_qxgon"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_jndo6"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("5_stslt")
|
||||
shader_parameter/albedo_color = Color(0.3003036, 0.13408488, 0.037156556, 1)
|
||||
shader_parameter/use_texture = true
|
||||
shader_parameter/uv_scale = Vector2(3, 3)
|
||||
shader_parameter/palette_shift_y = 0.0
|
||||
shader_parameter/gradient_start_y = 0.0
|
||||
shader_parameter/gradient_end_y = 1.5
|
||||
shader_parameter/light_steps = 3.0
|
||||
shader_parameter/step_softness = 0.1
|
||||
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
|
||||
shader_parameter/shadow_offset = 0.0
|
||||
shader_parameter/cast_shadow_strength = 0.6
|
||||
shader_parameter/use_ghibli_glint = true
|
||||
shader_parameter/glint_color = Color(1, 0.95, 0.85, 1)
|
||||
shader_parameter/glint_intensity = 1.0
|
||||
shader_parameter/glint_sharpness = 32.0
|
||||
shader_parameter/emission_color = Color(0, 0, 0, 1)
|
||||
shader_parameter/emission_energy = 0.0
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ffprj"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("5_stslt")
|
||||
shader_parameter/albedo_color = Color(0.8936267, 0.48305064, 0.25341055, 1)
|
||||
shader_parameter/use_texture = true
|
||||
shader_parameter/uv_scale = Vector2(3, 3)
|
||||
shader_parameter/palette_shift_y = 0.0
|
||||
shader_parameter/gradient_start_y = 0.0
|
||||
shader_parameter/gradient_end_y = 1.5
|
||||
shader_parameter/light_steps = 3.0
|
||||
shader_parameter/step_softness = 0.1
|
||||
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
|
||||
shader_parameter/shadow_offset = 0.0
|
||||
shader_parameter/cast_shadow_strength = 0.6
|
||||
shader_parameter/use_ghibli_glint = true
|
||||
shader_parameter/glint_color = Color(1, 0.95, 0.85, 1)
|
||||
shader_parameter/glint_intensity = 1.0
|
||||
shader_parameter/glint_sharpness = 32.0
|
||||
shader_parameter/emission_color = Color(0, 0, 0, 1)
|
||||
shader_parameter/emission_energy = 0.0
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_4po7g"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("5_stslt")
|
||||
shader_parameter/albedo_color = Color(0.91262335, 0.6514041, 0.37075257, 1)
|
||||
shader_parameter/use_texture = true
|
||||
shader_parameter/uv_scale = Vector2(3, 3)
|
||||
shader_parameter/palette_shift_y = 0.0
|
||||
shader_parameter/gradient_start_y = 0.0
|
||||
shader_parameter/gradient_end_y = 1.5
|
||||
shader_parameter/light_steps = 3.0
|
||||
shader_parameter/step_softness = 0.1
|
||||
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
|
||||
shader_parameter/shadow_offset = 0.0
|
||||
shader_parameter/cast_shadow_strength = 0.6
|
||||
shader_parameter/use_ghibli_glint = true
|
||||
shader_parameter/glint_color = Color(1, 0.95, 0.85, 1)
|
||||
shader_parameter/glint_intensity = 1.0
|
||||
shader_parameter/glint_sharpness = 32.0
|
||||
shader_parameter/emission_color = Color(0, 0, 0, 1)
|
||||
shader_parameter/emission_energy = 0.0
|
||||
|
||||
[node name="AiWagyu" unique_id=1228675528 node_paths=PackedStringArray("anim_player") instance=ExtResource("1_01jto")]
|
||||
anim_player = NodePath("Wagyu_rig/AnimationPlayer")
|
||||
@@ -28,7 +93,7 @@ exit_on_action_finished = true
|
||||
|
||||
[node name="Wagyu_rig" parent="." index="3" unique_id=434062845 instance=ExtResource("2_kinfw")]
|
||||
|
||||
[node name="Skeleton3D" parent="Wagyu_rig/Rig_wagyu" parent_id_path=PackedInt32Array(434062845, 984050088) index="0" unique_id=1381831503]
|
||||
[node name="Skeleton3D" parent="Wagyu_rig/Rig_wagyu" parent_id_path=PackedInt32Array(434062845, 1389976890) index="0" unique_id=1274413548]
|
||||
bones/1/position = Vector3(3.0605813e-06, 0.93198204, 1.5827273)
|
||||
bones/1/rotation = Quaternion(0.12769, -0.69548225, -0.12769146, 0.6954816)
|
||||
bones/2/rotation = Quaternion(-7.474808e-08, -1.0355375e-07, -0.5904155, 0.80709946)
|
||||
@@ -51,4 +116,10 @@ bones/26/rotation = Quaternion(3.2779312e-07, 1.2327837e-06, 0.9652686, -0.26125
|
||||
bones/27/rotation = Quaternion(-6.191086e-07, -2.305114e-07, -0.36804327, 0.9298087)
|
||||
bones/28/rotation = Quaternion(-0.0001528551, -7.8230434e-05, 0.45790893, 0.8889991)
|
||||
|
||||
[node name="Wagyu" parent="Wagyu_rig/Rig_wagyu/Skeleton3D" index="0" unique_id=2005444162]
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_jndo6")
|
||||
surface_material_override/1 = SubResource("ShaderMaterial_ffprj")
|
||||
surface_material_override/2 = ExtResource("7_qxgon")
|
||||
surface_material_override/3 = SubResource("ShaderMaterial_4po7g")
|
||||
|
||||
[editable path="Wagyu_rig"]
|
||||
|
||||
@@ -86,7 +86,7 @@ const RIVER_NEIGHBOUR_OFFSETS: Dictionary = {
|
||||
##max cells to search around a lamppost chunk
|
||||
@export_range(1, 6, 1) var lamppost_search_radius_cells: int = 3
|
||||
##max allowed distance between lamppost pairs
|
||||
@export var lamppost_max_wire_distance: float = 60.0
|
||||
@export var lamppost_max_wire_distance: float = 35.0
|
||||
##if true wire connections blocked by colliders are discarded
|
||||
@export var lamppost_obstacle_check_enabled: bool = true
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
extends Path3D
|
||||
|
||||
const STEAM_DISTANCE_STAT: String = "stat_distance_km"
|
||||
const STEAM_DISTANCE_KM_PER_UNIT: float = 1#0.001
|
||||
const DISTANCE_KM_PER_UNIT: float = 0.001
|
||||
|
||||
@export_group("Train")
|
||||
##train speed
|
||||
@@ -396,13 +396,13 @@ func _track_steam_distance(distance_units: float) -> void:
|
||||
return
|
||||
|
||||
# Always track the global distance in our save file (for UI and persistency)
|
||||
GameState.save_data.total_distance_km += distance_units * STEAM_DISTANCE_KM_PER_UNIT
|
||||
GameState.save_data.total_distance_km += distance_units * DISTANCE_KM_PER_UNIT
|
||||
|
||||
# Steam specific logic
|
||||
if not SteamManager.is_on_steam:
|
||||
return
|
||||
|
||||
_pending_steam_distance_km += distance_units * STEAM_DISTANCE_KM_PER_UNIT
|
||||
_pending_steam_distance_km += distance_units * DISTANCE_KM_PER_UNIT
|
||||
var whole_km: int = int(floor(_pending_steam_distance_km))
|
||||
if whole_km <= 0:
|
||||
return
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
shader_type spatial;
|
||||
render_mode blend_mix, depth_draw_opaque, cull_disabled;
|
||||
render_mode blend_mix, depth_draw_opaque, cull_disabled, shadows_disabled;
|
||||
|
||||
//Wire color
|
||||
uniform vec4 albedo_color : source_color = vec4(0.1, 0.1, 0.1, 1.0);
|
||||
|
||||
@@ -5,3 +5,4 @@
|
||||
[resource]
|
||||
render_priority = 0
|
||||
shader = ExtResource("1_6saq1")
|
||||
shader_parameter/albedo_color = Color(0.1, 0.1, 0.1, 1)
|
||||
|
||||
@@ -39,6 +39,7 @@ var weather_controller: WeatherController
|
||||
var day_tween: Tween
|
||||
var day_time: float = 0.0
|
||||
var pending_environment_nodes: Dictionary = {}
|
||||
var weather_shader_no_noise: Material
|
||||
|
||||
func _ready() -> void:
|
||||
|
||||
@@ -80,6 +81,9 @@ func _ready() -> void:
|
||||
weather_controller.name = "WeatherController"
|
||||
add_child(weather_controller)
|
||||
|
||||
if day_night_controller != null:
|
||||
select_day_time(day_night_controller.current_time)
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
_process_pending_environment_nodes()
|
||||
|
||||
@@ -136,7 +140,7 @@ func _apply_dynamic_environment_materials(node: Node) -> void:
|
||||
_apply_wind_noise_to_node(node, NOISE_TEXTURE)
|
||||
|
||||
if node.is_in_group("weather_node"):
|
||||
_apply_weather_overlay_to_node(node, WEATHER_SHADER)
|
||||
_apply_weather_overlay_to_node(node, _get_weather_overlay_material(node))
|
||||
|
||||
if _should_clear_weather_overlay(node):
|
||||
_clear_weather_overlay_from_node(node)
|
||||
@@ -162,12 +166,24 @@ func _apply_wind_noise_to_node(node: Node, noise_tex: Texture2D) -> void:
|
||||
|
||||
func ApplyWeatherShaderToMaterials():
|
||||
for node in get_tree().get_nodes_in_group("weather_node"):
|
||||
_apply_weather_overlay_to_node(node, WEATHER_SHADER)
|
||||
_apply_weather_overlay_to_node(node, _get_weather_overlay_material(node))
|
||||
|
||||
for node in get_tree().get_nodes_in_group("weather_vegetables_node"):
|
||||
if _should_clear_weather_overlay(node):
|
||||
_clear_weather_overlay_from_node(node)
|
||||
|
||||
func _get_weather_overlay_material(node: Node) -> Material:
|
||||
if not node.is_in_group("weather_overlay_no_noise"):
|
||||
return WEATHER_SHADER
|
||||
|
||||
if weather_shader_no_noise == null:
|
||||
weather_shader_no_noise = WEATHER_SHADER.duplicate() as Material
|
||||
var shader_material := weather_shader_no_noise as ShaderMaterial
|
||||
if shader_material:
|
||||
shader_material.set_shader_parameter("snow_noise_enabled", false)
|
||||
|
||||
return weather_shader_no_noise
|
||||
|
||||
func _apply_weather_overlay_to_node(node: Node, material: Material) -> void:
|
||||
if _should_clear_weather_overlay(node):
|
||||
_clear_weather_overlay_from_node(node)
|
||||
@@ -215,7 +231,7 @@ func _shader_material_uses_alpha_texture(material: ShaderMaterial) -> bool:
|
||||
return material.shader.code.find("alpha_texture") != -1
|
||||
|
||||
func _should_clear_weather_overlay(node: Node) -> bool:
|
||||
return node.is_in_group("weather_vegetables_node")
|
||||
return node.is_in_group("weather_vegetables_node") or node.is_in_group("weather_overlay_ignore")
|
||||
|
||||
func select_day_time(normalized_time: float) -> void:
|
||||
#set show_day_time_debug = true to show debug on screen
|
||||
|
||||
@@ -53,7 +53,7 @@ var is_storm: bool = false
|
||||
var cold_tween: Tween
|
||||
var wind_tween: Tween
|
||||
var is_windy: bool = false
|
||||
var thereare_fireflies: bool = false
|
||||
var thereare_fireflies: bool = true
|
||||
var current_wind_speed: float = 0.0
|
||||
var current_wind_strength: float = 0.0
|
||||
var current_wind_fade: float = 0.0
|
||||
@@ -128,9 +128,7 @@ func _process(delta: float) -> void:
|
||||
|
||||
_follow_camera()
|
||||
|
||||
var is_night = day_time >= 2.5
|
||||
if particles_fireflies:
|
||||
particles_fireflies.emitting = thereare_fireflies and is_night and not is_raining and not is_snowing and not is_storm
|
||||
_update_fireflies_visibility()
|
||||
|
||||
var base_tint: Color
|
||||
var base_sky_top: Color
|
||||
@@ -197,11 +195,9 @@ func _process(delta: float) -> void:
|
||||
var final_fog_color = base_fog_color.lerp(base_fog_color * weather_color, clamp(rain_intensity, 0.0, 1.0))
|
||||
var final_fog_density = lerp(base_fog_density, base_fog_density * 4.0, clamp(rain_intensity, 0.0, 1.0))
|
||||
var final_water_color = base_water_color.darkened(clamp(environment_config.water_darkening_rain, 0.0, 1.0) * clamp(rain_intensity, 0.0, 1.0))
|
||||
var rain_weather_amount: float = 0.0
|
||||
if is_raining:
|
||||
rain_weather_amount = clamp(rain_intensity, 0.0, 1.0)
|
||||
var rain_weather_amount: float = clamp(rain_intensity, 0.0, 1.0)
|
||||
var storm_weather_amount: float = 0.0
|
||||
if is_raining and is_storm:
|
||||
if is_storm:
|
||||
if environment_config.storm_rain_intensity_multiplier > 1.0:
|
||||
storm_weather_amount = clamp((rain_intensity - 1.0) / (environment_config.storm_rain_intensity_multiplier - 1.0), 0.0, 1.0)
|
||||
else:
|
||||
@@ -389,9 +385,7 @@ func _follow_camera() -> void:
|
||||
|
||||
func toggle_fireflies(value: bool):
|
||||
thereare_fireflies = value
|
||||
var is_night = day_time >= 2.5
|
||||
if particles_fireflies:
|
||||
particles_fireflies.emitting = thereare_fireflies and is_night and not is_raining
|
||||
_update_fireflies_visibility()
|
||||
|
||||
#disable fireflies and set default values and materials
|
||||
func init_fireflies():
|
||||
@@ -402,6 +396,15 @@ func init_fireflies():
|
||||
var proc_mat = particles_fireflies.process_material as ParticleProcessMaterial
|
||||
if proc_mat:
|
||||
proc_mat.emission_box_extents = Vector3(environment_config.fireflies_spawn_ray, environment_config.fireflies_spawn_height, environment_config.fireflies_spawn_ray)
|
||||
_update_fireflies_visibility()
|
||||
|
||||
func _should_show_fireflies() -> bool:
|
||||
var is_night: bool = day_time >= 2.5
|
||||
return thereare_fireflies and is_night and not is_raining and not is_snowing and not is_storm
|
||||
|
||||
func _update_fireflies_visibility() -> void:
|
||||
if particles_fireflies:
|
||||
particles_fireflies.emitting = _should_show_fireflies()
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -410,7 +413,7 @@ func init_fireflies():
|
||||
func toggle_wind(value: bool):
|
||||
is_windy = value
|
||||
if particles_wind:
|
||||
particles_wind.emitting = is_windy
|
||||
particles_wind.emitting = true
|
||||
|
||||
_apply_wind_state()
|
||||
_emit_weather_event_label()
|
||||
@@ -420,7 +423,7 @@ func init_wind():
|
||||
_update_wind_amount_from_strength(environment_config.wind_strength)
|
||||
if particles_wind:
|
||||
particles_wind.visible = true
|
||||
particles_wind.emitting = false
|
||||
particles_wind.emitting = true
|
||||
particles_wind.amount = environment_config.wind_amount
|
||||
var proc_mat_wind = particles_wind.process_material as ParticleProcessMaterial
|
||||
if proc_mat_wind:
|
||||
@@ -451,6 +454,11 @@ func _apply_wind_config() -> void:
|
||||
|
||||
_apply_wind_state(true)
|
||||
|
||||
func _get_target_wind_strength() -> float:
|
||||
if is_windy:
|
||||
return environment_config.wind_boost_strength
|
||||
return environment_config.wind_strength
|
||||
|
||||
func _apply_wind_state(immediate: bool = false) -> void:
|
||||
if environment_config == null:
|
||||
return
|
||||
@@ -458,20 +466,23 @@ func _apply_wind_state(immediate: bool = false) -> void:
|
||||
if wind_tween and wind_tween.is_valid():
|
||||
wind_tween.kill()
|
||||
|
||||
var active_wind_speed := environment_config.wind_speed if is_windy else 0.0
|
||||
var active_wind_strength := environment_config.wind_strength if is_windy else 0.0
|
||||
var active_wind_fade := 1.0 if is_windy else 0.0
|
||||
if particles_wind:
|
||||
particles_wind.emitting = true
|
||||
|
||||
var active_wind_speed := environment_config.wind_speed
|
||||
var active_wind_strength := _get_target_wind_strength()
|
||||
var active_wind_fade := 1.0
|
||||
if immediate:
|
||||
_set_current_wind_speed(active_wind_speed)
|
||||
_set_current_wind_strength(active_wind_strength)
|
||||
_set_current_wind_fade(active_wind_fade)
|
||||
return
|
||||
|
||||
_set_current_wind_speed(environment_config.wind_speed)
|
||||
_set_current_wind_strength(environment_config.wind_strength)
|
||||
_set_current_wind_speed(active_wind_speed)
|
||||
_set_current_wind_fade(active_wind_fade)
|
||||
wind_tween = create_tween()
|
||||
wind_tween.tween_method(_set_current_wind_fade, current_wind_fade, active_wind_fade, environment_config.wind_fade_in_out_time)
|
||||
wind_tween.tween_callback(_finish_wind_fade_out)
|
||||
wind_tween.tween_method(_set_current_wind_strength, current_wind_strength, active_wind_strength, environment_config.wind_fade_in_out_time)
|
||||
wind_tween.tween_callback(_finish_wind_transition)
|
||||
|
||||
func _set_current_wind_speed(value: float) -> void:
|
||||
current_wind_speed = value
|
||||
@@ -481,6 +492,7 @@ func _set_current_wind_speed(value: float) -> void:
|
||||
func _set_current_wind_strength(value: float) -> void:
|
||||
current_wind_strength = value
|
||||
RenderingServer.global_shader_parameter_set("global_wind_strength", value)
|
||||
_set_wind_particles_amount_from_strength(value)
|
||||
_sync_wind_event_state()
|
||||
|
||||
func _set_current_wind_fade(value: float) -> void:
|
||||
@@ -494,13 +506,10 @@ func _sync_wind_event_state() -> void:
|
||||
#used to notify wind_decoration when wind change state
|
||||
wind_parameters_changed.emit(current_wind_speed, current_wind_strength, current_wind_fade, environment_config.wind_direction)
|
||||
|
||||
func _finish_wind_fade_out() -> void:
|
||||
if is_windy:
|
||||
return
|
||||
|
||||
_set_current_wind_speed(0.0)
|
||||
_set_current_wind_strength(0.0)
|
||||
_set_current_wind_fade(0.0)
|
||||
func _finish_wind_transition() -> void:
|
||||
_set_current_wind_speed(environment_config.wind_speed)
|
||||
_set_current_wind_strength(_get_target_wind_strength())
|
||||
_set_current_wind_fade(1.0)
|
||||
|
||||
func change_wind_strength(value: float) -> void:
|
||||
if environment_config == null:
|
||||
@@ -508,10 +517,11 @@ func change_wind_strength(value: float) -> void:
|
||||
|
||||
environment_config.wind_strength = value
|
||||
_update_wind_amount_from_strength(value)
|
||||
if is_windy or current_wind_fade > 0.0:
|
||||
if current_wind_fade > 0.0 and not is_windy:
|
||||
_set_current_wind_strength(value)
|
||||
if particles_wind:
|
||||
particles_wind.amount = environment_config.wind_amount
|
||||
_apply_wind_state()
|
||||
|
||||
func _update_wind_amount_from_strength(value: float) -> void:
|
||||
if environment_config == null:
|
||||
@@ -519,12 +529,22 @@ func _update_wind_amount_from_strength(value: float) -> void:
|
||||
if max_wind_amount <= 0:
|
||||
max_wind_amount = max(environment_config.wind_amount, 1)
|
||||
|
||||
environment_config.wind_amount = _get_wind_particles_amount_from_strength(value)
|
||||
|
||||
func _get_wind_particles_amount_from_strength(value: float) -> int:
|
||||
if max_wind_amount <= 0:
|
||||
max_wind_amount = 1
|
||||
|
||||
var normalized_strength: float = clamp(value, 0.0, 1.0)
|
||||
var amount_ratio: float = normalized_strength
|
||||
if normalized_strength > 0.0 and normalized_strength < 0.3:
|
||||
amount_ratio = lerp(0.08, 0.25, normalized_strength / 0.3)
|
||||
|
||||
environment_config.wind_amount = roundi(max_wind_amount * amount_ratio)
|
||||
return roundi(max_wind_amount * amount_ratio)
|
||||
|
||||
func _set_wind_particles_amount_from_strength(value: float) -> void:
|
||||
if particles_wind:
|
||||
particles_wind.amount = _get_wind_particles_amount_from_strength(value)
|
||||
|
||||
func trigger_random_weather_event(duration: float = 0.0) -> void:
|
||||
if random_weather_restore_tween and random_weather_restore_tween.is_valid():
|
||||
|
||||
@@ -17,6 +17,7 @@ global uniform float global_snow_cap_flatness_end = 0.96;
|
||||
global uniform float global_snow_cap_noise_scale = 0.22;
|
||||
global uniform float global_snow_cap_noise_strength = 0.18;
|
||||
const float SNOW_VISUAL_RESPONSE = 0.55;
|
||||
uniform bool snow_noise_enabled = true;
|
||||
uniform float snow_noise_scale : hint_range(0.01, 1.0) = 0.15;
|
||||
uniform float snow_edge_softness : hint_range(0.01, 0.5) = 0.2;
|
||||
uniform float snow_roughness_variation : hint_range(0.0, 0.3) = 0.15;
|
||||
@@ -92,6 +93,10 @@ float get_visual_snow_progress(float snow_progress) {
|
||||
}
|
||||
|
||||
float get_snow_noise_mask(vec3 world_pos, float snow_progress) {
|
||||
if (!snow_noise_enabled) {
|
||||
return 1.0;
|
||||
}
|
||||
|
||||
float detail_noise = texture(noise_texture, world_pos.xz * snow_noise_scale).r;
|
||||
float broad_noise = texture(noise_texture, world_pos.xz * snow_noise_scale * 0.35 + vec2(19.1, 7.4)).r;
|
||||
float combined_noise = mix(detail_noise, broad_noise, 0.35);
|
||||
@@ -118,7 +123,7 @@ void vertex() {
|
||||
world_normal.y
|
||||
);
|
||||
float accumulation_growth = smoothstep(0.02, 0.45, snow_progress);
|
||||
float cap_noise = fbm(world_pos.xz * global_snow_cap_noise_scale + vec2(11.3, 4.7));
|
||||
float cap_noise = snow_noise_enabled ? fbm(world_pos.xz * global_snow_cap_noise_scale + vec2(11.3, 4.7)) : 0.5;
|
||||
float cap_variation = mix(1.0 - global_snow_cap_noise_strength, 1.0 + global_snow_cap_noise_strength, cap_noise);
|
||||
|
||||
v_snow_amount = snow_progress;
|
||||
@@ -133,7 +138,7 @@ void fragment() {
|
||||
float facing_up = clamp(world_normal.y, 0.0, 1.0);
|
||||
vec3 geometric_normal = normalize(cross(dFdx(world_pos), dFdy(world_pos)));
|
||||
float snow_facing_up = max(facing_up, abs(geometric_normal.y));
|
||||
float noise_val = texture(noise_texture, world_pos.xz * snow_noise_scale).r;
|
||||
float noise_val = snow_noise_enabled ? texture(noise_texture, world_pos.xz * snow_noise_scale).r : 0.5;
|
||||
|
||||
//Snow
|
||||
float snow_progress = v_snow_amount;
|
||||
|
||||
@@ -185,7 +185,8 @@ extends Resource
|
||||
@export var wind_direction: Vector2 = Vector2(0.5, 0.4) #Global wind direction (XZ)
|
||||
@export var wind_speed: float = 0.2 #Global wind animation speed
|
||||
@export var wind_scale: float = 0.025 #Global wind noise scale
|
||||
@export var wind_strength: float = 0.3 #Global wind displacement strength
|
||||
@export var wind_strength: float = 0.12 #Low ambient wind displacement strength
|
||||
@export var wind_boost_strength: float = 1.0 #Wind displacement strength while wind event is active
|
||||
@export var cloud_scale: float = 0.5 #Cloud noise scale in sky shader
|
||||
@export var cloud_speed: float = 0.05 #Cloud movement speed in sky shader
|
||||
@export_range(0.01, 1.0) var cloud_scale_envshadows_rate: float = 0.01 #Cloud scale multiplier for environment shadows
|
||||
|
||||
@@ -35,6 +35,8 @@ func _set_selected_color(index: int, material_index: int) -> void:
|
||||
else:
|
||||
color_pickers[i].deselect()
|
||||
|
||||
AchievementManager.is_unlocked("ACH_CHANGE_TRAIN_COLOR")
|
||||
|
||||
func _on_color_selected(selected_color_picker: TrainColorPicker, material_index: int) -> void:
|
||||
var color_pickers = color_pickers_1 if material_index == 0 else color_pickers_2
|
||||
for i in range(color_pickers.size()):
|
||||
|
||||
@@ -68,36 +68,37 @@ alignment = 1
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 4
|
||||
color = Color(0.7432059, 0.5684909, 1, 1)
|
||||
color = Color(0.72156864, 0.3529412, 0.32156864, 1)
|
||||
|
||||
[node name="ColorPicker2" parent="TextureRect/MarginContainer/HBoxContainer" unique_id=584054476 instance=ExtResource("3_i2rs1")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 4
|
||||
color = Color(0.47657922, 0.8792635, 0.8823829, 1)
|
||||
color = Color(0.83137256, 0.61960787, 0.3254902, 1)
|
||||
|
||||
[node name="ColorPicker3" parent="TextureRect/MarginContainer/HBoxContainer" unique_id=889429149 instance=ExtResource("3_i2rs1")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 4
|
||||
color = Color(0.54004896, 0.5516501, 0.45533067, 1)
|
||||
color = Color(0.35686275, 0.54901963, 0.5803922, 1)
|
||||
|
||||
[node name="ColorPicker4" parent="TextureRect/MarginContainer/HBoxContainer" unique_id=466686411 instance=ExtResource("3_i2rs1")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 4
|
||||
color = Color(0.40863404, 1, 0.47657922, 1)
|
||||
color = Color(0.43137255, 0.52156866, 0.40784314, 1)
|
||||
|
||||
[node name="ColorPicker5" parent="TextureRect/MarginContainer/HBoxContainer" unique_id=675841518 instance=ExtResource("3_i2rs1")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 4
|
||||
color = Color(1, 0, 0, 1)
|
||||
color = Color(0.5568628, 0.49803922, 0.65882355, 1)
|
||||
|
||||
[node name="ColorPicker6" parent="TextureRect/MarginContainer/HBoxContainer" unique_id=1698412911 instance=ExtResource("3_i2rs1")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 4
|
||||
color = Color(0.32156864, 0.43137255, 0.49019608, 1)
|
||||
|
||||
[node name="TextureRect2" type="TextureRect" parent="." unique_id=1180760395]
|
||||
layout_mode = 2
|
||||
@@ -123,13 +124,13 @@ alignment = 1
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 4
|
||||
color = Color(0.7432059, 0.5684909, 1, 1)
|
||||
color = Color(0.92156863, 0.7529412, 0.40784314, 1)
|
||||
|
||||
[node name="ColorPicker8" parent="TextureRect2/MarginContainer/HBoxContainer2" unique_id=396324135 instance=ExtResource("3_i2rs1")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 4
|
||||
color = Color(0.47657922, 0.8792635, 0.8823829, 1)
|
||||
color = Color(0.9529412, 0.91764706, 0.827451, 1)
|
||||
|
||||
[node name="ColorPicker9" parent="TextureRect2/MarginContainer/HBoxContainer2" unique_id=1233950004 instance=ExtResource("3_i2rs1")]
|
||||
unique_name_in_owner = true
|
||||
@@ -141,19 +142,20 @@ color = Color(0.54004896, 0.5516501, 0.45533067, 1)
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 4
|
||||
color = Color(0.40863404, 1, 0.47657922, 1)
|
||||
color = Color(0.33591065, 0.42461705, 0.38732395, 1)
|
||||
|
||||
[node name="ColorPicker11" parent="TextureRect2/MarginContainer/HBoxContainer2" unique_id=831493295 instance=ExtResource("3_i2rs1")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 4
|
||||
color = Color(1, 0, 0, 1)
|
||||
color = Color(0.44940293, 0.7807106, 0.89803255, 1)
|
||||
|
||||
[node name="ColorPicker12" parent="TextureRect2/MarginContainer/HBoxContainer2" unique_id=170636843 instance=ExtResource("3_i2rs1")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 4
|
||||
color = Color(0.9098039, 0.6, 0.5529412, 1)
|
||||
|
||||
[node name="ContainerTween" parent="." unique_id=160227524 node_paths=PackedStringArray("targets") instance=ExtResource("10_i2rs1")]
|
||||
unique_name_in_owner = true
|
||||
targets = [NodePath(""), NodePath("../TextureRect/MarginContainer/HBoxContainer/ColorPicker1"), NodePath("../TextureRect/MarginContainer/HBoxContainer/ColorPicker2"), NodePath("../TextureRect/MarginContainer/HBoxContainer/ColorPicker3"), NodePath("../TextureRect/MarginContainer/HBoxContainer/ColorPicker4"), NodePath("../TextureRect/MarginContainer/HBoxContainer/ColorPicker5"), NodePath("../TextureRect/MarginContainer/HBoxContainer/ColorPicker6"), NodePath("")]
|
||||
targets = [null, NodePath("../TextureRect/MarginContainer/HBoxContainer/ColorPicker1"), NodePath("../TextureRect/MarginContainer/HBoxContainer/ColorPicker2"), NodePath("../TextureRect/MarginContainer/HBoxContainer/ColorPicker3"), NodePath("../TextureRect/MarginContainer/HBoxContainer/ColorPicker4"), NodePath("../TextureRect/MarginContainer/HBoxContainer/ColorPicker5"), NodePath("../TextureRect/MarginContainer/HBoxContainer/ColorPicker6"), null]
|
||||
|
||||
@@ -9,10 +9,10 @@ func _ready() -> void:
|
||||
deselect()
|
||||
disable()
|
||||
|
||||
func set_option_text(text: String) -> void:
|
||||
func set_option_text(_text: String) -> void:
|
||||
if label == null:
|
||||
label = $%Label
|
||||
label.text = text
|
||||
label.text = _text
|
||||
|
||||
func select() -> void:
|
||||
if checkbox == null:
|
||||
|
||||
@@ -22,6 +22,7 @@ signal on_photo_taken_finished
|
||||
signal on_photo_mode_black_screen_disappeared
|
||||
|
||||
const SAVE_PATH: String = "user://savegame.json"
|
||||
const SAVE_PASSWORD: String = "jmpgames_megapwd"
|
||||
|
||||
var save_data: SaveGameData = SaveGameData.new()
|
||||
var is_loaded: bool = false
|
||||
@@ -39,7 +40,7 @@ func apply_video_settings() -> void:
|
||||
get_viewport().use_taa = save_data.anti_aliasing
|
||||
var msaa_mode = Viewport.MSAA_2X if save_data.anti_aliasing else Viewport.MSAA_DISABLED
|
||||
get_viewport().msaa_3d = msaa_mode
|
||||
get_viewport().msaa_2d = msaa_mode
|
||||
get_viewport().msaa_2d = Viewport.MSAA_DISABLED
|
||||
|
||||
func apply_train_colors() -> void:
|
||||
if not save_data.train_color_1.is_empty():
|
||||
@@ -64,34 +65,69 @@ func apply_train_colors() -> void:
|
||||
DisplayServer.window_set_size(Vector2i(save_data.resolution_x, save_data.resolution_y))
|
||||
|
||||
# Optional: center the window if resized
|
||||
var screen_center = DisplayServer.screen_get_position() + DisplayServer.screen_get_size() / 2
|
||||
var window_size = DisplayServer.window_get_size()
|
||||
DisplayServer.window_set_position(screen_center - window_size / 2)
|
||||
|
||||
|
||||
func save_game() -> void:
|
||||
var save_file = FileAccess.open(SAVE_PATH, FileAccess.WRITE)
|
||||
var json_string = JSON.stringify(save_data.to_dictionary())
|
||||
save_file.store_line(json_string)
|
||||
var screen_position: Vector2i = DisplayServer.screen_get_position()
|
||||
var screen_size: Vector2i = DisplayServer.screen_get_size()
|
||||
var window_size: Vector2i = DisplayServer.window_get_size()
|
||||
var screen_center := screen_position + Vector2i(
|
||||
floori(float(screen_size.x) / 2.0),
|
||||
floori(float(screen_size.y) / 2.0)
|
||||
)
|
||||
var window_half_size := Vector2i(
|
||||
floori(float(window_size.x) / 2.0),
|
||||
floori(float(window_size.y) / 2.0)
|
||||
)
|
||||
DisplayServer.window_set_position(screen_center - window_half_size)
|
||||
|
||||
#encrypted file + binary serialization (standard)
|
||||
func load_game() -> void:
|
||||
if not FileAccess.file_exists(SAVE_PATH):
|
||||
save_data = SaveGameData.new()
|
||||
is_loaded = true
|
||||
return
|
||||
|
||||
var file = FileAccess.open(SAVE_PATH, FileAccess.READ)
|
||||
var json_string = file.get_as_text()
|
||||
|
||||
var json = JSON.new()
|
||||
var parse_result = json.parse(json_string)
|
||||
|
||||
var file := FileAccess.open_encrypted_with_pass(SAVE_PATH, FileAccess.READ, SAVE_PASSWORD)
|
||||
save_data = SaveGameData.new()
|
||||
if parse_result == OK and json.data is Dictionary:
|
||||
save_data = SaveGameData.from_dictionary(json.data)
|
||||
|
||||
if file != null:
|
||||
var data = file.get_var()
|
||||
file.close()
|
||||
if data is Dictionary:
|
||||
save_data = SaveGameData.from_dictionary(data)
|
||||
#if file == null the key or the file is corrupted -> start with new data
|
||||
is_loaded = true
|
||||
|
||||
|
||||
func save_game() -> void:
|
||||
var file := FileAccess.open_encrypted_with_pass(SAVE_PATH, FileAccess.WRITE, SAVE_PASSWORD)
|
||||
if file == null:
|
||||
push_error("Salvataggio fallito: %s" % FileAccess.get_open_error())
|
||||
return
|
||||
file.store_var(save_data.to_dictionary()) # binario, non JSON
|
||||
file.close()
|
||||
|
||||
#JSon Version
|
||||
#func save_game() -> void:
|
||||
#var save_file = FileAccess.open(SAVE_PATH, FileAccess.WRITE)
|
||||
#var json_string = JSON.stringify(save_data.to_dictionary())
|
||||
#save_file.store_line(json_string)
|
||||
#
|
||||
#func load_game() -> void:
|
||||
#if not FileAccess.file_exists(SAVE_PATH):
|
||||
#save_data = SaveGameData.new()
|
||||
#is_loaded = true
|
||||
#return
|
||||
#
|
||||
#var file = FileAccess.open(SAVE_PATH, FileAccess.READ)
|
||||
#var json_string = file.get_as_text()
|
||||
#
|
||||
#var json = JSON.new()
|
||||
#var parse_result = json.parse(json_string)
|
||||
#
|
||||
#save_data = SaveGameData.new()
|
||||
#if parse_result == OK and json.data is Dictionary:
|
||||
#save_data = SaveGameData.from_dictionary(json.data)
|
||||
#
|
||||
#is_loaded = true
|
||||
|
||||
func pause_game() -> void:
|
||||
get_tree().paused = true
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
extends Control
|
||||
|
||||
|
||||
@onready var game_menu: Control = $%GameMenu
|
||||
@onready var game_menu_panel: Control = $%GameMenuPanel
|
||||
@onready var menu_icon_button: Button = $%MenuIconButton
|
||||
@@ -43,10 +42,12 @@ func _ready() -> void:
|
||||
choo_choo_button.pressed.connect(_on_choo_choo_button_pressed)
|
||||
resume_button.pressed.connect(_on_resume_button_pressed)
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
func _process(_delta: float) -> void:
|
||||
if time_label and dist_label and GameState.is_loaded:
|
||||
var time = GameState.save_data.total_time_played_seconds
|
||||
@warning_ignore("integer_division")
|
||||
var hours = int(time) / 3600
|
||||
@warning_ignore("integer_division")
|
||||
var minutes = (int(time) % 3600) / 60
|
||||
var seconds = int(time) % 60
|
||||
time_label.text = "Travel Time: %02d:%02d:%02d" % [hours, minutes, seconds]
|
||||
@@ -113,6 +114,8 @@ func _on_weather_row_on_option_changed(data: String) -> void:
|
||||
_:
|
||||
pass
|
||||
|
||||
AchievementManager.is_unlocked("ACH_CHANGE_METEO")
|
||||
|
||||
func pick_random_weather() -> void:
|
||||
var valid_buttons = []
|
||||
for child in weather_row.options_icon_buttons:
|
||||
@@ -189,6 +192,8 @@ func _on_photo_taken_finished() -> void:
|
||||
await tween.finished
|
||||
photo_mode_black_screen.hide()
|
||||
GameState.on_photo_mode_black_screen_disappeared.emit()
|
||||
StatsManager.add_int("stat_photo_number", 1)
|
||||
StatsManager.store()
|
||||
|
||||
func _on_choo_choo_button_pressed() -> void:
|
||||
#play sfx
|
||||
|
||||
70
core/main_scene_ui/total_stats_display.gd
Normal file
70
core/main_scene_ui/total_stats_display.gd
Normal file
@@ -0,0 +1,70 @@
|
||||
## Updates total elapsed time and train distance labels.
|
||||
class_name TotalStatsDisplay
|
||||
extends Node
|
||||
|
||||
const RAILS_SCRIPT = preload("res://core/biome_generator/rails.gd")
|
||||
const SECONDS_PER_MINUTE: int = 60
|
||||
const MINUTES_PER_HOUR: int = 60
|
||||
const HOURS_PER_DAY: int = 24
|
||||
#DISTANCE_KM_PER_UNIT is taken from rails.gd constant
|
||||
|
||||
@export var time_label_path: NodePath
|
||||
@export var distance_label_path: NodePath
|
||||
@export var rail_path: NodePath
|
||||
|
||||
var _elapsed_seconds: float = 0.0
|
||||
var _total_distance_km: float = 0.0
|
||||
var _last_train_progress: float = -1.0
|
||||
|
||||
@onready var _time_label: Label = get_node_or_null(time_label_path) as Label
|
||||
@onready var _distance_label: Label = get_node_or_null(distance_label_path) as Label
|
||||
@onready var _rail_path: Path3D = get_node_or_null(rail_path) as Path3D
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
_update_time_label()
|
||||
_update_distance_label()
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
_elapsed_seconds += delta
|
||||
_update_total_distance()
|
||||
_update_time_label()
|
||||
_update_distance_label()
|
||||
|
||||
|
||||
func _update_total_distance() -> void:
|
||||
if _rail_path == null or _rail_path.curve == null:
|
||||
return
|
||||
|
||||
var current_train_progress: float = float(_rail_path.get("train_progress"))
|
||||
if _last_train_progress < 0.0:
|
||||
_last_train_progress = current_train_progress
|
||||
return
|
||||
|
||||
var total_length: float = _rail_path.curve.get_baked_length()
|
||||
if total_length <= 0.0:
|
||||
return
|
||||
|
||||
var progress_delta: float = absf(current_train_progress - _last_train_progress)
|
||||
var wrapped_progress_delta: float = minf(progress_delta, total_length - progress_delta)
|
||||
_total_distance_km += wrapped_progress_delta * RAILS_SCRIPT.DISTANCE_KM_PER_UNIT
|
||||
_last_train_progress = current_train_progress
|
||||
|
||||
|
||||
func _update_time_label() -> void:
|
||||
if _time_label == null:
|
||||
return
|
||||
|
||||
var total_minutes: int = int(floor(_elapsed_seconds / SECONDS_PER_MINUTE))
|
||||
var days: int = floori(float(total_minutes) / float(MINUTES_PER_HOUR * HOURS_PER_DAY))
|
||||
var hours: int = floori(float(total_minutes) / float(MINUTES_PER_HOUR)) % HOURS_PER_DAY
|
||||
var minutes: int = total_minutes % MINUTES_PER_HOUR
|
||||
_time_label.text = "Time %dd %02dh %02dm" % [days, hours, minutes]
|
||||
|
||||
|
||||
func _update_distance_label() -> void:
|
||||
if _distance_label == null:
|
||||
return
|
||||
|
||||
_distance_label.text = "Distance %.1f km" % _total_distance_km
|
||||
1
core/main_scene_ui/total_stats_display.gd.uid
Normal file
1
core/main_scene_ui/total_stats_display.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://c2usnexa5x7pg
|
||||
@@ -1,6 +1,6 @@
|
||||
class_name SceneConfig
|
||||
extends Resource
|
||||
|
||||
enum SceneName { MAIN_MENU, GAME }
|
||||
enum SceneName { MAIN_MENU, GAME, SPLASH_SCREEN }
|
||||
|
||||
@export var scenes: Dictionary[SceneName, PackedScene]
|
||||
|
||||
@@ -3,11 +3,13 @@
|
||||
[ext_resource type="PackedScene" uid="uid://btcpge7cj2041" path="res://core/main_menu/main_menu.tscn" id="1_72aup"]
|
||||
[ext_resource type="Script" uid="uid://bbgyhmb8a17i7" path="res://core/scene_manager/scene_config.gd" id="1_km45g"]
|
||||
[ext_resource type="PackedScene" uid="uid://vjf4bdxd8saj" path="res://tgcc/main_scene.tscn" id="2_prsyo"]
|
||||
[ext_resource type="PackedScene" uid="uid://ri5kxx4mipo" path="res://core/splash_screen/splash_screen.tscn" id="3_aasbo"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_km45g")
|
||||
scenes = Dictionary[int, PackedScene]({
|
||||
0: ExtResource("1_72aup"),
|
||||
1: ExtResource("2_prsyo")
|
||||
1: ExtResource("2_prsyo"),
|
||||
2: ExtResource("3_aasbo")
|
||||
})
|
||||
metadata/_custom_type_script = "uid://bbgyhmb8a17i7"
|
||||
|
||||
@@ -3,42 +3,119 @@ extends CanvasLayer
|
||||
@export var config: SceneConfig
|
||||
@onready var color_rect = $ColorRect
|
||||
@onready var loading_screen = $LoadingScreen
|
||||
@export var transition_duration: float = 1
|
||||
|
||||
@export var transition_duration: float = 3
|
||||
const SHADER_PATH := "res://core/transition.gdshader"
|
||||
var transaction_material: ShaderMaterial
|
||||
|
||||
func _ready() -> void:
|
||||
color_rect.color.a = 0.0
|
||||
color_rect.mouse_filter = Control.MOUSE_FILTER_IGNORE
|
||||
loading_screen.hide()
|
||||
_build_material()
|
||||
_update_resolution()
|
||||
get_viewport().size_changed.connect(_update_resolution)
|
||||
_set_factor(0.0)
|
||||
color_rect.visible = false
|
||||
|
||||
func change_scene(scene_enum: SceneConfig.SceneName) -> void:
|
||||
func _build_material() -> void:
|
||||
transaction_material = ShaderMaterial.new()
|
||||
transaction_material.shader = load(SHADER_PATH)
|
||||
|
||||
#directional gradient: bottom-left-> black; top-right -> white
|
||||
var g := Gradient.new()
|
||||
g.set_color(0, Color.BLACK)
|
||||
g.set_color(1, Color.WHITE)
|
||||
var grad_tex := GradientTexture2D.new()
|
||||
grad_tex.gradient = g
|
||||
grad_tex.fill = GradientTexture2D.FILL_LINEAR
|
||||
grad_tex.fill_from = Vector2(0.0, 1.0) # bottom-left
|
||||
grad_tex.fill_to = Vector2(1.0, 0.0) # top-right
|
||||
grad_tex.width = 256
|
||||
grad_tex.height = 256
|
||||
|
||||
#shape: sphere (white at the center, black around)
|
||||
var sg := Gradient.new()
|
||||
sg.set_color(0, Color.WHITE)
|
||||
sg.set_color(1, Color.BLACK)
|
||||
var shape_tex := GradientTexture2D.new()
|
||||
shape_tex.gradient = sg
|
||||
shape_tex.fill = GradientTexture2D.FILL_RADIAL
|
||||
shape_tex.fill_from = Vector2(0.5, 0.5) # center
|
||||
shape_tex.fill_to = Vector2(0.5, 0.0) # ray
|
||||
shape_tex.width = 64
|
||||
shape_tex.height = 64
|
||||
|
||||
transaction_material.set_shader_parameter("base_color", Color.BLACK)
|
||||
transaction_material.set_shader_parameter("gradient_texture", grad_tex)
|
||||
transaction_material.set_shader_parameter("gradient_fixed", false)
|
||||
transaction_material.set_shader_parameter("shape_texture", shape_tex)
|
||||
transaction_material.set_shader_parameter("shape_tiling", 16.0)
|
||||
transaction_material.set_shader_parameter("shape_rotation", 0.0)
|
||||
transaction_material.set_shader_parameter("shape_scroll", Vector2.ZERO)
|
||||
transaction_material.set_shader_parameter("shape_feathering", 0.05)
|
||||
transaction_material.set_shader_parameter("shape_treshold", 1.0) # >=1 -> full at the end of the transation
|
||||
transaction_material.set_shader_parameter("width", 0.5)
|
||||
|
||||
color_rect.material = transaction_material
|
||||
|
||||
func _update_resolution() -> void:
|
||||
var s := get_viewport().get_visible_rect().size
|
||||
if color_rect.material:
|
||||
color_rect.material.set_shader_parameter("node_resolution", s)
|
||||
|
||||
func _set_factor(v: float) -> void:
|
||||
if color_rect.material:
|
||||
color_rect.material.set_shader_parameter("factor", v)
|
||||
|
||||
func cover(duration := 0.5) -> void:
|
||||
color_rect.visible = true
|
||||
var t := create_tween()
|
||||
t.tween_method(_set_factor, 0.0, 1.0, duration)
|
||||
await t.finished
|
||||
|
||||
func reveal(duration := 0.5) -> void:
|
||||
var t := create_tween()
|
||||
t.tween_method(_set_factor, 1.0, 0.0, duration)
|
||||
await t.finished
|
||||
color_rect.visible = false
|
||||
|
||||
func change_scene_with_standard_fade(scene_enum: SceneConfig.SceneName, duration: float = transition_duration, show_loading_label: bool = false) -> void:
|
||||
if not config or not config.scenes.has(scene_enum):
|
||||
return
|
||||
|
||||
color_rect.material = null
|
||||
color_rect.color = Color(0,0,0)
|
||||
var target_scene: PackedScene = config.scenes[scene_enum]
|
||||
|
||||
color_rect.mouse_filter = Control.MOUSE_FILTER_STOP
|
||||
if show_loading_label:
|
||||
loading_screen.visible = true
|
||||
|
||||
var tween_in = create_tween()
|
||||
tween_in.tween_property(color_rect, "color:a", 1.0, transition_duration)
|
||||
await tween_in.finished
|
||||
|
||||
loading_screen.show()
|
||||
await get_tree().process_frame
|
||||
|
||||
await cover(duration)
|
||||
get_tree().change_scene_to_packed(target_scene)
|
||||
await reveal(duration)
|
||||
|
||||
loading_screen.hide()
|
||||
if show_loading_label:
|
||||
loading_screen.visible = false
|
||||
color_rect.mouse_filter = Control.MOUSE_FILTER_IGNORE
|
||||
|
||||
var tween_out = create_tween()
|
||||
tween_out.tween_property(color_rect, "color:a", 0.0, transition_duration)
|
||||
await tween_out.finished
|
||||
func change_scene(scene_enum: SceneConfig.SceneName, duration: float = transition_duration, show_loading_label: bool = false) -> void:
|
||||
if not config or not config.scenes.has(scene_enum):
|
||||
return
|
||||
|
||||
color_rect.material = transaction_material
|
||||
color_rect.color = Color(0,0,0,0)
|
||||
var target_scene: PackedScene = config.scenes[scene_enum]
|
||||
|
||||
color_rect.mouse_filter = Control.MOUSE_FILTER_STOP
|
||||
if show_loading_label:
|
||||
loading_screen.visible = true
|
||||
|
||||
await cover(duration)
|
||||
get_tree().change_scene_to_packed(target_scene)
|
||||
await reveal(duration)
|
||||
|
||||
if show_loading_label:
|
||||
loading_screen.visible = false
|
||||
color_rect.mouse_filter = Control.MOUSE_FILTER_IGNORE
|
||||
|
||||
func quit_game() -> void:
|
||||
color_rect.mouse_filter = Control.MOUSE_FILTER_STOP
|
||||
var tween = create_tween()
|
||||
tween.tween_property(color_rect, "color:a", 1.0, transition_duration)
|
||||
await tween.finished
|
||||
get_tree().quit()
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ mouse_filter = 2
|
||||
color = Color(0, 0, 0, 0)
|
||||
|
||||
[node name="LoadingScreen" type="Control" parent="." unique_id=1075176512]
|
||||
visible = false
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
|
||||
BIN
core/splash_screen/jmp_logo.png
Normal file
BIN
core/splash_screen/jmp_logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 124 KiB |
40
core/splash_screen/jmp_logo.png.import
Normal file
40
core/splash_screen/jmp_logo.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dp3qxncy8u184"
|
||||
path="res://.godot/imported/jmp_logo.png-c6094efb2c4c429c25ff79b5a4cee21c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://core/splash_screen/jmp_logo.png"
|
||||
dest_files=["res://.godot/imported/jmp_logo.png-c6094efb2c4c429c25ff79b5a4cee21c.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
17
core/splash_screen/splash_screen.gd
Normal file
17
core/splash_screen/splash_screen.gd
Normal file
@@ -0,0 +1,17 @@
|
||||
extends Control
|
||||
@export var main_menu_scene: PackedScene
|
||||
@export var display_time: float = 2.0
|
||||
@export var fade_in_time: float = 0.5
|
||||
@onready var logo: Sprite2D = $ColorRect/JMPLogo
|
||||
|
||||
func _ready() -> void:
|
||||
logo.modulate.a = 0.0
|
||||
await get_tree().create_timer(fade_in_time).timeout
|
||||
|
||||
var tween := create_tween()
|
||||
tween.tween_property(logo, "modulate:a", 1.0, fade_in_time).set_trans(Tween.TRANS_SINE).set_ease(Tween.EASE_OUT)
|
||||
|
||||
await get_tree().create_timer(display_time).timeout
|
||||
#tween = create_tween()
|
||||
#tween.tween_property(logo, "modulate:a", 0.0, fade_in_time).set_trans(Tween.TRANS_SINE).set_ease(Tween.EASE_OUT)
|
||||
SceneManager.change_scene_with_standard_fade(SceneConfig.SceneName.MAIN_MENU, 0.5)
|
||||
1
core/splash_screen/splash_screen.gd.uid
Normal file
1
core/splash_screen/splash_screen.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://ckj2pcoxi5j3
|
||||
27
core/splash_screen/splash_screen.tscn
Normal file
27
core/splash_screen/splash_screen.tscn
Normal file
@@ -0,0 +1,27 @@
|
||||
[gd_scene format=3 uid="uid://ri5kxx4mipo"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://ckj2pcoxi5j3" path="res://core/splash_screen/splash_screen.gd" id="1_elsnp"]
|
||||
[ext_resource type="Texture2D" uid="uid://dp3qxncy8u184" path="res://core/splash_screen/jmp_logo.png" id="1_jkpgl"]
|
||||
|
||||
[node name="Control" type="Control" unique_id=163470013]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_elsnp")
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="." unique_id=1599828641]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
color = Color(0, 0, 0, 1)
|
||||
|
||||
[node name="JMPLogo" type="Sprite2D" parent="ColorRect" unique_id=1244888940]
|
||||
position = Vector2(980.99994, 556)
|
||||
scale = Vector2(0.37799045, 0.37799042)
|
||||
texture = ExtResource("1_jkpgl")
|
||||
@@ -4,23 +4,22 @@ extends Node
|
||||
#if you have an error setting achievements or stats in debug mode remember to open your steam client
|
||||
#with jmp games account or another account who bought this game. If error persist try to clos and reopen steam client.
|
||||
const KNOWN := [
|
||||
"ACH_DISTANCE_100",
|
||||
"ACH_DISTANCE_200",
|
||||
"ACH_10_PHOTOS",
|
||||
"ACH_CHANGE_METEO",
|
||||
"ACH_CHANGE_TRAIN_COLOR",
|
||||
]
|
||||
|
||||
#how it works:
|
||||
#func _on_player_won() -> void:
|
||||
# Achievements.unlock("ACH_DISTANCE_100") #unlock the achievement at first win
|
||||
# AchievementManager.unlock("ACH_DISTANCE_100") #unlock the achievement at first win
|
||||
|
||||
#func _on_match_finished(coins_collected: int) -> void:
|
||||
#update stats
|
||||
#...
|
||||
#check thresholds and unlock achievements
|
||||
# if Stats.get_int("stat_distance_km") >= 100:
|
||||
# Achievements.unlock("ACH_DISTANCE_100")
|
||||
# if Stats.get_int("stat_distance_km") >= 200:
|
||||
# Achievements.unlock("ACH_DISTANCE_200")
|
||||
# if StatsManager.get_int("stat_distance_km") >= 100:
|
||||
# AchievementManager.unlock("ACH_DISTANCE_100")
|
||||
# if StatsManager.get_int("stat_distance_km") >= 200:
|
||||
# AchievementManager.unlock("ACH_DISTANCE_200")
|
||||
|
||||
signal unlocked(api_name: String)
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ extends Node
|
||||
#if you have an error setting achievements or stats in debug mode remember to open your steam client
|
||||
#with jmp games account or another account who bought this game. If error persist try to clos and reopen steam client.
|
||||
const KNOWN := [
|
||||
"stat_games_played",
|
||||
"stat_time_played",
|
||||
"stat_distance_km",
|
||||
"stat_stop_number",
|
||||
"stat_photo_number",
|
||||
@@ -16,11 +16,11 @@ const KNOWN := [
|
||||
|
||||
#how it works:
|
||||
#func _on_match_finished(score: int) -> void:
|
||||
# Stats.add_int("stat_games_played", 1)
|
||||
# Stats.set_int("stat_total_score", Stats.get_int("stat_total_score") + score)
|
||||
# Stats.store() #only one push at the end of the game
|
||||
# if Stats.get_int("stat_games_played") >= 10:
|
||||
# Achievements.unlock("ACH_PLAY_10_GAMES") #it call storeStats()
|
||||
# StatsManager.add_int("stat_time_played", 1)
|
||||
# StatsManager.set_int("stat_total_score", StatsManager.get_int("stat_total_score") + score)
|
||||
# StatsManager.store() #only one push at the end of the game
|
||||
# if StatsManager.get_int("stat_time_played") >= 10:
|
||||
# AchievementManager.unlock("ACH_PLAY_10_HOURS") #it call storeStats()
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
@@ -64,8 +64,8 @@ func store() -> void:
|
||||
|
||||
#Development only: reset stats
|
||||
func reset_all(include_achievements: bool = false) -> void:
|
||||
Steam.resetAllStats(include_achievements)
|
||||
Steam.storeStats()
|
||||
if !Steam.resetAllStats(include_achievements):
|
||||
push_error("resetAllStats failed")
|
||||
|
||||
func _on_stats_stored(_game: int, result: int) -> void:
|
||||
if !result:
|
||||
|
||||
57
core/transition.gdshader
Normal file
57
core/transition.gdshader
Normal file
@@ -0,0 +1,57 @@
|
||||
shader_type canvas_item;
|
||||
|
||||
uniform vec4 base_color : source_color;
|
||||
uniform vec2 node_resolution;
|
||||
|
||||
uniform float factor : hint_range(0.0, 1.0, 0.01) = 0.54;
|
||||
uniform float width = 0.4;
|
||||
|
||||
group_uniforms gradient;
|
||||
uniform sampler2D gradient_texture;
|
||||
uniform bool gradient_fixed = false;
|
||||
|
||||
group_uniforms shape;
|
||||
uniform sampler2D shape_texture;
|
||||
uniform float shape_tiling = 32.0;
|
||||
uniform float shape_rotation = 0.0;
|
||||
uniform vec2 shape_scroll = vec2(0.0);
|
||||
uniform float shape_feathering : hint_range(0.0, 1.0, 0.01) = 0.00;
|
||||
uniform float shape_treshold : hint_range(0.0, 2.0, 0.01) = 1.0;
|
||||
|
||||
float gradient(vec2 uv, vec2 fixed_uv, bool fixed){
|
||||
float value = 0.0;
|
||||
if(fixed){
|
||||
value = texture(gradient_texture, fixed_uv).r;
|
||||
} else {
|
||||
value = texture(gradient_texture, uv).r;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
vec2 rotate(vec2 uv, vec2 pivot, float angle)
|
||||
{
|
||||
mat2 rotation = mat2(vec2(sin(angle), -cos(angle)),
|
||||
vec2(cos(angle), sin(angle)));
|
||||
uv -= pivot;
|
||||
uv = uv * rotation;
|
||||
uv += pivot;
|
||||
return uv;
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
float progress = mix(-width, 1.0, factor);
|
||||
float aspect = node_resolution.y / node_resolution.x;
|
||||
|
||||
vec2 aspect_uv = ((UV-vec2(0.0,0.5)) * vec2(1.0, aspect))+vec2(0.0,0.5);
|
||||
|
||||
float value = clamp((gradient(UV, aspect_uv, gradient_fixed) - progress) / (width), 0.0, 1.0);
|
||||
|
||||
vec2 tiled_uv = rotate(mod((aspect_uv + vec2(TIME)*shape_scroll) * shape_tiling, 1.0), vec2(0.5), radians(shape_rotation));
|
||||
float shape_value = 1.0 - texture(shape_texture, tiled_uv).r;
|
||||
|
||||
shape_value = mix(shape_feathering * 0.5, 1.0 - shape_feathering * 0.5, shape_value);
|
||||
float shaped_gradient = smoothstep(value - (shape_feathering * 0.5), value + (shape_feathering * 0.5), shape_treshold - shape_value);
|
||||
|
||||
COLOR.rgb = base_color.rgb;
|
||||
COLOR.a = shaped_gradient;
|
||||
}
|
||||
1
core/transition.gdshader.uid
Normal file
1
core/transition.gdshader.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://ovrd5ydp8p0q
|
||||
@@ -43,3 +43,7 @@ signal day_time_changed(value: float, time_string: String)
|
||||
signal time_option_item_changed(index: int)
|
||||
@warning_ignore("unused_signal")
|
||||
signal day_time_option_changed(index: int)
|
||||
|
||||
#train signals
|
||||
@warning_ignore("unused_signal")
|
||||
signal toot_toot()
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
extends Node3D
|
||||
|
||||
func _input(event):
|
||||
if event is InputEventKey and event.pressed:
|
||||
if event.keycode == KEY_ESCAPE:
|
||||
get_tree().quit()
|
||||
#func _input(event):
|
||||
#if event is InputEventKey and event.pressed:
|
||||
#if event.keycode == KEY_ESCAPE:
|
||||
#get_tree().quit()
|
||||
|
||||
@@ -107,3 +107,9 @@ func _on_fog_toggled(toggled_on: bool) -> void:
|
||||
|
||||
func _on_update_rails_pressed() -> void:
|
||||
UIEvents.update_rail_chunks.emit()
|
||||
|
||||
func _on_toot_toot_pressed() -> void:
|
||||
UIEvents.toot_toot.emit()
|
||||
|
||||
func _on_reset_stats_ach_pressed() -> void:
|
||||
StatsManager.reset_all(true)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
extends Node3D
|
||||
|
||||
func _input(event):
|
||||
if event is InputEventKey and event.pressed:
|
||||
if event.keycode == KEY_ESCAPE:
|
||||
get_tree().quit()
|
||||
#func _input(event):
|
||||
#if event is InputEventKey and event.pressed:
|
||||
#if event.keycode == KEY_ESCAPE:
|
||||
#get_tree().quit()
|
||||
|
||||
@@ -11,7 +11,7 @@ config_version=5
|
||||
[application]
|
||||
|
||||
config/name="tgcc"
|
||||
run/main_scene="uid://vjf4bdxd8saj"
|
||||
run/main_scene="uid://ri5kxx4mipo"
|
||||
config/features=PackedStringArray("4.6", "Forward Plus")
|
||||
run/max_fps=60
|
||||
config/icon="uid://bfar1kk3pgq8f"
|
||||
|
||||
@@ -91,6 +91,7 @@ est = true
|
||||
south = true
|
||||
|
||||
[node name="Cavi_005" parent="." index="0" unique_id=1310790518]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_03ljn")
|
||||
surface_material_override/1 = ExtResource("2_03ljn")
|
||||
|
||||
@@ -112,6 +113,7 @@ surface_material_override/0 = ExtResource("4_l2gd7")
|
||||
surface_material_override/1 = ExtResource("5_2d7r4")
|
||||
|
||||
[node name="Lanterne_006" parent="." index="6" unique_id=2038837947]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("5_2d7r4")
|
||||
surface_material_override/1 = ExtResource("4_l2gd7")
|
||||
|
||||
|
||||
@@ -94,6 +94,7 @@ est = true
|
||||
south = true
|
||||
|
||||
[node name="Cavi_012" parent="." index="0" unique_id=499052446]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_jytqw")
|
||||
surface_material_override/1 = ExtResource("2_jytqw")
|
||||
|
||||
@@ -115,6 +116,7 @@ surface_material_override/0 = ExtResource("4_fxi6n")
|
||||
surface_material_override/1 = ExtResource("5_554b4")
|
||||
|
||||
[node name="Lanterne_012" parent="." index="6" unique_id=1936861637]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("5_554b4")
|
||||
surface_material_override/1 = ExtResource("4_fxi6n")
|
||||
|
||||
|
||||
@@ -82,6 +82,7 @@ script = ExtResource("2_8n3i8")
|
||||
west = true
|
||||
|
||||
[node name="Cavi_006" parent="." index="1" unique_id=14990543]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_7usw4")
|
||||
surface_material_override/1 = ExtResource("2_7usw4")
|
||||
|
||||
@@ -102,6 +103,7 @@ surface_material_override/0 = ExtResource("5_cu284")
|
||||
surface_material_override/1 = ExtResource("6_b0a1l")
|
||||
|
||||
[node name="Lanterne_007" parent="." index="7" unique_id=1615340934]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("6_b0a1l")
|
||||
surface_material_override/1 = ExtResource("5_cu284")
|
||||
|
||||
|
||||
@@ -122,6 +122,7 @@ south = true
|
||||
surface_material_override/0 = ExtResource("3_7ldxj")
|
||||
|
||||
[node name="Cavi_004" parent="." index="1" unique_id=253539518]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("4_t6n0s")
|
||||
surface_material_override/1 = ExtResource("4_t6n0s")
|
||||
|
||||
@@ -147,6 +148,7 @@ surface_material_override/0 = ExtResource("5_i3as5")
|
||||
surface_material_override/1 = ExtResource("6_w6gyr")
|
||||
|
||||
[node name="Lanterne_002" parent="." index="7" unique_id=174576336]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("6_w6gyr")
|
||||
surface_material_override/1 = ExtResource("5_i3as5")
|
||||
|
||||
|
||||
@@ -107,57 +107,59 @@ buffer = PackedFloat32Array(-1.345079, -104.836205, -4.582536e-06, -1.52, 0, -5.
|
||||
script = ExtResource("2_i2sew")
|
||||
west = true
|
||||
|
||||
[node name="Argini_004" parent="." index="0" unique_id=1858205185]
|
||||
[node name="Argini_004" parent="." index="0" unique_id=2092471339]
|
||||
surface_material_override/0 = ExtResource("3_xbvfl")
|
||||
|
||||
[node name="Cart_001" parent="." index="1" unique_id=1835353896]
|
||||
[node name="Cart_001" parent="." index="1" unique_id=1302373818]
|
||||
surface_material_override/0 = ExtResource("4_oq3ud")
|
||||
surface_material_override/1 = ExtResource("5_x8oai")
|
||||
surface_material_override/2 = ExtResource("6_int6c")
|
||||
|
||||
[node name="Cavi_007" parent="." index="2" unique_id=994450170]
|
||||
[node name="Cavi_007" parent="." index="2" unique_id=891974148]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("5_x8oai")
|
||||
surface_material_override/1 = ExtResource("5_x8oai")
|
||||
|
||||
[node name="Cortile_002" parent="." index="3" unique_id=267016892 groups=["weather_node"]]
|
||||
[node name="Cortile_002" parent="." index="3" unique_id=1440977285 groups=["weather_node"]]
|
||||
surface_material_override/0 = ExtResource("6_int6c")
|
||||
|
||||
[node name="Flower_005" parent="." index="4" unique_id=1549966189 groups=["weather_node", "wind_node"]]
|
||||
[node name="Flower_005" parent="." index="4" unique_id=1151898243 groups=["weather_node", "wind_node"]]
|
||||
visible = false
|
||||
|
||||
[node name="FlowerG_003" parent="." index="5" unique_id=65871813 groups=["weather_node", "wind_node"]]
|
||||
[node name="FlowerG_003" parent="." index="5" unique_id=1421252949 groups=["weather_node", "wind_node"]]
|
||||
visible = false
|
||||
|
||||
[node name="Grass_008" parent="." index="6" unique_id=1853173495]
|
||||
[node name="Grass_008" parent="." index="6" unique_id=565930716]
|
||||
surface_material_override/0 = ExtResource("3_xbvfl")
|
||||
|
||||
[node name="House_M_3" parent="." index="7" unique_id=155596536 groups=["weather_node"]]
|
||||
[node name="House_M_3" parent="." index="7" unique_id=1248182939 groups=["weather_node"]]
|
||||
|
||||
[node name="House_M_3|Cube_212|Dupli|" parent="House_M_3" index="0" unique_id=1321014561]
|
||||
[node name="House_M_3|Cube_212|Dupli|" parent="House_M_3" index="0" unique_id=1251663089]
|
||||
surface_material_override/0 = ExtResource("7_wdcqm")
|
||||
surface_material_override/1 = ExtResource("8_lfxig")
|
||||
|
||||
[node name="Lanterne_003" parent="." index="8" unique_id=595596056]
|
||||
[node name="Lanterne_003" parent="." index="8" unique_id=913131637]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("8_lfxig")
|
||||
surface_material_override/1 = ExtResource("7_wdcqm")
|
||||
|
||||
[node name="MSH_Staccioanta_1_005" parent="." index="9" unique_id=1042751383]
|
||||
[node name="MSH_Staccioanta_1_005" parent="." index="9" unique_id=615838630]
|
||||
surface_material_override/0 = ExtResource("9_rfrug")
|
||||
|
||||
[node name="PaliLuci_002" parent="." index="10" unique_id=1504995410]
|
||||
[node name="PaliLuci_002" parent="." index="10" unique_id=1928143564]
|
||||
surface_material_override/0 = ExtResource("4_oq3ud")
|
||||
surface_material_override/1 = ExtResource("4_oq3ud")
|
||||
|
||||
[node name="Panchina_002" parent="." index="11" unique_id=876085859 groups=["weather_node"]]
|
||||
[node name="Panchina_002" parent="." index="11" unique_id=1561611835 groups=["weather_node"]]
|
||||
surface_material_override/0 = ExtResource("9_rfrug")
|
||||
|
||||
[node name="Strada_006" parent="." index="12" unique_id=76888486 groups=["weather_node"]]
|
||||
[node name="Strada_006" parent="." index="12" unique_id=1433458432 groups=["weather_node"]]
|
||||
surface_material_override/0 = ExtResource("6_int6c")
|
||||
|
||||
[node name="Water_005" parent="." index="13" unique_id=425747200]
|
||||
[node name="Water_005" parent="." index="13" unique_id=689760906]
|
||||
surface_material_override/0 = ExtResource("10_hfpir")
|
||||
|
||||
[node name="WoodPile_003" parent="." index="14" unique_id=1314797412 groups=["weather_node"]]
|
||||
[node name="WoodPile_003" parent="." index="14" unique_id=363736169 groups=["weather_node"]]
|
||||
surface_material_override/0 = ExtResource("4_oq3ud")
|
||||
surface_material_override/1 = ExtResource("11_x7fjv")
|
||||
surface_material_override/2 = ExtResource("5_x8oai")
|
||||
|
||||
@@ -134,6 +134,7 @@ surface_material_override/0 = ExtResource("3_sa8j3")
|
||||
[node name="Cart_003" parent="." index="2" unique_id=502294431 groups=["weather_node"]]
|
||||
|
||||
[node name="Cavi_008" parent="." index="3" unique_id=703264924]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("4_wx70f")
|
||||
surface_material_override/1 = ExtResource("4_wx70f")
|
||||
|
||||
@@ -159,6 +160,7 @@ surface_material_override/0 = ExtResource("7_pj11p")
|
||||
surface_material_override/1 = ExtResource("8_4mu8m")
|
||||
|
||||
[node name="Lanterne_008" parent="." index="10" unique_id=1036407616]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("8_4mu8m")
|
||||
surface_material_override/1 = ExtResource("7_pj11p")
|
||||
|
||||
|
||||
@@ -126,6 +126,7 @@ connection_left = [NodePath("PaloLuce/sx")]
|
||||
connection_right = [NodePath("PaloLuce/dx")]
|
||||
|
||||
[node name="Cavi_001" parent="." index="0" unique_id=1776585264]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_skxxm")
|
||||
|
||||
[node name="Cube_227" parent="." index="1" unique_id=2133644431 groups=["weather_node"]]
|
||||
@@ -154,6 +155,7 @@ surface_material_override/0 = ExtResource("6_333a0")
|
||||
surface_material_override/1 = ExtResource("4_w66q1")
|
||||
|
||||
[node name="Lanterne_001" parent="." index="7" unique_id=267697647]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("4_w66q1")
|
||||
surface_material_override/1 = ExtResource("6_333a0")
|
||||
|
||||
|
||||
@@ -128,6 +128,7 @@ south = true
|
||||
surface_material_override/0 = ExtResource("2_jaet5")
|
||||
|
||||
[node name="Cavi_004" parent="." index="1" unique_id=253539518]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("3_k52wx")
|
||||
surface_material_override/1 = ExtResource("3_k52wx")
|
||||
|
||||
@@ -153,6 +154,7 @@ surface_material_override/0 = ExtResource("4_yg4ko")
|
||||
surface_material_override/1 = ExtResource("5_yk001")
|
||||
|
||||
[node name="Lanterne_002" parent="." index="7" unique_id=174576336]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("5_yk001")
|
||||
surface_material_override/1 = ExtResource("4_yg4ko")
|
||||
|
||||
|
||||
@@ -115,6 +115,7 @@ south = true
|
||||
west = true
|
||||
|
||||
[node name="Cavi_003" parent="." index="0" unique_id=1683040552]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_k6fna")
|
||||
surface_material_override/1 = ExtResource("2_k6fna")
|
||||
|
||||
@@ -155,6 +156,7 @@ surface_material_override/0 = ExtResource("5_wbwk3")
|
||||
surface_material_override/1 = ExtResource("6_b82gs")
|
||||
|
||||
[node name="Lanterne_004" parent="." index="9" unique_id=1013830129]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("6_b82gs")
|
||||
surface_material_override/1 = ExtResource("5_wbwk3")
|
||||
|
||||
|
||||
@@ -125,6 +125,7 @@ surface_material_override/1 = ExtResource("4_nugyy")
|
||||
surface_material_override/2 = ExtResource("5_ygc8c")
|
||||
|
||||
[node name="Cavi_007" parent="." index="2" unique_id=891974148]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("4_nugyy")
|
||||
surface_material_override/1 = ExtResource("4_nugyy")
|
||||
|
||||
@@ -147,6 +148,7 @@ surface_material_override/0 = ExtResource("6_pjysl")
|
||||
surface_material_override/1 = ExtResource("7_0r8cm")
|
||||
|
||||
[node name="Lanterne_003" parent="." index="8" unique_id=913131637]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("7_0r8cm")
|
||||
surface_material_override/1 = ExtResource("6_pjysl")
|
||||
|
||||
@@ -154,6 +156,7 @@ surface_material_override/1 = ExtResource("6_pjysl")
|
||||
surface_material_override/0 = ExtResource("8_hmdr4")
|
||||
|
||||
[node name="PaliLuci_002" parent="." index="10" unique_id=1928143564]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("3_aj7xj")
|
||||
surface_material_override/1 = ExtResource("3_aj7xj")
|
||||
|
||||
|
||||
@@ -95,6 +95,7 @@ north = true
|
||||
south = true
|
||||
|
||||
[node name="Cavi_002" parent="." index="0" unique_id=2030323465]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_hs7hq")
|
||||
|
||||
[node name="Cortile_001" parent="." index="1" unique_id=1906526451 groups=["RoadNav", "weather_node"]]
|
||||
@@ -131,6 +132,7 @@ surface_material_override/0 = ExtResource("5_3muqp")
|
||||
surface_material_override/1 = ExtResource("6_m86t6")
|
||||
|
||||
[node name="Lanterne_005" parent="." index="8" unique_id=528610915]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("6_m86t6")
|
||||
surface_material_override/1 = ExtResource("5_3muqp")
|
||||
|
||||
|
||||
@@ -74,13 +74,6 @@ instance_count = 27
|
||||
mesh = ExtResource("23_4e4me")
|
||||
buffer = PackedFloat32Array(-0.06664866, -5.194634, -2.2706466e-07, -0.2425, 0, -3.0246346e-07, 6.9195576, 0, -5.194634, 0.06664866, 2.9133056e-09, -2.9575, -1.1421599, -4.4487686, -1.9446185e-07, 0.2425, 0, -3.2404853e-07, 7.4133663, 0, -4.4487686, 1.1421599, 4.9925397e-08, -2.9575, -0.046814755, 4.874615, 2.1307619e-07, -0.2425, 0, -3.1915494e-07, 7.3014135, 0, 4.874615, 0.046814755, 2.046338e-09, -2.5025, -2.237415, 4.8654275, 2.1267459e-07, 0.2425, 0, -3.2826165e-07, 7.509751, 0, 4.8654275, 2.237415, 9.7800516e-08, -2.5025, 2.552968, 3.664362, 1.6017435e-07, -0.2425, 0, -3.6221567e-07, 8.286529, 0, 3.664362, -2.552968, -1.1159378e-07, -2.0475, 1.8105153, 4.50349, 1.968538e-07, 0.2425, 0, -2.628582e-07, 6.013495, 0, 4.50349, -1.8105153, -7.9140136e-08, -2.0475, -1.9527054, 4.725312, 2.0654996e-07, -0.2425, 0, -3.321968e-07, 7.599777, 0, 4.725312, 1.9527054, 8.535547e-08, -1.5925, -4.520556, 1.8626103, 8.1417284e-08, 0.2425, 0, -2.7255854e-07, 6.2354126, 0, 1.8626103, 4.520556, 1.9759977e-07, -1.5925, -1.5101467, 5.1146483, 2.2356838e-07, -0.2425, 0, -3.674509e-07, 8.406297, 0, 5.1146483, 1.5101467, 6.6010614e-08, -1.1375, -0.39667818, 5.0150795, 2.1921609e-07, 0.2425, 0, -3.5219875e-07, 8.057368, 0, 5.0150795, 0.39667818, 1.7339353e-08, -1.1375, 4.910238, 2.163411, 9.456569e-08, -0.2425, 0, -2.2457701e-07, 5.137723, 0, 2.163411, -4.910238, -2.1463332e-07, -0.6825, -4.515354, 0.7853641, 3.4329354e-08, 0.2425, 0, -2.379107e-07, 5.4427624, 0, 0.7853641, 4.515354, 1.973724e-07, -0.6825, -4.518371, -1.6865913, -7.372324e-08, -0.2425, 0, -2.4742545e-07, 5.6604347, 0, -1.6865913, 4.518371, 1.9750428e-07, -0.2275, 1.1408135, -5.1769686, -2.2629249e-07, 0.2425, 0, -3.66561e-07, 8.385939, 0, -5.1769686, -1.1408135, -4.986654e-08, -0.2275, 3.315373, 3.248334, 1.4198919e-07, -0.2425, 0, -3.418649e-07, 7.820957, 0, 3.248334, -3.315373, -1.4491955e-07, 0.2275, 4.424317, -2.0163426, -8.8137135e-08, 0.2425, 0, -3.3949976e-07, 7.7668495, 0, -2.0163426, -4.424317, -1.9339303e-07, 0.2275, 4.644195, -1.1235999, -4.911411e-08, -0.2425, 0, -3.2845583e-07, 7.5141935, 0, -1.1235999, -4.644195, -2.0300422e-07, 0.6825, -5.0032973, 0.9244527, 4.0409113e-08, 0.2425, 0, -3.625047e-07, 8.29314, 0, 0.9244527, 5.0032973, 2.1870108e-07, 0.6825, -3.8264813, 3.711105, 1.6221756e-07, -0.2425, 0, -2.903106e-07, 6.641532, 0, 3.711105, 3.8264813, 1.6726081e-07, 1.1375, -5.329773, -0.18204457, -7.9574205e-09, 0.2425, 0, -2.888753e-07, 6.6086965, 0, -0.18204457, 5.329773, 2.3297177e-07, 1.1375, -2.5650833, -4.3976808, -1.9222873e-07, -0.2425, 0, -3.212945e-07, 7.3503613, 0, -4.3976808, 2.5650833, 1.1212335e-07, 1.5925, -2.5395496, -3.9127095, -1.7102997e-07, 0.2425, 0, -3.4615263e-07, 7.9190493, 0, -3.9127095, 2.5395496, 1.1100724e-07, 1.5925, 3.0145772, -3.716389, -1.6244852e-07, -0.2425, 0, -2.9848255e-07, 6.828485, 0, -3.716389, -3.0145772, -1.3177136e-07, 2.0475, 2.23483, 4.2739015, 1.8681817e-07, 0.2425, 0, -3.0729115e-07, 7.030002, 0, 4.2739015, -2.23483, -9.768752e-08, 2.0475, -2.2681458, -4.1759634, -1.8253716e-07, -0.2425, 0, -2.7874702e-07, 6.3769884, 0, -4.1759634, 2.2681458, 9.9143804e-08, 2.5025, 1.8609717, 4.9811106, 2.1773126e-07, 0.2425, 0, -3.8023688e-07, 8.698806, 0, 4.9811106, -1.8609717, -8.1345654e-08, 2.5025, 4.8748484, -0.49008697, -2.1422382e-08, -0.2425, 0, -2.3368244e-07, 5.346031, 0, -0.49008697, -4.8748484, -2.130864e-07, 2.9575)
|
||||
|
||||
[sub_resource type="NavigationMesh" id="NavigationMesh_2ts68"]
|
||||
vertices = PackedVector3Array(8.984741, 0.25012434, -0.014038086, 9.234741, 0.25012434, -1.0140381, -18.015259, 0.25012434, -18.014038, 17.984741, 0.25012434, 17.985962, 10.984741, 0.25012434, 1.2359619, 9.234741, 0.25012434, 1.2359619, 10.984741, 0.25012434, -1.0140381, 17.984741, 0.25012434, -18.014038, -18.015259, 0.25012434, 17.985962, 11.234741, 0.25012434, 0.23596191)
|
||||
polygons = [PackedInt32Array(2, 1, 0), PackedInt32Array(5, 4, 3), PackedInt32Array(7, 6, 1), PackedInt32Array(5, 8, 0), PackedInt32Array(0, 8, 2), PackedInt32Array(5, 3, 8), PackedInt32Array(1, 2, 7), PackedInt32Array(3, 4, 9), PackedInt32Array(6, 7, 9), PackedInt32Array(9, 7, 3)]
|
||||
border_size = 2.0
|
||||
|
||||
[sub_resource type="PlaneMesh" id="PlaneMesh_14bbt"]
|
||||
|
||||
[node name="chunk_river_cross_2" unique_id=1083596819 instance=ExtResource("1_kqoel")]
|
||||
script = ExtResource("2_m5b5r")
|
||||
est = true
|
||||
@@ -88,46 +81,48 @@ west = true
|
||||
river_north = true
|
||||
river_south = true
|
||||
|
||||
[node name="Argini_017" parent="." index="0" unique_id=1278311052]
|
||||
[node name="Argini_017" parent="." index="0" unique_id=379197264]
|
||||
surface_material_override/0 = ExtResource("2_relur")
|
||||
|
||||
[node name="Cavi_010" parent="." index="1" unique_id=815947441]
|
||||
[node name="Cavi_010" parent="." index="1" unique_id=1716469554]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("3_ik0ps")
|
||||
surface_material_override/1 = ExtResource("3_ik0ps")
|
||||
|
||||
[node name="Flower_024" parent="." index="2" unique_id=526609525]
|
||||
[node name="Flower_024" parent="." index="2" unique_id=1343917198]
|
||||
visible = false
|
||||
|
||||
[node name="FlowerG_022" parent="." index="3" unique_id=932915098]
|
||||
[node name="FlowerG_022" parent="." index="3" unique_id=602062578]
|
||||
visible = false
|
||||
|
||||
[node name="Grass_022" parent="." index="4" unique_id=888360582]
|
||||
[node name="Grass_022" parent="." index="4" unique_id=4617116]
|
||||
surface_material_override/0 = ExtResource("2_relur")
|
||||
|
||||
[node name="House_C_1_014" parent="." index="5" unique_id=1429631271 groups=["weather_node"]]
|
||||
[node name="House_C_1_014" parent="." index="5" unique_id=390752776 groups=["weather_node"]]
|
||||
|
||||
[node name="House_C_1_014|Cube_023|Dupli|" parent="House_C_1_014" index="0" unique_id=1595448890]
|
||||
[node name="House_C_1_014|Cube_023|Dupli|" parent="House_C_1_014" index="0" unique_id=906156044]
|
||||
surface_material_override/0 = ExtResource("4_u3ks6")
|
||||
surface_material_override/1 = ExtResource("5_g7xh4")
|
||||
|
||||
[node name="Lanterne_010" parent="." index="6" unique_id=626116821]
|
||||
[node name="Lanterne_010" parent="." index="6" unique_id=787933242]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("5_g7xh4")
|
||||
surface_material_override/1 = ExtResource("4_u3ks6")
|
||||
|
||||
[node name="MSH_Staccioanta_1_018" parent="." index="7" unique_id=1313624035]
|
||||
[node name="MSH_Staccioanta_1_018" parent="." index="7" unique_id=935916972]
|
||||
surface_material_override/0 = ExtResource("6_vsnhu")
|
||||
|
||||
[node name="PaliLuci_008" parent="." index="8" unique_id=156211542]
|
||||
[node name="PaliLuci_008" parent="." index="8" unique_id=185114022]
|
||||
surface_material_override/0 = ExtResource("7_5lc14")
|
||||
surface_material_override/1 = ExtResource("7_5lc14")
|
||||
|
||||
[node name="Strada_009" parent="." index="9" unique_id=876439490 groups=["weather_node"]]
|
||||
[node name="Strada_009" parent="." index="9" unique_id=86944054 groups=["weather_node"]]
|
||||
surface_material_override/0 = ExtResource("8_17keh")
|
||||
|
||||
[node name="Water_F_016" parent="." index="10" unique_id=1528601289]
|
||||
[node name="Water_F_016" parent="." index="10" unique_id=1050702492]
|
||||
surface_material_override/0 = ExtResource("9_t63l0")
|
||||
|
||||
[node name="bridge_002" parent="." index="11" unique_id=1594090056 groups=["weather_node"]]
|
||||
[node name="bridge_002" parent="." index="11" unique_id=1852524138 groups=["weather_node"]]
|
||||
surface_material_override/0 = ExtResource("5_g7xh4")
|
||||
surface_material_override/1 = ExtResource("10_0k2sy")
|
||||
surface_material_override/2 = ExtResource("7_5lc14")
|
||||
|
||||
@@ -129,6 +129,7 @@ surface_material_override/0 = ExtResource("3_oqr18")
|
||||
[node name="Cart_003" parent="." index="2" unique_id=502294431 groups=["weather_node"]]
|
||||
|
||||
[node name="Cavi_008" parent="." index="3" unique_id=703264924]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("4_h5fgh")
|
||||
surface_material_override/1 = ExtResource("4_h5fgh")
|
||||
|
||||
@@ -154,6 +155,7 @@ surface_material_override/0 = ExtResource("7_h5fgh")
|
||||
surface_material_override/1 = ExtResource("8_5r0cx")
|
||||
|
||||
[node name="Lanterne_008" parent="." index="10" unique_id=1036407616]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("8_5r0cx")
|
||||
surface_material_override/1 = ExtResource("7_h5fgh")
|
||||
|
||||
|
||||
@@ -118,6 +118,7 @@ surface_material_override/0 = ExtResource("2_07njl")
|
||||
transform = Transform3D(-2.105941, -1.3013108, -3.4868522, -7.450568e-08, -0.6470466, 24.148098, -1.3472161, 2.0341828, 5.450573, 1.1636996, 0.0010174388, 2.48663)
|
||||
|
||||
[node name="Cavi_011" parent="." index="2" unique_id=1762214686]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("3_6i64l")
|
||||
surface_material_override/1 = ExtResource("3_6i64l")
|
||||
|
||||
@@ -143,6 +144,7 @@ surface_material_override/0 = ExtResource("6_q0cqc")
|
||||
surface_material_override/1 = ExtResource("7_homdn")
|
||||
|
||||
[node name="Lanterne_011" parent="." index="9" unique_id=1863672392]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("7_homdn")
|
||||
surface_material_override/1 = ExtResource("6_q0cqc")
|
||||
|
||||
|
||||
@@ -97,6 +97,7 @@ river_west = true
|
||||
surface_material_override/0 = ExtResource("2_js6cw")
|
||||
|
||||
[node name="Cavi_009" parent="." index="1" unique_id=1198442543]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("3_8s23f")
|
||||
surface_material_override/1 = ExtResource("3_8s23f")
|
||||
|
||||
@@ -125,6 +126,7 @@ surface_material_override/0 = ExtResource("5_471jd")
|
||||
surface_material_override/1 = ExtResource("6_wwyrs")
|
||||
|
||||
[node name="Lanterne_009" parent="." index="8" unique_id=1890448184]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("6_wwyrs")
|
||||
surface_material_override/1 = ExtResource("5_471jd")
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@ buffer = PackedFloat32Array(0.47619614, -0.45174405, 0.755755, -9.176909, 0.8665
|
||||
|
||||
[node name="chunk_river_straight_3" unique_id=280774482 instance=ExtResource("1_x5ly2")]
|
||||
script = ExtResource("2_wgwv3")
|
||||
uniqueness = 2
|
||||
uniqueness = 1
|
||||
river_north = true
|
||||
river_south = true
|
||||
|
||||
|
||||
@@ -120,6 +120,7 @@ south = true
|
||||
surface_material_override/0 = ExtResource("3_5r6du")
|
||||
|
||||
[node name="Cavi_004" parent="." index="1" unique_id=253539518]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("4_wjmsg")
|
||||
surface_material_override/1 = ExtResource("4_wjmsg")
|
||||
|
||||
@@ -145,6 +146,7 @@ surface_material_override/0 = ExtResource("5_v716w")
|
||||
surface_material_override/1 = ExtResource("6_7dsci")
|
||||
|
||||
[node name="Lanterne_002" parent="." index="7" unique_id=174576336]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("6_7dsci")
|
||||
surface_material_override/1 = ExtResource("5_v716w")
|
||||
|
||||
|
||||
@@ -121,6 +121,7 @@ surface_material_override/1 = ExtResource("5_alwkb")
|
||||
surface_material_override/2 = ExtResource("6_4dlfc")
|
||||
|
||||
[node name="Cavi_007" parent="." index="2" unique_id=891974148]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("5_alwkb")
|
||||
surface_material_override/1 = ExtResource("5_alwkb")
|
||||
|
||||
@@ -143,6 +144,7 @@ surface_material_override/0 = ExtResource("7_wqpl2")
|
||||
surface_material_override/1 = ExtResource("8_7d05e")
|
||||
|
||||
[node name="Lanterne_003" parent="." index="8" unique_id=913131637]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("8_7d05e")
|
||||
surface_material_override/1 = ExtResource("7_wqpl2")
|
||||
|
||||
|
||||
@@ -52,6 +52,7 @@ shader_parameter/uv_scale = Vector2(1, 1)
|
||||
shader_parameter/palette_shift_y = 0.0
|
||||
shader_parameter/gradient_start_y = 0.0
|
||||
shader_parameter/gradient_end_y = 10.0
|
||||
shader_parameter/receive_shadows = true
|
||||
shader_parameter/light_steps = 3.0
|
||||
shader_parameter/step_softness = 0.1
|
||||
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
|
||||
@@ -73,6 +74,7 @@ shader_parameter/uv_scale = Vector2(1, 1)
|
||||
shader_parameter/palette_shift_y = 0.0
|
||||
shader_parameter/gradient_start_y = 0.0
|
||||
shader_parameter/gradient_end_y = 10.0
|
||||
shader_parameter/receive_shadows = true
|
||||
shader_parameter/light_steps = 3.0
|
||||
shader_parameter/step_softness = 0.1
|
||||
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
|
||||
@@ -94,6 +96,7 @@ shader_parameter/uv_scale = Vector2(3, 3)
|
||||
shader_parameter/palette_shift_y = 0.0
|
||||
shader_parameter/gradient_start_y = 0.0
|
||||
shader_parameter/gradient_end_y = 1.5
|
||||
shader_parameter/receive_shadows = true
|
||||
shader_parameter/light_steps = 3.0
|
||||
shader_parameter/step_softness = 0.1
|
||||
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
|
||||
@@ -115,6 +118,7 @@ shader_parameter/uv_scale = Vector2(1, 1)
|
||||
shader_parameter/palette_shift_y = 0.0
|
||||
shader_parameter/gradient_start_y = 0.0
|
||||
shader_parameter/gradient_end_y = 10.0
|
||||
shader_parameter/receive_shadows = true
|
||||
shader_parameter/light_steps = 3.0
|
||||
shader_parameter/step_softness = 0.1
|
||||
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
|
||||
|
||||
@@ -116,6 +116,7 @@ surface_material_override/0 = ExtResource("3_5jrf3")
|
||||
[node name="Cart_003" parent="." index="2" unique_id=502294431 groups=["weather_node"]]
|
||||
|
||||
[node name="Cavi_008" parent="." index="3" unique_id=703264924]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("4_lewme")
|
||||
surface_material_override/1 = ExtResource("4_lewme")
|
||||
|
||||
@@ -141,6 +142,7 @@ surface_material_override/0 = ExtResource("7_x0gto")
|
||||
surface_material_override/1 = ExtResource("8_yipn6")
|
||||
|
||||
[node name="Lanterne_008" parent="." index="10" unique_id=1036407616]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("8_yipn6")
|
||||
surface_material_override/1 = ExtResource("7_x0gto")
|
||||
|
||||
|
||||
@@ -1,9 +1,29 @@
|
||||
[gd_scene format=3 uid="uid://cqsp8pai6vw22"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cg7uflsb2i6ne" path="res://tgcc/chunk/prop/climax/Climax1.fbx" id="1_nwuw7"]
|
||||
[ext_resource type="Material" uid="uid://d4vsl672lwv7" path="res://tgcc/chunk/material/rocks2.tres" id="2_4fwq4"]
|
||||
[ext_resource type="Shader" uid="uid://d0ch5ofrgf7y6" path="res://core/daynight/trunk_shader.gdshader" id="2_nhw2c"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_nhw2c"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("2_nhw2c")
|
||||
shader_parameter/albedo_color = Color(0.40753567, 0.4204052, 0.40753093, 1)
|
||||
shader_parameter/use_texture = true
|
||||
shader_parameter/uv_scale = Vector2(1, 1)
|
||||
shader_parameter/palette_shift_y = 0.0
|
||||
shader_parameter/gradient_start_y = 0.0
|
||||
shader_parameter/gradient_end_y = 10.0
|
||||
shader_parameter/light_steps = 3.0
|
||||
shader_parameter/step_softness = 0.1
|
||||
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
|
||||
shader_parameter/shadow_offset = 0.0
|
||||
shader_parameter/cast_shadow_strength = 0.6
|
||||
shader_parameter/use_ghibli_glint = true
|
||||
shader_parameter/glint_color = Color(1, 0.95, 0.85, 1)
|
||||
shader_parameter/glint_intensity = 1.0
|
||||
shader_parameter/glint_sharpness = 32.0
|
||||
shader_parameter/emission_color = Color(0, 0, 0, 1)
|
||||
shader_parameter/emission_energy = 0.0
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_iswk2"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("2_nhw2c")
|
||||
@@ -92,10 +112,12 @@ shader_parameter/emission_energy = 0.0
|
||||
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 0, 0, 0)
|
||||
|
||||
[node name="Climax1" parent="." index="0" unique_id=767839486]
|
||||
surface_material_override/0 = ExtResource("2_4fwq4")
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_nhw2c")
|
||||
surface_material_override/1 = SubResource("ShaderMaterial_iswk2")
|
||||
surface_material_override/2 = SubResource("ShaderMaterial_4fwq4")
|
||||
surface_material_override/3 = SubResource("ShaderMaterial_mkhd8")
|
||||
|
||||
[node name="Wood" parent="." index="1" unique_id=733616168]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_omht8")
|
||||
|
||||
@@ -72,10 +72,12 @@ shader_parameter/emission_energy = 0.0
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0, 0, 0)
|
||||
|
||||
[node name="Climax2" parent="." index="0" unique_id=1222631639]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_k5n4y")
|
||||
surface_material_override/1 = SubResource("ShaderMaterial_pmph7")
|
||||
surface_material_override/2 = SubResource("ShaderMaterial_mg6bi")
|
||||
surface_material_override/3 = SubResource("ShaderMaterial_pmvmt")
|
||||
|
||||
[node name="wallsupport" parent="." index="1" unique_id=1089897955]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_1wkfs")
|
||||
|
||||
Binary file not shown.
@@ -8,6 +8,7 @@
|
||||
[node name="Lantern_1" unique_id=234210577 instance=ExtResource("1_od3ry")]
|
||||
|
||||
[node name="Lantern_1" parent="." index="0" unique_id=242917286]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_yca86")
|
||||
surface_material_override/1 = ExtResource("3_bgphm")
|
||||
surface_material_override/2 = ExtResource("2_c3i51")
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
[node name="Lantern_2" unique_id=396452378 instance=ExtResource("1_7qetm")]
|
||||
|
||||
[node name="Lantern_2" parent="." index="0" unique_id=751426330]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_hfyng")
|
||||
surface_material_override/1 = ExtResource("3_i7wyp")
|
||||
surface_material_override/2 = ExtResource("4_pvatg")
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
[node name="PostBox2" parent="." index="0" unique_id=1093802546]
|
||||
transform = Transform3D(-100.000015, -8.742278e-06, -1.0421607e-12, 0, -1.1920929e-05, 100.00001, -8.742279e-06, 100.00001, 1.1920929e-05, 0.0034273267, 0, 0)
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_nqx3y")
|
||||
surface_material_override/1 = ExtResource("3_h3l20")
|
||||
surface_material_override/2 = ExtResource("4_6yksj")
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0, 0, 0)
|
||||
|
||||
[node name="PostBox3" parent="." index="0" unique_id=521490239]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_wt0a4")
|
||||
surface_material_override/1 = ExtResource("3_kpvej")
|
||||
surface_material_override/2 = ExtResource("4_guowb")
|
||||
|
||||
@@ -30,6 +30,7 @@ shader_parameter/emission_energy = 0.0
|
||||
[node name="scarecrow" unique_id=1320042610 instance=ExtResource("1_eiqqr")]
|
||||
|
||||
[node name="hat" parent="." index="0" unique_id=169232380]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_l1pb7")
|
||||
surface_material_override/1 = ExtResource("3_hl52d")
|
||||
|
||||
@@ -37,7 +38,9 @@ surface_material_override/1 = ExtResource("3_hl52d")
|
||||
surface_material_override/0 = ExtResource("2_l1pb7")
|
||||
|
||||
[node name="shirt" parent="." index="2" unique_id=1648916125]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_l1pb7")
|
||||
|
||||
[node name="wood" parent="." index="3" unique_id=1178426919]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("5_t6s1p")
|
||||
|
||||
@@ -30,14 +30,18 @@ shader_parameter/emission_energy = 0.0
|
||||
[node name="scarecrow" unique_id=1320042610 instance=ExtResource("1_3l5dj")]
|
||||
|
||||
[node name="hat" parent="." index="0" unique_id=169232380]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_awm4v")
|
||||
surface_material_override/1 = ExtResource("3_6a0pt")
|
||||
|
||||
[node name="head" parent="." index="1" unique_id=1765991055]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_awm4v")
|
||||
|
||||
[node name="shirt" parent="." index="2" unique_id=1648916125]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_awm4v")
|
||||
|
||||
[node name="wood" parent="." index="3" unique_id=1178426919]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("5_rkpjx")
|
||||
|
||||
@@ -9,9 +9,11 @@
|
||||
[node name="Sign1" unique_id=1834444523 instance=ExtResource("1_uiait")]
|
||||
|
||||
[node name="Palo" parent="." index="0" unique_id=1343636993]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_311s2")
|
||||
|
||||
[node name="Sign1" parent="." index="1" unique_id=1606116753]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("1_311s2")
|
||||
surface_material_override/1 = ExtResource("2_kuo45")
|
||||
|
||||
|
||||
@@ -9,9 +9,11 @@
|
||||
[node name="Sign2" unique_id=1775868648 instance=ExtResource("1_foxwv")]
|
||||
|
||||
[node name="Palo" parent="." index="0" unique_id=2105240381]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_ldbd1")
|
||||
|
||||
[node name="Sign2" parent="." index="1" unique_id=1599460138]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("3_ih3ah")
|
||||
surface_material_override/1 = ExtResource("3_ldbd1")
|
||||
|
||||
|
||||
@@ -29,9 +29,11 @@ shader_parameter/emission_energy = 0.0
|
||||
[node name="Sign3" unique_id=1791763653 instance=ExtResource("1_0swcb")]
|
||||
|
||||
[node name="Palo" parent="." index="0" unique_id=187251359]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_ihmyx")
|
||||
|
||||
[node name="Sign3" parent="." index="1" unique_id=1217663822]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_lyxmq")
|
||||
|
||||
[node name="Decal" type="Decal" parent="." index="2" unique_id=99877708]
|
||||
|
||||
@@ -51,9 +51,11 @@ shader_parameter/emission_energy = 0.0
|
||||
[node name="Sign4" unique_id=69144836 instance=ExtResource("1_5srs1")]
|
||||
|
||||
[node name="Palo" parent="." index="0" unique_id=1362652374]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_04o4q")
|
||||
|
||||
[node name="Sign4" parent="." index="1" unique_id=770574735]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_04o4q")
|
||||
surface_material_override/2 = SubResource("ShaderMaterial_ff30h")
|
||||
|
||||
|
||||
@@ -183,20 +183,24 @@ shader_parameter/wind_frequency = 0.0
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.055491745, -0.3023088)
|
||||
|
||||
[node name="TendaNoren_001" parent="." index="0" unique_id=509936580]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_jslaf")
|
||||
surface_material_override/1 = SubResource("ShaderMaterial_cmmaj")
|
||||
|
||||
[node name="TendaNoren_002" parent="." index="1" unique_id=697331723]
|
||||
transform = Transform3D(-99.981384, 2.301005e-07, -1.9302231, 1.9302231, 1.1918706e-05, -99.98137, 2.2585682e-20, -100, -1.1920927e-05, -0.021122659, 0.5018954, 0.004296713)
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("4_sky3l")
|
||||
|
||||
[node name="TendaNoren_003" type="MeshInstance3D" parent="." index="2" unique_id=2069885175]
|
||||
transform = Transform3D(100, 0, 0, 0, -1.1920929e-05, 99.99999, 0, -99.99999, -1.1920929e-05, 0.5492964, 0.6978685, 0.004296713)
|
||||
cast_shadow = 0
|
||||
mesh = SubResource("ArrayMesh_4q4hw")
|
||||
surface_material_override/0 = ExtResource("2_jslaf")
|
||||
surface_material_override/1 = SubResource("ShaderMaterial_cmmaj")
|
||||
|
||||
[node name="TendaNoren_004" type="MeshInstance3D" parent="." index="3" unique_id=1139137711]
|
||||
transform = Transform3D(-99.84835, -6.563026e-07, 5.505466, -5.505466, 1.1902847e-05, -99.848335, 1.9938704e-20, -100, -1.1920927e-05, 0.5492964, 0.5018954, 0.004296713)
|
||||
cast_shadow = 0
|
||||
mesh = SubResource("ArrayMesh_8l8x3")
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_s46u4")
|
||||
|
||||
@@ -241,20 +241,24 @@ shader_parameter/wind_frequency = 0.0
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.055491745, -0.3023088)
|
||||
|
||||
[node name="TendaNoren_001" parent="." index="0" unique_id=509936580]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_prrb5")
|
||||
surface_material_override/1 = SubResource("ShaderMaterial_4jlum")
|
||||
|
||||
[node name="TendaNoren_002" parent="." index="1" unique_id=697331723]
|
||||
transform = Transform3D(-99.981384, 2.301005e-07, -1.9302231, 1.9302231, 1.1918706e-05, -99.98137, 2.2585682e-20, -100, -1.1920927e-05, -0.021122659, 0.5018954, 0.004296713)
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_beveb")
|
||||
|
||||
[node name="TendaNoren_003" type="MeshInstance3D" parent="." index="2" unique_id=2069885175]
|
||||
transform = Transform3D(100, 0, 0, 0, -1.1920929e-05, 99.99999, 0, -99.99999, -1.1920929e-05, 0.5492964, 0.6978685, 0.004296713)
|
||||
cast_shadow = 0
|
||||
mesh = SubResource("ArrayMesh_4q4hw")
|
||||
surface_material_override/0 = ExtResource("2_prrb5")
|
||||
surface_material_override/1 = SubResource("ShaderMaterial_cmmaj")
|
||||
|
||||
[node name="TendaNoren_004" type="MeshInstance3D" parent="." index="3" unique_id=1139137711]
|
||||
transform = Transform3D(-99.84835, -6.563026e-07, 5.505466, -5.505466, 1.1902847e-05, -99.848335, 1.9938704e-20, -100, -1.1920927e-05, 0.5492964, 0.5018954, 0.004296713)
|
||||
cast_shadow = 0
|
||||
mesh = SubResource("ArrayMesh_8l8x3")
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_s46u4")
|
||||
|
||||
@@ -239,20 +239,24 @@ shader_parameter/wind_frequency = 0.0
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.055491745, -0.3023088)
|
||||
|
||||
[node name="TendaNoren_001" parent="." index="0" unique_id=509936580]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_clsvi")
|
||||
surface_material_override/1 = SubResource("ShaderMaterial_7hvl5")
|
||||
|
||||
[node name="TendaNoren_002" parent="." index="1" unique_id=697331723]
|
||||
transform = Transform3D(-99.981384, 2.301005e-07, -1.9302231, 1.9302231, 1.1918706e-05, -99.98137, 2.2585682e-20, -100, -1.1920927e-05, -0.021122659, 0.5018954, 0.004296713)
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_csgpj")
|
||||
|
||||
[node name="TendaNoren_003" type="MeshInstance3D" parent="." index="2" unique_id=2069885175]
|
||||
transform = Transform3D(100, 0, 0, 0, -1.1920929e-05, 99.99999, 0, -99.99999, -1.1920929e-05, 0.5492964, 0.6978685, 0.004296713)
|
||||
cast_shadow = 0
|
||||
mesh = SubResource("ArrayMesh_4q4hw")
|
||||
surface_material_override/0 = ExtResource("2_clsvi")
|
||||
surface_material_override/1 = SubResource("ShaderMaterial_cmmaj")
|
||||
|
||||
[node name="TendaNoren_004" type="MeshInstance3D" parent="." index="3" unique_id=1139137711]
|
||||
transform = Transform3D(-99.84835, -6.563026e-07, 5.505466, -5.505466, 1.1902847e-05, -99.848335, 1.9938704e-20, -100, -1.1920927e-05, 0.5492964, 0.5018954, 0.004296713)
|
||||
cast_shadow = 0
|
||||
mesh = SubResource("ArrayMesh_8l8x3")
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_s46u4")
|
||||
|
||||
@@ -30,6 +30,7 @@ shader_parameter/emission_energy = 0.0
|
||||
[node name="Vase1" unique_id=705516693 instance=ExtResource("1_2nnxq")]
|
||||
|
||||
[node name="Vase1" parent="." index="0" unique_id=1062691616]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_5bse5")
|
||||
surface_material_override/1 = SubResource("ShaderMaterial_syc55")
|
||||
surface_material_override/2 = ExtResource("3_syc55")
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
[node name="Vase2" unique_id=888035065 instance=ExtResource("1_jybje")]
|
||||
|
||||
[node name="Vase2" parent="." index="0" unique_id=860182924]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_28b2e")
|
||||
surface_material_override/1 = ExtResource("2_bul1p")
|
||||
|
||||
|
||||
@@ -73,6 +73,7 @@ shader_parameter/snow_visibility = 1.0
|
||||
[node name="Vase3" unique_id=1886668319 instance=ExtResource("1_au8wv")]
|
||||
|
||||
[node name="Vase3" parent="." index="0" unique_id=887285637]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_gtvrg")
|
||||
surface_material_override/1 = SubResource("ShaderMaterial_txxea")
|
||||
surface_material_override/2 = ExtResource("3_4vmwj")
|
||||
|
||||
@@ -50,6 +50,7 @@ shader_parameter/emission_energy = 0.0
|
||||
[node name="Vase4" unique_id=237410267 instance=ExtResource("1_he3fe")]
|
||||
|
||||
[node name="Vase4" parent="." index="0" unique_id=1131282545]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_kx8wq")
|
||||
surface_material_override/1 = ExtResource("3_s4spc")
|
||||
surface_material_override/2 = SubResource("ShaderMaterial_pehvo")
|
||||
|
||||
@@ -30,6 +30,7 @@ shader_parameter/emission_energy = 0.0
|
||||
[node name="Vase5" unique_id=400744767 instance=ExtResource("1_yejtb")]
|
||||
|
||||
[node name="Vase5" parent="." index="0" unique_id=1230199627]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_3n5yd")
|
||||
surface_material_override/1 = ExtResource("2_3n5yd")
|
||||
|
||||
|
||||
@@ -71,6 +71,7 @@ shader_parameter/emission_energy = 0.0
|
||||
script = ExtResource("2_oh5ty")
|
||||
|
||||
[node name="WindDecoration" parent="." index="0" unique_id=13037063]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_oh5ty")
|
||||
surface_material_override/1 = SubResource("ShaderMaterial_6ddyx")
|
||||
surface_material_override/2 = SubResource("ShaderMaterial_iiryi")
|
||||
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
@@ -51,6 +51,7 @@ script = ExtResource("2_nebt2")
|
||||
chunk_type = 2
|
||||
|
||||
[node name="BézierCurve_003" parent="." index="0" unique_id=826544595]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("2_ain0v")
|
||||
surface_material_override/1 = ExtResource("3_nebt2")
|
||||
|
||||
@@ -141,7 +142,7 @@ transform = Transform3D(1.258351, 0, -1.1430457, 0, 1.7000003, 0, 1.1430457, 0,
|
||||
transform = Transform3D(-0.63049877, 0, -1.5787565, 0, 1.7000003, 0, 1.5787565, 0, -0.63049877, 1.6563647, 0, -20.839624)
|
||||
|
||||
[node name="TreeTest9" parent="Tree" index="6" unique_id=420234479 instance=ExtResource("11_v2rwj")]
|
||||
transform = Transform3D(-0.9698234, 0, 1.3962246, 0, 1.7000003, 0, -1.3962246, 0, -0.9698234, 3.059004, 1.0377102, -15.41362)
|
||||
transform = Transform3D(-0.9698234, 0, 1.3962246, 0, 1.7000003, 0, -1.3962246, 0, -0.9698234, 3.059004, 0.33528543, -15.41362)
|
||||
|
||||
[node name="TreeTest10" parent="Tree" index="7" unique_id=137335071 instance=ExtResource("11_v2rwj")]
|
||||
transform = Transform3D(-0.9698234, 0, 1.3962246, 0, 1.7000003, 0, -1.3962246, 0, -0.9698234, -1.3601644, 0, -11.998806)
|
||||
@@ -210,7 +211,7 @@ transform = Transform3D(-0.9698234, 0, 1.3962246, 0, 1.7000003, 0, -1.3962246, 0
|
||||
transform = Transform3D(1.258351, 0, -1.1430457, 0, 1.7000003, 0, 1.1430457, 0, 1.258351, 22.729897, 0, 12.53483)
|
||||
|
||||
[node name="TreeTest32" parent="Tree" index="29" unique_id=1822163652 instance=ExtResource("11_v2rwj")]
|
||||
transform = Transform3D(-0.63049877, 0, -1.5787565, 0, 1.7000003, 0, 1.5787565, 0, -0.63049877, 17.45154, 0.67123985, 13.199238)
|
||||
transform = Transform3D(-0.63049877, 0, -1.5787565, 0, 1.7000003, 0, 1.5787565, 0, -0.63049877, 17.45154, 0.26787472, 13.199238)
|
||||
|
||||
[node name="TreeTest33" parent="Tree" index="30" unique_id=1187385713 instance=ExtResource("11_v2rwj")]
|
||||
transform = Transform3D(-0.9698234, 0, 1.3962246, 0, 1.7000003, 0, -1.3962246, 0, -0.9698234, 18.85418, 0.62711143, 18.625242)
|
||||
@@ -276,7 +277,7 @@ transform = Transform3D(1.6596266, 0, -0.36829472, 0, 1.7000004, 0, 0.36829472,
|
||||
transform = Transform3D(1.4339567, 0, 0.9131093, 0, 1.7000002, 0, -0.9131093, 0, 1.4339567, -11.416958, -0.034111023, 24.64993)
|
||||
|
||||
[node name="TreeTest22" parent="Tree" index="51" unique_id=504561169 instance=ExtResource("11_v2rwj")]
|
||||
transform = Transform3D(-1.6730486, 0, 0.30151117, 0, 1.7000005, 0, -0.30151117, 0, -1.6730486, -22.988789, 0.678772, 3.902561)
|
||||
transform = Transform3D(-1.6730486, 0, 0.30151117, 0, 1.7000005, 0, -0.30151117, 0, -1.6730486, -22.988789, 0.23934507, 3.902561)
|
||||
|
||||
[node name="Flower2" type="Node3D" parent="." index="6" unique_id=913717123]
|
||||
|
||||
|
||||
@@ -42,14 +42,15 @@ size = Vector3(20, 10, 20)
|
||||
script = ExtResource("2_ebdep")
|
||||
chunk_type = 2
|
||||
|
||||
[node name="BézierCurve_003" parent="." index="0" unique_id=1781451152]
|
||||
[node name="BézierCurve_003" parent="." index="0" unique_id=826544595]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("3_w2mr5")
|
||||
surface_material_override/1 = ExtResource("4_dvcfy")
|
||||
|
||||
[node name="Chunk_003" parent="." index="1" unique_id=1865350450 groups=["weather_node"]]
|
||||
[node name="Chunk_003" parent="." index="1" unique_id=1420860029 groups=["weather_node"]]
|
||||
surface_material_override/0 = ExtResource("5_265s3")
|
||||
|
||||
[node name="Chunk_006" parent="." index="2" unique_id=368472604]
|
||||
[node name="Chunk_006" parent="." index="2" unique_id=1552766286]
|
||||
transform = Transform3D(100, 0, 0, 0, -1.1920929e-05, 99.99999, 0, -99.99999, -1.1920929e-05, -0.00945282, 0.018836021, -0.0016670227)
|
||||
surface_material_override/0 = ExtResource("6_6fhvw")
|
||||
|
||||
|
||||
@@ -51,6 +51,7 @@ script = ExtResource("2_gojrq")
|
||||
chunk_type = 2
|
||||
|
||||
[node name="BézierCurve_003" parent="." index="0" unique_id=826544595]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("3_7xauo")
|
||||
surface_material_override/1 = ExtResource("4_1k7gw")
|
||||
|
||||
|
||||
@@ -53,6 +53,7 @@ script = ExtResource("2_xioug")
|
||||
chunk_type = 2
|
||||
|
||||
[node name="BézierCurve_003" parent="." index="0" unique_id=826544595]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("3_3okyp")
|
||||
surface_material_override/1 = ExtResource("4_0uit7")
|
||||
|
||||
|
||||
@@ -103,6 +103,7 @@ surface_material_override/0 = ExtResource("5_8ksjv")
|
||||
surface_material_override/0 = ExtResource("6_sj02q")
|
||||
|
||||
[node name="Cube_032" parent="." index="4" unique_id=1626136650]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("4_s80ad")
|
||||
surface_material_override/1 = ExtResource("7_xcjcb")
|
||||
|
||||
|
||||
@@ -50,6 +50,7 @@ surface_material_override/0 = ExtResource("2_5cqaj")
|
||||
surface_material_override/0 = ExtResource("2_1yd65")
|
||||
|
||||
[node name="Cube_159" parent="." index="2" unique_id=1552861257 groups=["weather_node"]]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("3_dldiy")
|
||||
surface_material_override/1 = ExtResource("4_5cqaj")
|
||||
|
||||
|
||||
@@ -59,6 +59,7 @@ surface_material_override/0 = ExtResource("4_3rloo")
|
||||
surface_material_override/0 = ExtResource("2_0isiu")
|
||||
|
||||
[node name="Cube_039" parent="." index="3" unique_id=375449614]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("5_3rloo")
|
||||
surface_material_override/1 = ExtResource("5_1vb6v")
|
||||
|
||||
|
||||
@@ -87,6 +87,7 @@ surface_material_override/0 = ExtResource("2_8phya")
|
||||
surface_material_override/0 = ExtResource("1_qvm1w")
|
||||
|
||||
[node name="Cube_208" parent="." index="4" unique_id=1570594921]
|
||||
cast_shadow = 0
|
||||
surface_material_override/0 = ExtResource("3_dhwnf")
|
||||
surface_material_override/1 = ExtResource("4_7h65j")
|
||||
|
||||
|
||||
@@ -570,7 +570,7 @@ rail_path = NodePath("../rail")
|
||||
railway_pool = SubResource("Resource_jrt8d")
|
||||
biome_list = Array[ExtResource("15_3blen")]([SubResource("Resource_n3osn")])
|
||||
entity_pool = ExtResource("78_xg6nk")
|
||||
entity_spawn_probability = 1.0
|
||||
entity_spawn_probability = 0.0
|
||||
max_entities_per_chunk = 5
|
||||
eye_line = 8
|
||||
lamppost_max_wire_distance = 0.0
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
[ext_resource type="PackedScene" uid="uid://bei7fscn77p1p" path="res://core/main_scene_ui/main_scene_ui.tscn" id="49_exdk1"]
|
||||
[ext_resource type="PackedScene" uid="uid://vni5kjalum6d" path="res://core/photo_mode/runtime/photo_mode_controller.tscn" id="50_57hhv"]
|
||||
[ext_resource type="PackedScene" uid="uid://bujym3ai10i7q" path="res://tgcc/chunk/countryside/scene/tea/chunk_country_tea_corner_01.tscn" id="51_lxncq"]
|
||||
[ext_resource type="Script" uid="uid://c2usnexa5x7pg" path="res://core/main_scene_ui/total_stats_display.gd" id="51_totals"]
|
||||
[ext_resource type="PackedScene" uid="uid://bdfosig4g14vt" path="res://tgcc/chunk/countryside/scene/tea/chunk_country_tea_corner_02.tscn" id="52_317hq"]
|
||||
[ext_resource type="PackedScene" uid="uid://ffblnqib7fry" path="res://tgcc/chunk/countryside/scene/tea/chunk_country_tea_cross_3_01.tscn" id="53_0ur37"]
|
||||
[ext_resource type="PackedScene" uid="uid://b785qpoxbrovj" path="res://tgcc/chunk/countryside/scene/tea/chunk_country_tea_cross_3_02.tscn" id="54_vbb0s"]
|
||||
@@ -188,9 +189,9 @@ data = PackedByteArray("//vQZAAOhpd2PgtGR7JsJPfgYSYSJ6387g9rgIGKF+EZgxxoAM4TYIWm
|
||||
|
||||
[sub_resource type="Curve3D" id="Curve3D_ndco5"]
|
||||
closed = true
|
||||
bake_interval = 50.0
|
||||
bake_interval = 30.0
|
||||
_data = {
|
||||
"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 120, 0, 0, 0, 0, 0, 0, -4.372, 0, 140, 0, 0, 0, 0, 0, 0, -20.963, 0, 160, 0, 0, 0, 0, 0, 0, -40.62518, 0, 168.52754, 0, 0, 0, 0, 0, 0, -60, 0, 170, 0, 0, 0, 0, 0, 0, -80, 0, 170, 0, 0, 0, 0, 0, 0, -100, 0, 170, 0, 0, 0, 0, 0, 0, -120.42937, 0, 171.50279, 0, 0, 0, 0, 0, 0, -141.41747, 7.6293945e-06, 180.5982, 0, 0, 0, 0, 0, 0, -155.77005, 7.6293945e-06, 198.35184, 0, 0, 0, 0, 0, 0, -160.14105, 7.6293945e-06, 219.80951, 0, 0, 0, 0, 0, 0, -163.99007, 7.6293945e-06, 239.36005, 0, 0, 0, 0, 0, 0, -175.77509, 7.6293945e-06, 256.16028, 0, 0, 0, 0, 0, 0, -195.62283, 7.6293945e-06, 267.46912, 0, 0, 0, 0, 0, 0, -219.9999, 7.6293945e-06, 270.11758, 0, 0, 0, 0, 0, 0, -240, 0, 270.118, 0, 0, 0, 0, 0, 0, -260, 0, 270.118, 0, 0, 0, 0, 0, 0, -275.19666, 7.6293945e-06, 270.55228, 0, 0, 0, 0, 0, 0, -294.2925, 7.6293945e-06, 276.05307, 0, 0, 0, 0, 0, 0, -307.19006, 7.6293945e-06, 286.9095, 0, 0, 0, 0, 0, 0, -317.32443, 7.6293945e-06, 303.14682, 0, 0, 0, 0, 0, 0, -320, 0, 320, 0, 0, 0, 0, 0, 0, -320, 0, 340, 0, 0, 0, 0, 0, 0, -320, 0, 360, 0, 0, 0, 0, 0, 0, -320, 0, 380, 0, 0, 0, 0, 0, 0, -316.78876, 7.6293945e-06, 396.91193, 0, 0, 0, 0, 0, 0, -307.68207, 7.6293945e-06, 412.70596, 0, 0, 0, 0, 0, 0, -291.08273, 7.6293945e-06, 424.7491, 0, 0, 0, 0, 0, 0, -270, 0, 429.994, 0, 0, 0, 0, 0, 0, -250, 0, 429.994, 0, 0, 0, 0, 0, 0, -229.90146, 7.6293945e-06, 433.90823, 0, 0, 0, 0, 0, 0, -217.15442, 7.6293945e-06, 442.98242, 0, 0, 0, 0, 0, 0, -204.60803, 7.6293945e-06, 459.93704, 0, 0, 0, 0, 0, 0, -200, 0, 480, 0, 0, 0, 0, 0, 0, -200, 0, 500, 0, 0, 0, 0, 0, 0, -195.5338, 7.6293945e-06, 520.0368, 0, 0, 0, 0, 0, 0, -184.9173, 7.6293945e-06, 535.07776, 0, 0, 0, 0, 0, 0, -170.36423, 7.6293945e-06, 545.0799, 0, 0, 0, 0, 0, 0, -150.56184, 0, 549.8127, 0, 0, 0, 0, 0, 0, -130, 0, 550, 0, 0, 0, 0, 0, 0, -110, 0, 550, 0, 0, 0, 0, 0, 0, -90, 0, 550, 0, 0, 0, 0, 0, 0, -70, 0, 550, 0, 0, 0, 0, 0, 0, -50, 0, 550, 0, 0, 0, 0, 0, 0, -29.862535, 7.6293945e-06, 545.3371, 0, 0, 0, 0, 0, 0, -13.215244, 7.6293945e-06, 533.0626, 0, 0, 0, 0, 0, 0, -4.098665, 7.6293945e-06, 519.6814, 0, 0, 0, 0, 0, 0, -0.048213482, 7.6293945e-06, 500.107, 0, 0, 0, 0, 0, 0, 3.7920675, 7.6293945e-06, 480.64902, 0, 0, 0, 0, 0, 0, 13.513225, 7.6293945e-06, 465.9133, 0, 0, 0, 0, 0, 0, 29.76715, 7.6293945e-06, 454.41486, 0, 0, 0, 0, 0, 0, 49.711926, 7.6293945e-06, 450.12488, 0, 0, 0, 0, 0, 0, 70, 0, 450, 0, 0, 0, 0, 0, 0, 90, 0, 450, 0, 0, 0, 0, 0, 0, 110.055405, 7.6293945e-06, 445.42627, 0, 0, 0, 0, 0, 0, 126.975784, 7.6293945e-06, 432.8683, 0, 0, 0, 0, 0, 0, 136.95703, 7.6293945e-06, 417.5506, 0, 0, 0, 0, 0, 0, 140, 0, 400, 0, 0, 0, 0, 0, 0, 140, 0, 380, 0, 0, 0, 0, 0, 0, 140, 0, 360, 0, 0, 0, 0, 0, 0, 140, 0, 340, 0, 0, 0, 0, 0, 0, 140, 0, 320, 0, 0, 0, 0, 0, 0, 140, 0, 300, 0, 0, 0, 0, 0, 0, 140, 0, 280, 0, 0, 0, 0, 0, 0, 140, 0, 260, 0, 0, 0, 0, 0, 0, 140, 0, 240, 0, 0, 0, 0, 0, 0, 140, 0, 220, 0, 0, 0, 0, 0, 0, 140, 0, 200, 0, 0, 0, 0, 0, 0, 140, 0, 180, 0, 0, 0, 0, 0, 0, 140, 0, 160, 0, 0, 0, 0, 0, 0, 140, 0, 140, 0, 0, 0, 0, 0, 0, 140, 0, 120, 0, 0, 0, 0, 0, 0, 140, 0, 100, 0, 0, 0, 0, 0, 0, 140, 0, 80, 0, 0, 0, 0, 0, 0, 140, 0, 60, 0, 0, 0, 0, 0, 0, 140, 0, 40, 0, 0, 0, 0, 0, 0, 140, 0, 20, 0, 0, 0, 0, 0, 0, 140, 0, 0, 0, 0, 0, 0, 0, 0, 136.2151, 7.6293945e-06, -18.930761, 0, 0, 0, 0, 0, 0, 124.47424, 7.6293945e-06, -35.771675, 0, 0, 0, 0, 0, 0, 109.556854, 7.6293945e-06, -45.911987, 0, 0, 0, 0, 0, 0, 90, 0, -50, 0, 0, 0, 0, 0, 0, 70, 0, -50, 0, 0, 0, 0, 0, 0, 50, 0, -50, 0, 0, 0, 0, 0, 0, 30.626865, 7.6293945e-06, -46.35706, 0, 0, 0, 0, 0, 0, 14.519331, 7.6293945e-06, -35.468895, 0, 0, 0, 0, 0, 0, 3.52941, 7.6293945e-06, -19.590664),
|
||||
"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 120, 0, 0, 0, 0, 0, 0, -4.372, 0, 140, 0, 0, 0, 0, 0, 0, -20.963, 0, 160, 0, 0, 0, 0, 0, 0, -40.62518, 0, 168.52754, 0, 0, 0, 0, 0, 0, -60, 0, 170, 0, 0, 0, 0, 0, 0, -80, 0, 170, 0, 0, 0, 0, 0, 0, -100, 0, 170, 0, 0, 0, 0, 0, 0, -120.42937, 0, 171.50279, 0, 0, 0, 0, 0, 0, -141.41747, 7.6293945e-06, 180.5982, 0, 0, 0, 0, 0, 0, -155.25493, 7.6293945e-06, 199.082, 0, 0, 0, 0, 0, 0, -159.74689, 7.6293945e-06, 219.73068, 0, 0, 0, 0, 0, 0, -163.99007, 7.6293945e-06, 239.36005, 0, 0, 0, 0, 0, 0, -175.77509, 7.6293945e-06, 256.16028, 0, 0, 0, 0, 0, 0, -195.62283, 7.6293945e-06, 267.46912, 0, 0, 0, 0, 0, 0, -219.9999, 7.6293945e-06, 270.11758, 0, 0, 0, 0, 0, 0, -240, 0, 270.118, 0, 0, 0, 0, 0, 0, -260, 0, 270.118, 0, 0, 0, 0, 0, 0, -275.19666, 7.6293945e-06, 270.55228, 0, 0, 0, 0, 0, 0, -294.2925, 7.6293945e-06, 276.05307, 0, 0, 0, 0, 0, 0, -307.19006, 7.6293945e-06, 286.9095, 0, 0, 0, 0, 0, 0, -317.32443, 7.6293945e-06, 303.14682, 0, 0, 0, 0, 0, 0, -320, 0, 320, 0, 0, 0, 0, 0, 0, -320, 0, 340, 0, 0, 0, 0, 0, 0, -320, 0, 360, 0, 0, 0, 0, 0, 0, -320, 0, 380, 0, 0, 0, 0, 0, 0, -316.78876, 7.6293945e-06, 396.91193, 0, 0, 0, 0, 0, 0, -307.68207, 7.6293945e-06, 412.70596, 0, 0, 0, 0, 0, 0, -291.08273, 7.6293945e-06, 424.7491, 0, 0, 0, 0, 0, 0, -270, 0, 429.994, 0, 0, 0, 0, 0, 0, -250, 0, 429.994, 0, 0, 0, 0, 0, 0, -229.90146, 7.6293945e-06, 433.90823, 0, 0, 0, 0, 0, 0, -217.15442, 7.6293945e-06, 442.98242, 0, 0, 0, 0, 0, 0, -204.60803, 7.6293945e-06, 459.93704, 0, 0, 0, 0, 0, 0, -200, 0, 480, 0, 0, 0, 0, 0, 0, -200, 0, 500, 0, 0, 0, 0, 0, 0, -195.5338, 7.6293945e-06, 520.0368, 0, 0, 0, 0, 0, 0, -184.9173, 7.6293945e-06, 535.07776, 0, 0, 0, 0, 0, 0, -170.36423, 7.6293945e-06, 545.0799, 0, 0, 0, 0, 0, 0, -150.56184, 0, 549.8127, 0, 0, 0, 0, 0, 0, -130, 0, 550, 0, 0, 0, 0, 0, 0, -110, 0, 550, 0, 0, 0, 0, 0, 0, -90, 0, 550, 0, 0, 0, 0, 0, 0, -70, 0, 550, 0, 0, 0, 0, 0, 0, -50, 0, 550, 0, 0, 0, 0, 0, 0, -29.862535, 7.6293945e-06, 545.3371, 0, 0, 0, 0, 0, 0, -13.215244, 7.6293945e-06, 533.0626, 0, 0, 0, 0, 0, 0, -4.098665, 7.6293945e-06, 519.6814, 0, 0, 0, 0, 0, 0, -0.048213482, 7.6293945e-06, 500.107, 0, 0, 0, 0, 0, 0, 3.7920675, 7.6293945e-06, 480.64902, 0, 0, 0, 0, 0, 0, 13.513225, 7.6293945e-06, 465.9133, 0, 0, 0, 0, 0, 0, 29.76715, 7.6293945e-06, 454.41486, 0, 0, 0, 0, 0, 0, 49.711926, 7.6293945e-06, 450.12488, 0, 0, 0, 0, 0, 0, 70, 0, 450, 0, 0, 0, 0, 0, 0, 90, 0, 450, 0, 0, 0, 0, 0, 0, 110.055405, 7.6293945e-06, 445.42627, 0, 0, 0, 0, 0, 0, 126.975784, 7.6293945e-06, 432.8683, 0, 0, 0, 0, 0, 0, 136.95703, 7.6293945e-06, 417.5506, 0, 0, 0, 0, 0, 0, 140, 0, 400, 0, 0, 0, 0, 0, 0, 140, 0, 380, 0, 0, 0, 0, 0, 0, 140, 0, 360, 0, 0, 0, 0, 0, 0, 140, 0, 340, 0, 0, 0, 0, 0, 0, 140, 0, 320, 0, 0, 0, 0, 0, 0, 140, 0, 300, 0, 0, 0, 0, 0, 0, 140, 0, 280, 0, 0, 0, 0, 0, 0, 140, 0, 260, 0, 0, 0, 0, 0, 0, 140, 0, 240, 0, 0, 0, 0, 0, 0, 140, 0, 220, 0, 0, 0, 0, 0, 0, 140, 0, 200, 0, 0, 0, 0, 0, 0, 140, 0, 180, 0, 0, 0, 0, 0, 0, 140, 0, 160, 0, 0, 0, 0, 0, 0, 140, 0, 140, 0, 0, 0, 0, 0, 0, 140, 0, 120, 0, 0, 0, 0, 0, 0, 140, 0, 100, 0, 0, 0, 0, 0, 0, 140, 0, 80, 0, 0, 0, 0, 0, 0, 140, 0, 60, 0, 0, 0, 0, 0, 0, 140, 0, 40, 0, 0, 0, 0, 0, 0, 140, 0, 20, 0, 0, 0, 0, 0, 0, 140, 0, 0, 0, 0, 0, 0, 0, 0, 136.2151, 7.6293945e-06, -18.930761, 0, 0, 0, 0, 0, 0, 124.47424, 7.6293945e-06, -35.771675, 0, 0, 0, 0, 0, 0, 109.556854, 7.6293945e-06, -45.911987, 0, 0, 0, 0, 0, 0, 90, 0, -50, 0, 0, 0, 0, 0, 0, 70, 0, -50, 0, 0, 0, 0, 0, 0, 50, 0, -50, 0, 0, 0, 0, 0, 0, 30.626865, 7.6293945e-06, -46.35706, 0, 0, 0, 0, 0, 0, 14.519331, 7.6293945e-06, -35.468895, 0, 0, 0, 0, 0, 0, 3.52941, 7.6293945e-06, -19.590664),
|
||||
"tilts": PackedFloat32Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
}
|
||||
point_count = 93
|
||||
@@ -206,8 +207,7 @@ compositor = SubResource("Compositor_mb5yv")
|
||||
rail_path = NodePath("../rail")
|
||||
biome_list = Array[ExtResource("6_jfe74")]([SubResource("Resource_3qrd0")])
|
||||
entity_pool = ExtResource("34_a2cst")
|
||||
entity_spawn_probability = 1.0
|
||||
max_entities_per_chunk = 5
|
||||
max_entities_per_chunk = 6
|
||||
eye_line = 4
|
||||
|
||||
[node name="Terrain" type="MeshInstance3D" parent="." unique_id=219178561]
|
||||
@@ -223,6 +223,11 @@ transform = Transform3D(0.57785755, -0.57709646, 0.5770964, 0, 0.7071067, 0.7071
|
||||
rotation_target = NodePath("../pivot")
|
||||
iso_camera = NodePath("../camera_iso")
|
||||
|
||||
[node name="MainSceneUi" parent="cameras" unique_id=1359391222 instance=ExtResource("49_exdk1")]
|
||||
offset_left = 3.0
|
||||
offset_right = 3.0
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="DayNight" parent="." unique_id=1611939731 node_paths=PackedStringArray("camera_pivot") instance=ExtResource("36_qwsp8")]
|
||||
camera_pivot = NodePath("../cameras")
|
||||
thunder_sounds = Array[AudioStream]([SubResource("AudioStreamMP3_ra0ar"), SubResource("AudioStreamMP3_j8mxr"), ExtResource("37_pdfkp"), ExtResource("38_fpbvh"), ExtResource("39_hxtdl")])
|
||||
@@ -250,22 +255,13 @@ wagon_pool = ExtResource("46_exdk1")
|
||||
wagon_count = 5
|
||||
wagon_gap = 0.8
|
||||
wagon_spacing_scale = 0.9
|
||||
rail_distance = 1.0
|
||||
cameras = NodePath("../cameras")
|
||||
basic_swing = 0.2
|
||||
sleepers_distance = 1.6
|
||||
sleepers_model = ExtResource("46_lbmv2")
|
||||
fireworks_scene = ExtResource("47_q7p65")
|
||||
|
||||
[node name="Marker3D" type="Marker3D" parent="rail" unique_id=1460318018]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.7581053, -1.6046681, 59.658325)
|
||||
|
||||
[node name="Marker3D2" type="Marker3D" parent="rail" unique_id=131965864]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 127.14737, 0, 169.44846)
|
||||
|
||||
[node name="Marker3D3" type="Marker3D" parent="rail" unique_id=492991547]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -91.191925, 0, 539.03174)
|
||||
|
||||
[node name="Marker3D4" type="Marker3D" parent="rail" unique_id=1550097358]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -312.19193, 0, 349.03174)
|
||||
|
||||
[node name="Control" type="Control" parent="." unique_id=630650980]
|
||||
visible = false
|
||||
layout_mode = 3
|
||||
@@ -353,6 +349,29 @@ theme_override_colors/font_hover_pressed_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_outline_color = Color(1, 1, 1, 1)
|
||||
text = "Storm"
|
||||
|
||||
[node name="TotalDistance" type="Label" parent="Control" unique_id=1735753299]
|
||||
layout_mode = 0
|
||||
offset_left = 277.0
|
||||
offset_top = 31.0
|
||||
offset_right = 611.0
|
||||
offset_bottom = 54.0
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_outline_color = Color(1, 1, 1, 1)
|
||||
text = "Distance 0 km"
|
||||
|
||||
[node name="TotalTime" type="Label" parent="Control" unique_id=1065776479]
|
||||
layout_mode = 0
|
||||
offset_left = 276.0
|
||||
offset_top = 13.0
|
||||
offset_right = 610.0
|
||||
offset_bottom = 36.0
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_outline_color = Color(1, 1, 1, 1)
|
||||
text = "Time 00:00"
|
||||
|
||||
[node name="TotalStatsDisplay" type="Node" parent="Control" unique_id=1147065793]
|
||||
script = ExtResource("51_totals")
|
||||
|
||||
[node name="DayTimeLabel" type="Label" parent="Control" unique_id=1124935856]
|
||||
layout_mode = 0
|
||||
offset_left = 13.0
|
||||
@@ -484,6 +503,34 @@ theme_override_colors/font_hover_pressed_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_outline_color = Color(1, 1, 1, 1)
|
||||
text = "Fog"
|
||||
|
||||
[node name="ResetStatsAch" type="Button" parent="Control" unique_id=960673125]
|
||||
layout_mode = 0
|
||||
offset_left = 12.0
|
||||
offset_top = 425.0
|
||||
offset_right = 195.0
|
||||
offset_bottom = 456.0
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_focus_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_pressed_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_hover_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_hover_pressed_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_outline_color = Color(1, 1, 1, 1)
|
||||
text = "Reset Stats & Ach."
|
||||
|
||||
[node name="TootToot" type="Button" parent="Control" unique_id=2047151132]
|
||||
layout_mode = 0
|
||||
offset_left = 12.0
|
||||
offset_top = 388.0
|
||||
offset_right = 195.0
|
||||
offset_bottom = 419.0
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_focus_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_pressed_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_hover_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_hover_pressed_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_outline_color = Color(1, 1, 1, 1)
|
||||
text = "Toot Toot"
|
||||
|
||||
[node name="UpdateRails" type="Button" parent="Control" unique_id=267134156]
|
||||
layout_mode = 0
|
||||
offset_left = 12.0
|
||||
@@ -498,9 +545,6 @@ theme_override_colors/font_hover_pressed_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_outline_color = Color(1, 1, 1, 1)
|
||||
text = "Update Rails"
|
||||
|
||||
[node name="MainSceneUi" parent="." unique_id=1359391222 instance=ExtResource("49_exdk1")]
|
||||
mouse_filter = 2
|
||||
|
||||
[connection signal="toggled" from="Control/Snow" to="Control" method="_on_snow_toggled"]
|
||||
[connection signal="toggled" from="Control/Rain" to="Control" method="_on_rain_toggled"]
|
||||
[connection signal="toggled" from="Control/Wind" to="Control" method="_on_wind_toggled"]
|
||||
@@ -515,6 +559,8 @@ mouse_filter = 2
|
||||
[connection signal="toggled" from="Control/Shadows" to="Control" method="_on_shadows_toggled"]
|
||||
[connection signal="pressed" from="Control/RandomWeather" to="Control" method="_on_random_weather_pressed"]
|
||||
[connection signal="toggled" from="Control/Fog" to="Control" method="_on_fog_toggled"]
|
||||
[connection signal="pressed" from="Control/ResetStatsAch" to="Control" method="_on_reset_stats_ach_pressed"]
|
||||
[connection signal="pressed" from="Control/TootToot" to="Control" method="_on_toot_toot_pressed"]
|
||||
[connection signal="pressed" from="Control/UpdateRails" to="Control" method="_on_update_rails_pressed"]
|
||||
|
||||
[editable path="cameras"]
|
||||
|
||||
BIN
tgcc/train/sounds/train_whistle.mp3
Normal file
BIN
tgcc/train/sounds/train_whistle.mp3
Normal file
Binary file not shown.
19
tgcc/train/sounds/train_whistle.mp3.import
Normal file
19
tgcc/train/sounds/train_whistle.mp3.import
Normal file
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
uid="uid://dc6si4i1wgtg1"
|
||||
path="res://.godot/imported/train_whistle.mp3-7c9ba844b982f1e2dc8f87df905de652.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://tgcc/train/sounds/train_whistle.mp3"
|
||||
dest_files=["res://.godot/imported/train_whistle.mp3-7c9ba844b982f1e2dc8f87df905de652.mp3str"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
BIN
tgcc/train/sounds/train_whistle2.mp3
Normal file
BIN
tgcc/train/sounds/train_whistle2.mp3
Normal file
Binary file not shown.
19
tgcc/train/sounds/train_whistle2.mp3.import
Normal file
19
tgcc/train/sounds/train_whistle2.mp3.import
Normal file
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
uid="uid://cr7evvbfp33ra"
|
||||
path="res://.godot/imported/train_whistle2.mp3-fa64a19fd0b0cdce9722553ae5dff242.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://tgcc/train/sounds/train_whistle2.mp3"
|
||||
dest_files=["res://.godot/imported/train_whistle2.mp3-fa64a19fd0b0cdce9722553ae5dff242.mp3str"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
46
tgcc/train/train.gd
Normal file
46
tgcc/train/train.gd
Normal file
@@ -0,0 +1,46 @@
|
||||
extends Node3D
|
||||
|
||||
#const TRAIN_WHISTLE_STREAM: AudioStream = preload("res://tgcc/train/sounds/train_whistle.mp3")
|
||||
const TRAIN_WHISTLE_STREAM: AudioStream = preload("res://tgcc/train/sounds/train_whistle2.mp3")
|
||||
|
||||
@export_group("Whistle")
|
||||
@export var whistle_volume_db: float = 1.0
|
||||
@export var whistle_unit_size: float = 90.0
|
||||
@export var whistle_max_distance: float = 1200.0
|
||||
|
||||
var _whistle_player: AudioStreamPlayer3D
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
_create_whistle_player()
|
||||
|
||||
if not UIEvents.toot_toot.is_connected(_on_toot_toot):
|
||||
UIEvents.toot_toot.connect(_on_toot_toot)
|
||||
|
||||
|
||||
func _exit_tree() -> void:
|
||||
if UIEvents.toot_toot.is_connected(_on_toot_toot):
|
||||
UIEvents.toot_toot.disconnect(_on_toot_toot)
|
||||
|
||||
|
||||
func _create_whistle_player() -> void:
|
||||
_whistle_player = AudioStreamPlayer3D.new()
|
||||
_whistle_player.name = "TrainWhistlePlayer"
|
||||
_whistle_player.bus = &"SFX"
|
||||
_whistle_player.volume_db = whistle_volume_db
|
||||
_whistle_player.unit_size = whistle_unit_size
|
||||
_whistle_player.max_distance = whistle_max_distance
|
||||
_whistle_player.stream = TRAIN_WHISTLE_STREAM
|
||||
add_child(_whistle_player)
|
||||
|
||||
|
||||
func _on_toot_toot() -> void:
|
||||
if _whistle_player == null:
|
||||
return
|
||||
|
||||
print("stat_toottoot_number")
|
||||
StatsManager.add_int("stat_toottoot_number", 1)
|
||||
StatsManager.store()
|
||||
|
||||
_whistle_player.stop()
|
||||
_whistle_player.play()
|
||||
1
tgcc/train/train.gd.uid
Normal file
1
tgcc/train/train.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://c34qgl2afyhse
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user