Compare commits

...

2 Commits

Author SHA1 Message Date
84f8cf5d76 Cinematic camera 2025-06-18 21:27:27 +02:00
89210f59ea Adjust meadow vegetation 2025-06-18 21:27:23 +02:00
6 changed files with 151 additions and 60 deletions

View File

@ -1,10 +1,10 @@
[gd_scene load_steps=63 format=3 uid="uid://clxuoprslq8em"] [gd_scene load_steps=71 format=3 uid="uid://clxuoprslq8em"]
[ext_resource type="Script" uid="uid://4nvvgle511m4" path="res://scripts/house_big.gd" id="1_158ph"] [ext_resource type="Script" uid="uid://4nvvgle511m4" path="res://scripts/house_big.gd" id="1_158ph"]
[ext_resource type="PackedScene" uid="uid://wsu3b5udqtdu" path="res://meshes/village/Wall_UnevenBrick_Straight.gltf" id="1_p6qno"] [ext_resource type="PackedScene" uid="uid://wsu3b5udqtdu" path="res://meshes/village/Wall_UnevenBrick_Straight.gltf" id="1_p6qno"]
[ext_resource type="PackedScene" uid="uid://clysjxno24doq" path="res://meshes/village/Wall_UnevenBrick_Door_Round.gltf" id="2_158ph"] [ext_resource type="PackedScene" uid="uid://clysjxno24doq" path="res://meshes/village/Wall_UnevenBrick_Door_Round.gltf" id="2_158ph"]
[ext_resource type="PackedScene" uid="uid://cqm26jf01p8uv" path="res://scenes/portal_door.tscn" id="3_54eow"] [ext_resource type="PackedScene" uid="uid://cqm26jf01p8uv" path="res://scenes/portal_door.tscn" id="3_54eow"]
[ext_resource type="PackedScene" uid="uid://ewd06ff76y0i" path="res://scenes/meadow.tscn" id="4_8wplv"] [ext_resource type="Script" uid="uid://mlpya7qid02x" path="res://addons/proton_scatter/src/scatter.gd" id="4_u6m7x"]
[ext_resource type="Script" uid="uid://dr0q8wis1hmem" path="res://addons/proton_scatter/src/stack/modifier_stack.gd" id="5_3bxb3"] [ext_resource type="Script" uid="uid://dr0q8wis1hmem" path="res://addons/proton_scatter/src/stack/modifier_stack.gd" id="5_3bxb3"]
[ext_resource type="PackedScene" uid="uid://58nhhimrudas" path="res://meshes/village/Overhang_UnevenBrick_Corner_Front.gltf" id="5_k70vi"] [ext_resource type="PackedScene" uid="uid://58nhhimrudas" path="res://meshes/village/Overhang_UnevenBrick_Corner_Front.gltf" id="5_k70vi"]
[ext_resource type="Script" uid="uid://cnmsv3hyahjcc" path="res://addons/proton_scatter/src/modifiers/base_modifier.gd" id="6_53v87"] [ext_resource type="Script" uid="uid://cnmsv3hyahjcc" path="res://addons/proton_scatter/src/modifiers/base_modifier.gd" id="6_53v87"]
@ -17,9 +17,11 @@
[ext_resource type="Script" uid="uid://quoo7t5rxnu3" path="res://addons/proton_scatter/src/modifiers/project_on_geometry.gd" id="10_1c0ay"] [ext_resource type="Script" uid="uid://quoo7t5rxnu3" path="res://addons/proton_scatter/src/modifiers/project_on_geometry.gd" id="10_1c0ay"]
[ext_resource type="PackedScene" uid="uid://c3fv7wek4rjjt" path="res://meshes/village/Floor_WoodLight.gltf" id="10_abcjp"] [ext_resource type="PackedScene" uid="uid://c3fv7wek4rjjt" path="res://meshes/village/Floor_WoodLight.gltf" id="10_abcjp"]
[ext_resource type="PackedScene" uid="uid://blaba7vpajd15" path="res://meshes/village/Stair_Interior_SolidExtended.gltf" id="11_3kjtd"] [ext_resource type="PackedScene" uid="uid://blaba7vpajd15" path="res://meshes/village/Stair_Interior_SolidExtended.gltf" id="11_3kjtd"]
[ext_resource type="Script" uid="uid://dqqal1jno4xml" path="res://addons/proton_scatter/src/scatter_item.gd" id="11_nrbqc"]
[ext_resource type="Script" uid="uid://bsl3en0gdt8ka" path="res://addons/proton_scatter/src/scatter_shape.gd" id="11_purgm"] [ext_resource type="Script" uid="uid://bsl3en0gdt8ka" path="res://addons/proton_scatter/src/scatter_shape.gd" id="11_purgm"]
[ext_resource type="Script" uid="uid://d011g8ga6gea7" path="res://addons/proton_scatter/src/shapes/box_shape.gd" id="12_615iq"] [ext_resource type="Script" uid="uid://d011g8ga6gea7" path="res://addons/proton_scatter/src/shapes/box_shape.gd" id="12_615iq"]
[ext_resource type="PackedScene" uid="uid://cehdhfocv3rxc" path="res://meshes/village/Balcony_Simple_Straight.gltf" id="12_ah86a"] [ext_resource type="PackedScene" uid="uid://cehdhfocv3rxc" path="res://meshes/village/Balcony_Simple_Straight.gltf" id="12_ah86a"]
[ext_resource type="Script" uid="uid://djsvn08xssx6k" path="res://addons/proton_scatter/src/shapes/sphere_shape.gd" id="13_1c0ay"]
[ext_resource type="PackedScene" uid="uid://di0splvet24bj" path="res://meshes/village/Corner_Interior_Small.gltf" id="13_fp7uc"] [ext_resource type="PackedScene" uid="uid://di0splvet24bj" path="res://meshes/village/Corner_Interior_Small.gltf" id="13_fp7uc"]
[ext_resource type="PackedScene" uid="uid://duvcn6t2vv8ld" path="res://meshes/interior/Bookcase_2.gltf" id="14_tp3c1"] [ext_resource type="PackedScene" uid="uid://duvcn6t2vv8ld" path="res://meshes/interior/Bookcase_2.gltf" id="14_tp3c1"]
[ext_resource type="PackedScene" uid="uid://e5chiaecfb3h" path="res://meshes/interior/BookGroup_Medium_1.gltf" id="15_abcjp"] [ext_resource type="PackedScene" uid="uid://e5chiaecfb3h" path="res://meshes/interior/BookGroup_Medium_1.gltf" id="15_abcjp"]
@ -51,7 +53,13 @@
[ext_resource type="PackedScene" uid="uid://co7ijbeyonv5" path="res://meshes/interior/Book_5.gltf" id="41_u6m7x"] [ext_resource type="PackedScene" uid="uid://co7ijbeyonv5" path="res://meshes/interior/Book_5.gltf" id="41_u6m7x"]
[ext_resource type="PackedScene" uid="uid://d1imd6qqtgy2e" path="res://meshes/village/Stair_Interior_Rails.gltf" id="42_isn6p"] [ext_resource type="PackedScene" uid="uid://d1imd6qqtgy2e" path="res://meshes/village/Stair_Interior_Rails.gltf" id="42_isn6p"]
[sub_resource type="Resource" id="Resource_3bxb3"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_dss4m"]
albedo_color = Color(0.448364, 0.428649, 0.0977373, 1)
[sub_resource type="BoxMesh" id="BoxMesh_kpybi"]
size = Vector3(1000, 0.5, 1000)
[sub_resource type="Resource" id="Resource_4hat2"]
script = ExtResource("7_4hat2") script = ExtResource("7_4hat2")
amount = 1500 amount = 1500
enabled = true enabled = true
@ -60,7 +68,7 @@ custom_seed = 0
restrict_height = true restrict_height = true
reference_frame = 1 reference_frame = 1
[sub_resource type="Resource" id="Resource_53v87"] [sub_resource type="Resource" id="Resource_u6m7x"]
script = ExtResource("8_u6m7x") script = ExtResource("8_u6m7x")
position = Vector3(0.15, 0.15, 0.15) position = Vector3(0.15, 0.15, 0.15)
rotation = Vector3(20, 360, 20) rotation = Vector3(20, 360, 20)
@ -71,7 +79,7 @@ custom_seed = 0
restrict_height = false restrict_height = false
reference_frame = 2 reference_frame = 2
[sub_resource type="Resource" id="Resource_4hat2"] [sub_resource type="Resource" id="Resource_nrbqc"]
script = ExtResource("9_nrbqc") script = ExtResource("9_nrbqc")
iterations = 3 iterations = 3
offset_step = 0.2 offset_step = 0.2
@ -83,7 +91,7 @@ custom_seed = 0
restrict_height = true restrict_height = true
reference_frame = 0 reference_frame = 0
[sub_resource type="Resource" id="Resource_u6m7x"] [sub_resource type="Resource" id="Resource_1c0ay"]
script = ExtResource("10_1c0ay") script = ExtResource("10_1c0ay")
ray_direction = Vector3(0, -1, 0) ray_direction = Vector3(0, -1, 0)
ray_length = 5.0 ray_length = 5.0
@ -99,16 +107,26 @@ custom_seed = 0
restrict_height = false restrict_height = false
reference_frame = 0 reference_frame = 0
[sub_resource type="Resource" id="Resource_nrbqc"] [sub_resource type="Resource" id="Resource_purgm"]
script = ExtResource("5_3bxb3") script = ExtResource("5_3bxb3")
stack = Array[ExtResource("6_53v87")]([SubResource("Resource_3bxb3"), SubResource("Resource_53v87"), SubResource("Resource_4hat2"), SubResource("Resource_u6m7x")]) stack = Array[ExtResource("6_53v87")]([SubResource("Resource_4hat2"), SubResource("Resource_u6m7x"), SubResource("Resource_nrbqc"), SubResource("Resource_1c0ay")])
[sub_resource type="Resource" id="Resource_37qwj"]
script = ExtResource("13_1c0ay")
radius = 18.0
metadata/_custom_type_script = "uid://djsvn08xssx6k"
[sub_resource type="Resource" id="Resource_navra"]
script = ExtResource("12_615iq")
size = Vector3(5.47877, 1, 7.53509)
metadata/_custom_type_script = "uid://d011g8ga6gea7"
[sub_resource type="Resource" id="Resource_u2sk2"] [sub_resource type="Resource" id="Resource_u2sk2"]
script = ExtResource("12_615iq") script = ExtResource("12_615iq")
size = Vector3(15.4096, 1, 9.6442) size = Vector3(15.4096, 1, 9.6442)
metadata/_custom_type_script = "uid://d011g8ga6gea7" metadata/_custom_type_script = "uid://d011g8ga6gea7"
[sub_resource type="Resource" id="Resource_1c0ay"] [sub_resource type="Resource" id="Resource_615iq"]
script = ExtResource("7_4hat2") script = ExtResource("7_4hat2")
amount = 1200 amount = 1200
enabled = true enabled = true
@ -117,7 +135,7 @@ custom_seed = 0
restrict_height = true restrict_height = true
reference_frame = 1 reference_frame = 1
[sub_resource type="Resource" id="Resource_purgm"] [sub_resource type="Resource" id="Resource_31h7w"]
script = ExtResource("8_u6m7x") script = ExtResource("8_u6m7x")
position = Vector3(0.1, 0.15, 0.1) position = Vector3(0.1, 0.15, 0.1)
rotation = Vector3(10, 360, 10) rotation = Vector3(10, 360, 10)
@ -128,7 +146,7 @@ custom_seed = 0
restrict_height = false restrict_height = false
reference_frame = 2 reference_frame = 2
[sub_resource type="Resource" id="Resource_615iq"] [sub_resource type="Resource" id="Resource_ob3ci"]
script = ExtResource("9_nrbqc") script = ExtResource("9_nrbqc")
iterations = 3 iterations = 3
offset_step = 0.2 offset_step = 0.2
@ -140,7 +158,7 @@ custom_seed = 0
restrict_height = true restrict_height = true
reference_frame = 0 reference_frame = 0
[sub_resource type="Resource" id="Resource_31h7w"] [sub_resource type="Resource" id="Resource_61s38"]
script = ExtResource("10_1c0ay") script = ExtResource("10_1c0ay")
ray_direction = Vector3(0, -1, 0) ray_direction = Vector3(0, -1, 0)
ray_length = 5.0 ray_length = 5.0
@ -156,9 +174,19 @@ custom_seed = 0
restrict_height = false restrict_height = false
reference_frame = 0 reference_frame = 0
[sub_resource type="Resource" id="Resource_ob3ci"] [sub_resource type="Resource" id="Resource_p6hgd"]
script = ExtResource("5_3bxb3") script = ExtResource("5_3bxb3")
stack = Array[ExtResource("6_53v87")]([SubResource("Resource_1c0ay"), SubResource("Resource_purgm"), SubResource("Resource_615iq"), SubResource("Resource_31h7w")]) stack = Array[ExtResource("6_53v87")]([SubResource("Resource_615iq"), SubResource("Resource_31h7w"), SubResource("Resource_ob3ci"), SubResource("Resource_61s38")])
[sub_resource type="Resource" id="Resource_f17e3"]
script = ExtResource("12_615iq")
size = Vector3(70, 1, 70)
metadata/_custom_type_script = "uid://d011g8ga6gea7"
[sub_resource type="Resource" id="Resource_x2olw"]
script = ExtResource("13_1c0ay")
radius = 18.0
metadata/_custom_type_script = "uid://djsvn08xssx6k"
[sub_resource type="BoxShape3D" id="BoxShape3D_61s38"] [sub_resource type="BoxShape3D" id="BoxShape3D_61s38"]
size = Vector3(2.17578, 0.0646484, 7.88184) size = Vector3(2.17578, 0.0646484, 7.88184)
@ -172,13 +200,46 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 3.2, 0
[node name="PortalDoor" parent="." instance=ExtResource("3_54eow")] [node name="PortalDoor" parent="." instance=ExtResource("3_54eow")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 3.1, 0, -3.2) transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 3.1, 0, -3.2)
[node name="Meadow" parent="." instance=ExtResource("4_8wplv")] [node name="Meadow" type="MeshInstance3D" parent="."]
material_override = SubResource("StandardMaterial3D_dss4m")
mesh = SubResource("BoxMesh_kpybi")
metadata/_edit_lock_ = true metadata/_edit_lock_ = true
[node name="ScatterGrass" parent="Meadow" index="0"] [node name="ScatterGrass" type="Node3D" parent="Meadow"]
modifier_stack = SubResource("Resource_nrbqc") script = ExtResource("4_u6m7x")
modifier_stack = SubResource("Resource_purgm")
Performance/use_chunks = true
Performance/chunk_dimensions = Vector3(15, 15, 15)
metadata/_custom_type_script = "uid://mlpya7qid02x"
[node name="BigHouseNegative" type="Node3D" parent="Meadow/ScatterGrass" index="5"] [node name="ScatterItem" type="Node3D" parent="Meadow/ScatterGrass"]
script = ExtResource("11_nrbqc")
path = "uid://cia3jakp3wj1d"
[node name="ScatterItem2" type="Node3D" parent="Meadow/ScatterGrass"]
script = ExtResource("11_nrbqc")
path = "uid://c3c76je2y6vfj"
[node name="ScatterItem3" type="Node3D" parent="Meadow/ScatterGrass"]
script = ExtResource("11_nrbqc")
proportion = 25
path = "uid://bltmr2xgs8nq1"
[node name="ScatterShape" type="Node3D" parent="Meadow/ScatterGrass"]
transform = Transform3D(1, 0, -2.98023e-08, 0, 1, 0, 2.98023e-08, 0, 1, 0, 0, 0)
visible = false
script = ExtResource("11_purgm")
shape = SubResource("Resource_37qwj")
[node name="NegativeHouse" type="Node3D" parent="Meadow/ScatterGrass"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.2, 0, -2.4)
visible = false
script = ExtResource("11_purgm")
negative = true
shape = SubResource("Resource_navra")
metadata/_custom_type_script = "uid://bsl3en0gdt8ka"
[node name="BigHouseNegative" type="Node3D" parent="Meadow/ScatterGrass"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.12166, 0, -3.63027) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.12166, 0, -3.63027)
visible = false visible = false
script = ExtResource("11_purgm") script = ExtResource("11_purgm")
@ -186,8 +247,34 @@ negative = true
shape = SubResource("Resource_u2sk2") shape = SubResource("Resource_u2sk2")
metadata/_custom_type_script = "uid://bsl3en0gdt8ka" metadata/_custom_type_script = "uid://bsl3en0gdt8ka"
[node name="ScatterTrees" parent="Meadow" index="1"] [node name="ScatterTrees" type="Node3D" parent="Meadow"]
modifier_stack = SubResource("Resource_ob3ci") script = ExtResource("4_u6m7x")
modifier_stack = SubResource("Resource_p6hgd")
Performance/use_chunks = true
Performance/chunk_dimensions = Vector3(15, 15, 15)
metadata/_custom_type_script = "uid://mlpya7qid02x"
[node name="PineTree" type="Node3D" parent="Meadow/ScatterTrees"]
script = ExtResource("11_nrbqc")
path = "uid://caqxfqurbp3ku"
[node name="Bush" type="Node3D" parent="Meadow/ScatterTrees"]
script = ExtResource("11_nrbqc")
proportion = 50
path = "uid://b8abs8me7ckgo"
[node name="ScatterShape" type="Node3D" parent="Meadow/ScatterTrees"]
transform = Transform3D(1, 0, -2.98023e-08, 0, 1, 0, 2.98023e-08, 0, 1, 0, 0, 0)
visible = false
script = ExtResource("11_purgm")
shape = SubResource("Resource_f17e3")
[node name="NegativeTrees" type="Node3D" parent="Meadow/ScatterTrees"]
visible = false
script = ExtResource("11_purgm")
negative = true
shape = SubResource("Resource_x2olw")
metadata/_custom_type_script = "uid://bsl3en0gdt8ka"
[node name="WallsAndShit" type="Node3D" parent="."] [node name="WallsAndShit" type="Node3D" parent="."]
@ -675,5 +762,3 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -0.185
[node name="BalconyGround" type="CollisionShape3D" parent="NecessaryColliders"] [node name="BalconyGround" type="CollisionShape3D" parent="NecessaryColliders"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.41964, 2.97922, -3.36598) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.41964, 2.97922, -3.36598)
shape = SubResource("BoxShape3D_61s38") shape = SubResource("BoxShape3D_61s38")
[editable path="Meadow"]

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=29 format=3 uid="uid://ewd06ff76y0i"] [gd_scene load_steps=28 format=3 uid="uid://ewd06ff76y0i"]
[ext_resource type="Script" uid="uid://mlpya7qid02x" path="res://addons/proton_scatter/src/scatter.gd" id="1_0swbt"] [ext_resource type="Script" uid="uid://mlpya7qid02x" path="res://addons/proton_scatter/src/scatter.gd" id="1_0swbt"]
[ext_resource type="Script" uid="uid://dr0q8wis1hmem" path="res://addons/proton_scatter/src/stack/modifier_stack.gd" id="2_gnqbt"] [ext_resource type="Script" uid="uid://dr0q8wis1hmem" path="res://addons/proton_scatter/src/stack/modifier_stack.gd" id="2_gnqbt"]
@ -11,7 +11,6 @@
[ext_resource type="Script" uid="uid://bsl3en0gdt8ka" path="res://addons/proton_scatter/src/scatter_shape.gd" id="9_88tl0"] [ext_resource type="Script" uid="uid://bsl3en0gdt8ka" path="res://addons/proton_scatter/src/scatter_shape.gd" id="9_88tl0"]
[ext_resource type="Script" uid="uid://djsvn08xssx6k" path="res://addons/proton_scatter/src/shapes/sphere_shape.gd" id="10_g5616"] [ext_resource type="Script" uid="uid://djsvn08xssx6k" path="res://addons/proton_scatter/src/shapes/sphere_shape.gd" id="10_g5616"]
[ext_resource type="Script" uid="uid://d011g8ga6gea7" path="res://addons/proton_scatter/src/shapes/box_shape.gd" id="11_woep0"] [ext_resource type="Script" uid="uid://d011g8ga6gea7" path="res://addons/proton_scatter/src/shapes/box_shape.gd" id="11_woep0"]
[ext_resource type="Script" uid="uid://bfr4urrxjg8sm" path="res://addons/proton_scatter/src/cache/scatter_cache.gd" id="12_fdb1k"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_dss4m"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_dss4m"]
albedo_color = Color(0.448364, 0.428649, 0.0977373, 1) albedo_color = Color(0.448364, 0.428649, 0.0977373, 1)
@ -19,7 +18,7 @@ albedo_color = Color(0.448364, 0.428649, 0.0977373, 1)
[sub_resource type="BoxMesh" id="BoxMesh_kpybi"] [sub_resource type="BoxMesh" id="BoxMesh_kpybi"]
size = Vector3(1000, 0.5, 1000) size = Vector3(1000, 0.5, 1000)
[sub_resource type="Resource" id="Resource_gnqbt"] [sub_resource type="Resource" id="Resource_0swbt"]
script = ExtResource("4_kn6t7") script = ExtResource("4_kn6t7")
amount = 1500 amount = 1500
enabled = true enabled = true
@ -28,7 +27,7 @@ custom_seed = 0
restrict_height = true restrict_height = true
reference_frame = 1 reference_frame = 1
[sub_resource type="Resource" id="Resource_emo2u"] [sub_resource type="Resource" id="Resource_gnqbt"]
script = ExtResource("5_7l28j") script = ExtResource("5_7l28j")
position = Vector3(0.15, 0.15, 0.15) position = Vector3(0.15, 0.15, 0.15)
rotation = Vector3(20, 360, 20) rotation = Vector3(20, 360, 20)
@ -39,7 +38,7 @@ custom_seed = 0
restrict_height = false restrict_height = false
reference_frame = 2 reference_frame = 2
[sub_resource type="Resource" id="Resource_kn6t7"] [sub_resource type="Resource" id="Resource_emo2u"]
script = ExtResource("6_tlhyx") script = ExtResource("6_tlhyx")
iterations = 3 iterations = 3
offset_step = 0.2 offset_step = 0.2
@ -51,7 +50,7 @@ custom_seed = 0
restrict_height = true restrict_height = true
reference_frame = 0 reference_frame = 0
[sub_resource type="Resource" id="Resource_7l28j"] [sub_resource type="Resource" id="Resource_kn6t7"]
script = ExtResource("7_px0u5") script = ExtResource("7_px0u5")
ray_direction = Vector3(0, -1, 0) ray_direction = Vector3(0, -1, 0)
ray_length = 5.0 ray_length = 5.0
@ -67,9 +66,9 @@ custom_seed = 0
restrict_height = false restrict_height = false
reference_frame = 0 reference_frame = 0
[sub_resource type="Resource" id="Resource_tlhyx"] [sub_resource type="Resource" id="Resource_7l28j"]
script = ExtResource("2_gnqbt") script = ExtResource("2_gnqbt")
stack = Array[ExtResource("3_emo2u")]([SubResource("Resource_gnqbt"), SubResource("Resource_emo2u"), SubResource("Resource_kn6t7"), SubResource("Resource_7l28j")]) stack = Array[ExtResource("3_emo2u")]([SubResource("Resource_0swbt"), SubResource("Resource_gnqbt"), SubResource("Resource_emo2u"), SubResource("Resource_kn6t7")])
[sub_resource type="Resource" id="Resource_37qwj"] [sub_resource type="Resource" id="Resource_37qwj"]
script = ExtResource("10_g5616") script = ExtResource("10_g5616")
@ -81,7 +80,7 @@ script = ExtResource("11_woep0")
size = Vector3(5.47877, 1, 7.53509) size = Vector3(5.47877, 1, 7.53509)
metadata/_custom_type_script = "uid://d011g8ga6gea7" metadata/_custom_type_script = "uid://d011g8ga6gea7"
[sub_resource type="Resource" id="Resource_px0u5"] [sub_resource type="Resource" id="Resource_tlhyx"]
script = ExtResource("4_kn6t7") script = ExtResource("4_kn6t7")
amount = 1200 amount = 1200
enabled = true enabled = true
@ -90,7 +89,7 @@ custom_seed = 0
restrict_height = true restrict_height = true
reference_frame = 1 reference_frame = 1
[sub_resource type="Resource" id="Resource_igrg6"] [sub_resource type="Resource" id="Resource_px0u5"]
script = ExtResource("5_7l28j") script = ExtResource("5_7l28j")
position = Vector3(0.1, 0.15, 0.1) position = Vector3(0.1, 0.15, 0.1)
rotation = Vector3(10, 360, 10) rotation = Vector3(10, 360, 10)
@ -101,7 +100,7 @@ custom_seed = 0
restrict_height = false restrict_height = false
reference_frame = 2 reference_frame = 2
[sub_resource type="Resource" id="Resource_88tl0"] [sub_resource type="Resource" id="Resource_igrg6"]
script = ExtResource("6_tlhyx") script = ExtResource("6_tlhyx")
iterations = 3 iterations = 3
offset_step = 0.2 offset_step = 0.2
@ -113,7 +112,7 @@ custom_seed = 0
restrict_height = true restrict_height = true
reference_frame = 0 reference_frame = 0
[sub_resource type="Resource" id="Resource_g5616"] [sub_resource type="Resource" id="Resource_88tl0"]
script = ExtResource("7_px0u5") script = ExtResource("7_px0u5")
ray_direction = Vector3(0, -1, 0) ray_direction = Vector3(0, -1, 0)
ray_length = 5.0 ray_length = 5.0
@ -129,9 +128,9 @@ custom_seed = 0
restrict_height = false restrict_height = false
reference_frame = 0 reference_frame = 0
[sub_resource type="Resource" id="Resource_woep0"] [sub_resource type="Resource" id="Resource_g5616"]
script = ExtResource("2_gnqbt") script = ExtResource("2_gnqbt")
stack = Array[ExtResource("3_emo2u")]([SubResource("Resource_px0u5"), SubResource("Resource_igrg6"), SubResource("Resource_88tl0"), SubResource("Resource_g5616")]) stack = Array[ExtResource("3_emo2u")]([SubResource("Resource_tlhyx"), SubResource("Resource_px0u5"), SubResource("Resource_igrg6"), SubResource("Resource_88tl0")])
[sub_resource type="Resource" id="Resource_f17e3"] [sub_resource type="Resource" id="Resource_f17e3"]
script = ExtResource("11_woep0") script = ExtResource("11_woep0")
@ -149,8 +148,7 @@ mesh = SubResource("BoxMesh_kpybi")
[node name="ScatterGrass" type="Node3D" parent="."] [node name="ScatterGrass" type="Node3D" parent="."]
script = ExtResource("1_0swbt") script = ExtResource("1_0swbt")
force_rebuild_on_load = false modifier_stack = SubResource("Resource_7l28j")
modifier_stack = SubResource("Resource_tlhyx")
Performance/use_chunks = true Performance/use_chunks = true
Performance/chunk_dimensions = Vector3(15, 15, 15) Performance/chunk_dimensions = Vector3(15, 15, 15)
metadata/_custom_type_script = "uid://mlpya7qid02x" metadata/_custom_type_script = "uid://mlpya7qid02x"
@ -184,8 +182,7 @@ metadata/_custom_type_script = "uid://bsl3en0gdt8ka"
[node name="ScatterTrees" type="Node3D" parent="."] [node name="ScatterTrees" type="Node3D" parent="."]
script = ExtResource("1_0swbt") script = ExtResource("1_0swbt")
force_rebuild_on_load = false modifier_stack = SubResource("Resource_g5616")
modifier_stack = SubResource("Resource_woep0")
Performance/use_chunks = true Performance/use_chunks = true
Performance/chunk_dimensions = Vector3(15, 15, 15) Performance/chunk_dimensions = Vector3(15, 15, 15)
metadata/_custom_type_script = "uid://mlpya7qid02x" metadata/_custom_type_script = "uid://mlpya7qid02x"
@ -211,8 +208,3 @@ script = ExtResource("9_88tl0")
negative = true negative = true
shape = SubResource("Resource_x2olw") shape = SubResource("Resource_x2olw")
metadata/_custom_type_script = "uid://bsl3en0gdt8ka" metadata/_custom_type_script = "uid://bsl3en0gdt8ka"
[node name="ScatterCache" type="Node3D" parent="."]
script = ExtResource("12_fdb1k")
cache_file = "res://scenes/scatter_cache.res"
metadata/_custom_type_script = "uid://bfr4urrxjg8sm"

Binary file not shown.

Binary file not shown.

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=27 format=4 uid="uid://dtbrnxalat1d4"] [gd_scene load_steps=28 format=4 uid="uid://dtbrnxalat1d4"]
[ext_resource type="PackedScene" uid="uid://wsu3b5udqtdu" path="res://meshes/village/Wall_UnevenBrick_Straight.gltf" id="1_4mrxx"] [ext_resource type="PackedScene" uid="uid://wsu3b5udqtdu" path="res://meshes/village/Wall_UnevenBrick_Straight.gltf" id="1_4mrxx"]
[ext_resource type="Texture2D" uid="uid://bgc5rl13dopuj" path="res://addons/proton_scatter/demos/assets/textures/sky_2.png" id="1_w7kh3"] [ext_resource type="Texture2D" uid="uid://bgc5rl13dopuj" path="res://addons/proton_scatter/demos/assets/textures/sky_2.png" id="1_w7kh3"]
@ -9,6 +9,7 @@
[ext_resource type="PackedScene" uid="uid://7bhh6aas0sxr" path="res://meshes/village/Window_Wide_Round1.gltf" id="5_q5onr"] [ext_resource type="PackedScene" uid="uid://7bhh6aas0sxr" path="res://meshes/village/Window_Wide_Round1.gltf" id="5_q5onr"]
[ext_resource type="PackedScene" uid="uid://c3fv7wek4rjjt" path="res://meshes/village/Floor_WoodLight.gltf" id="6_jhx03"] [ext_resource type="PackedScene" uid="uid://c3fv7wek4rjjt" path="res://meshes/village/Floor_WoodLight.gltf" id="6_jhx03"]
[ext_resource type="PackedScene" uid="uid://cqm26jf01p8uv" path="res://scenes/portal_door.tscn" id="10_q5onr"] [ext_resource type="PackedScene" uid="uid://cqm26jf01p8uv" path="res://scenes/portal_door.tscn" id="10_q5onr"]
[ext_resource type="PackedScene" uid="uid://v2td8h7kmqic" path="res://meshes/interior/Bed_Twin2.gltf" id="13_7t5mc"]
[ext_resource type="Script" uid="uid://cw1r4c1d7beyv" path="res://addons/portals/scripts/portal_3d.gd" id="13_xo05s"] [ext_resource type="Script" uid="uid://cw1r4c1d7beyv" path="res://addons/portals/scripts/portal_3d.gd" id="13_xo05s"]
[ext_resource type="Material" uid="uid://dcfkcyddxkglf" path="res://addons/portals/materials/editor-preview-portal-material.tres" id="14_dss4m"] [ext_resource type="Material" uid="uid://dcfkcyddxkglf" path="res://addons/portals/materials/editor-preview-portal-material.tres" id="14_dss4m"]
[ext_resource type="Script" uid="uid://bxcel82b180o3" path="res://addons/portals/scripts/portal_boxmesh.gd" id="15_7t5mc"] [ext_resource type="Script" uid="uid://bxcel82b180o3" path="res://addons/portals/scripts/portal_boxmesh.gd" id="15_7t5mc"]
@ -93,17 +94,17 @@ light_energy = 2.0
light_bake_mode = 1 light_bake_mode = 1
shadow_enabled = true shadow_enabled = true
[node name="CharacterBody3D" type="CharacterBody3D" parent="." node_paths=PackedStringArray("camera")] [node name="Player" type="CharacterBody3D" parent="." node_paths=PackedStringArray("camera")]
transform = Transform3D(-0.658689, 0, 0.752415, 0, 1, 0, -0.752415, 0, -0.658689, 12.1193, 1.93814, -3.63533) transform = Transform3D(-0.658689, 0, 0.752415, 0, 1, 0, -0.752415, 0, -0.658689, 12.1193, 1.93814, -3.63533)
collision_layer = 3 collision_layer = 3
script = ExtResource("23_kpybi") script = ExtResource("23_kpybi")
camera = NodePath("Camera3D") camera = NodePath("Camera3D")
metadata/_edit_group_ = true metadata/_edit_group_ = true
[node name="CollisionShape3D" type="CollisionShape3D" parent="CharacterBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Player"]
shape = SubResource("CapsuleShape3D_ctatt") shape = SubResource("CapsuleShape3D_ctatt")
[node name="Camera3D" type="Camera3D" parent="CharacterBody3D"] [node name="Camera3D" type="Camera3D" parent="Player"]
transform = Transform3D(1, 0, 2.98023e-08, 0, 1, 0, -2.98023e-08, 0, 1, 0, 0.7, 0) transform = Transform3D(1, 0, 2.98023e-08, 0, 1, 0, -2.98023e-08, 0, 1, 0, 0.7, 0)
[node name="Meadow" parent="." instance=ExtResource("3_jhx03")] [node name="Meadow" parent="." instance=ExtResource("3_jhx03")]
@ -147,7 +148,7 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 3.2, 0
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 0)
[node name="Window_Wide_Round12" parent="House_Small" instance=ExtResource("5_q5onr")] [node name="Window_Wide_Round12" parent="House_Small" instance=ExtResource("5_q5onr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, -0.068238, 0)
[node name="Floor_WoodLight2" parent="House_Small" instance=ExtResource("6_jhx03")] [node name="Floor_WoodLight2" parent="House_Small" instance=ExtResource("6_jhx03")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.2) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.2)
@ -170,7 +171,7 @@ light_bake_mode = 1
shadow_enabled = true shadow_enabled = true
[node name="Roof_RoundTiles_4x42" parent="House_Small" instance=ExtResource("22_kpybi")] [node name="Roof_RoundTiles_4x42" parent="House_Small" instance=ExtResource("22_kpybi")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.852654, 3.1, -2.21197) transform = Transform3D(-4.84364e-08, 0, 1, 0, 1, 0, -1.1081, 0, -4.37114e-08, 0.852654, 3.1, -2.21197)
[node name="Roof_Front_Brick42" parent="House_Small/Roof_RoundTiles_4x42" instance=ExtResource("23_ctatt")] [node name="Roof_Front_Brick42" parent="House_Small/Roof_RoundTiles_4x42" instance=ExtResource("23_ctatt")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.38419e-07, 0, 2.4) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.38419e-07, 0, 2.4)
@ -178,6 +179,9 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.38419e-07, 0, 2.4)
[node name="Roof_Front_Brick43" parent="House_Small/Roof_RoundTiles_4x42" instance=ExtResource("23_ctatt")] [node name="Roof_Front_Brick43" parent="House_Small/Roof_RoundTiles_4x42" instance=ExtResource("23_ctatt")]
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -4.76837e-07, 0, -2.1) transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -4.76837e-07, 0, -2.1)
[node name="Bed_Twin22" parent="House_Small" instance=ExtResource("13_7t5mc")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.253564, 0, -2.99754)
[node name="HouseBig" parent="." instance=ExtResource("16_dss4m")] [node name="HouseBig" parent="." instance=ExtResource("16_dss4m")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1000, 0, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1000, 0, 0)

View File

@ -2,25 +2,35 @@ extends CharacterBody3D
@export var camera: Camera3D @export var camera: Camera3D
@export var SPEED = 4.0 var SPEED = 2.0
const JUMP_VELOCITY = 4.5 const JUMP_VELOCITY = 4.5
const MOUSE_SENSITIVITY = 0.004 const MOUSE_SENSITIVITY = 0.004
const ROTATION_SPEED := 4.0 # How fast to interpolate (higher = snappier)
var target_rotation := Vector2.ZERO # x = pitch, y = yaw
func _ready() -> void: func _ready() -> void:
assert(camera != null, "Forgot to set camera in editor") assert(camera != null, "Forgot to set camera in editor")
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
## Implements [member Portal3D.ON_TELEPORT_CALLBACK] # Initialize target rotation from current rotation
func on_teleport(portal: Portal3D) -> void: target_rotation.y = rotation.y
print("on_teleport: player position - ",self.global_position) target_rotation.x = camera.rotation.x
func _unhandled_input(event: InputEvent) -> void: func _unhandled_input(event: InputEvent) -> void:
if event is InputEventMouseMotion: if event is InputEventMouseMotion and Input.mouse_mode == Input.MOUSE_MODE_CAPTURED:
if Input.mouse_mode == Input.MOUSE_MODE_CAPTURED: target_rotation.y -= event.relative.x * MOUSE_SENSITIVITY
rotate_y(-event.screen_relative.x * MOUSE_SENSITIVITY) target_rotation.x -= event.relative.y * MOUSE_SENSITIVITY
camera.rotate_x(-event.screen_relative.y * MOUSE_SENSITIVITY) target_rotation.x = clamp(target_rotation.x, deg_to_rad(-80), deg_to_rad(80))
camera.rotation.x = clamp(camera.rotation.x, deg_to_rad(-80), deg_to_rad(80))
func _process(delta: float) -> void:
# Smoothly interpolate current rotation toward target
rotation.y = lerp_angle(rotation.y, target_rotation.y, delta * ROTATION_SPEED)
camera.rotation.x = lerp_angle(camera.rotation.x, target_rotation.x, delta * ROTATION_SPEED)
func _physics_process(delta: float) -> void: func _physics_process(delta: float) -> void:
var right: Vector3 = (global_transform.basis.x * Vector3(1, 0, 1)).normalized() var right: Vector3 = (global_transform.basis.x * Vector3(1, 0, 1)).normalized()
var forward: Vector3 = (-global_transform.basis.z * Vector3(1, 0, 1)).normalized() var forward: Vector3 = (-global_transform.basis.z * Vector3(1, 0, 1)).normalized()