diff --git a/Audio/Music/WinterTales - New Bells.ogg b/Audio/Music/WinterTales - New Bells.ogg new file mode 100644 index 0000000..dfa09c1 Binary files /dev/null and b/Audio/Music/WinterTales - New Bells.ogg differ diff --git a/Audio/Music/WinterTales - New Bells.ogg.import b/Audio/Music/WinterTales - New Bells.ogg.import new file mode 100644 index 0000000..6d0a1be --- /dev/null +++ b/Audio/Music/WinterTales - New Bells.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://0ws120darbw0" +path="res://.godot/imported/WinterTales - New Bells.ogg-7a8b10c7af2502ec76b477b9c14f68a0.oggvorbisstr" + +[deps] + +source_file="res://Audio/Music/WinterTales - New Bells.ogg" +dest_files=["res://.godot/imported/WinterTales - New Bells.ogg-7a8b10c7af2502ec76b477b9c14f68a0.oggvorbisstr"] + +[params] + +loop=true +loop_offset=0.0 +bpm=0.0 +beat_count=0 +bar_beats=4 diff --git a/Audio/Sounds/Collecting/WinterTales - Collect SFX.ogg b/Audio/Sounds/Collecting/WinterTales - Collect SFX.ogg new file mode 100644 index 0000000..b248d92 Binary files /dev/null and b/Audio/Sounds/Collecting/WinterTales - Collect SFX.ogg differ diff --git a/Audio/Sounds/Collecting/WinterTales - Collect SFX.ogg.import b/Audio/Sounds/Collecting/WinterTales - Collect SFX.ogg.import new file mode 100644 index 0000000..3fa8889 --- /dev/null +++ b/Audio/Sounds/Collecting/WinterTales - Collect SFX.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://b5uyb53maa0t1" +path="res://.godot/imported/WinterTales - Collect SFX.ogg-0678164699725c097f1754618ddac23f.oggvorbisstr" + +[deps] + +source_file="res://Audio/Sounds/Collecting/WinterTales - Collect SFX.ogg" +dest_files=["res://.godot/imported/WinterTales - Collect SFX.ogg-0678164699725c097f1754618ddac23f.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/Audio/Sounds/Foot Steps/WinterTales - FootSteps.ogg b/Audio/Sounds/Foot Steps/WinterTales - FootSteps.ogg new file mode 100644 index 0000000..9628888 Binary files /dev/null and b/Audio/Sounds/Foot Steps/WinterTales - FootSteps.ogg differ diff --git a/Audio/Sounds/Foot Steps/WinterTales - FootSteps.ogg.import b/Audio/Sounds/Foot Steps/WinterTales - FootSteps.ogg.import new file mode 100644 index 0000000..61e73a3 --- /dev/null +++ b/Audio/Sounds/Foot Steps/WinterTales - FootSteps.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://dltk1xw3s35qw" +path="res://.godot/imported/WinterTales - FootSteps.ogg-c4ecd935fabcc4eddab8a70484ffd435.oggvorbisstr" + +[deps] + +source_file="res://Audio/Sounds/Foot Steps/WinterTales - FootSteps.ogg" +dest_files=["res://.godot/imported/WinterTales - FootSteps.ogg-c4ecd935fabcc4eddab8a70484ffd435.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/Character/Character.gdshader b/Character/Character.gdshader new file mode 100644 index 0000000..a110255 --- /dev/null +++ b/Character/Character.gdshader @@ -0,0 +1,67 @@ + +shader_type spatial; +render_mode blend_mix, depth_draw_opaque, cull_disabled, diffuse_burley, specular_schlick_ggx, sss_mode_skin; + +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Math.gdshaderinc" +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Light.gdshaderinc" + +uniform vec4 albedo : source_color; +uniform sampler2D texture_albedo : source_color, filter_linear_mipmap, repeat_enable; + +uniform float roughness : hint_range(0.0, 1.0); +uniform sampler2D texture_roughness : hint_roughness_r, filter_linear_mipmap, repeat_enable; + +uniform float metallic : hint_range(0.0, 1.0, 0.01); +uniform sampler2D texture_metallic : hint_default_white, filter_linear_mipmap, repeat_enable; + +uniform float specular : hint_range(0.0, 1.0, 0.01); + +uniform vec3 uv1_scale; +uniform vec3 uv1_offset; + +uniform float scatter:hint_range( 0.0, 1.0 ) = 0.5; +uniform float scatterBoost:hint_range( 0.0, 1.0 ) = 0.5; +uniform float scatterDepth:hint_range( 0.0, 1.0 ) = 0.5; +// [ FRESNEL ] +group_uniforms fresnel; +uniform float fresnelZOffset; +uniform float fresnelPowerAmount; +uniform float fresnelPostScale; +uniform float fresnelPostOffset; +uniform float fresnelColorAmount:hint_range( 0.0, 1.0 ); +uniform vec3 fresnelColor:source_color; +uniform vec3 fresnelEmission:source_color; + +uniform float fresnelRoughnessAmount:hint_range( 0.0, 1.0 ); +uniform float fresnelRoughness; +void vertex() +{ + UV = UV * uv1_scale.xy + uv1_offset.xy; +} + +void fragment() +{ + float fresnel = fresnelNormalizedFromViewAdvanced( NORMAL, fresnelPowerAmount, fresnelPostScale, fresnelPostScale, fresnelPostOffset ); + fresnel = clamp01( fresnel ); + + vec4 albedo_tex = texture( texture_albedo, UV ); + ALBEDO = albedo.rgb * albedo_tex.rgb; + ALBEDO = mix( ALBEDO, fresnelColor, fresnel * fresnelColorAmount ); + + EMISSION = fresnel * fresnelEmission; + + float metallic_tex = texture( texture_metallic, UV ).b; + METALLIC = metallic_tex * metallic; + SPECULAR = specular; + + float roughness_tex = texture( texture_roughness, UV ).g; + ROUGHNESS = roughness_tex * roughness; + ROUGHNESS = mix( ROUGHNESS, fresnelRoughness, fresnel * fresnelRoughnessAmount ); + + SSS_STRENGTH = max( 0.00001, scatter * 2.0 ); + + SSS_TRANSMITTANCE_COLOR = vec4( 1.0 ); + SSS_TRANSMITTANCE_DEPTH = max( 0.00001, scatterDepth * 8.0 ); + SSS_TRANSMITTANCE_BOOST = max( 0.00001, scatterBoost * 4.0 ); + +} diff --git a/Character/Character.gdshader.uid b/Character/Character.gdshader.uid new file mode 100644 index 0000000..bdf5d51 --- /dev/null +++ b/Character/Character.gdshader.uid @@ -0,0 +1 @@ +uid://33kpp8mnxfgv diff --git a/Character/Character.material b/Character/Character.material new file mode 100644 index 0000000..5bc2685 Binary files /dev/null and b/Character/Character.material differ diff --git a/Character/Foot Steps/FootSteps.cs b/Character/Foot Steps/FootSteps.cs new file mode 100644 index 0000000..b24b42b --- /dev/null +++ b/Character/Foot Steps/FootSteps.cs @@ -0,0 +1,69 @@ +using Godot; +using Rokojori; + +[Tool, GlobalClass] +public partial class FootSteps: Action +{ + [Export] + public Node3D decalTransform; + + [Export] + public float offset = 0.1f; + + [Export] + public Decal leftStep; + + [Export] + public Decal rightStep; + + + [Export] + public int maxPairs = 10; + + + [Export] + public Node footStepsContainer; + + int counter = 0; + + protected override void _OnTrigger() + { + while ( footStepsContainer.GetChildCount() <= counter ) + { + var index = footStepsContainer.GetChildCount(); + var isLeft = index % 2 == 0; + + footStepsContainer.CreateChildFromDuplicate( isLeft ? leftStep : rightStep ); + } + + var decal = (Decal)footStepsContainer.GetChild( counter ); + var isCurrentLeft = counter % 2 == 0; + var offsetDirection = isCurrentLeft ? -1 : 1; + + decal.Modulate = Colors.White; + decal.GlobalPosition = decalTransform.GlobalPosition + decalTransform.GlobalRight() * offsetDirection * offset; + decal.SetGlobalYaw( decalTransform.GlobalYawRadians() ); + + for ( int i = 0; i < maxPairs * 2; i++ ) + { + var index = counter - i; + + index = MathX.Repeat( index, footStepsContainer.GetChildCount() ); + + if ( index >= footStepsContainer.GetChildCount() ) + { + break; + } + + var t = 1.0f - i / ( maxPairs * 2f ); + + var childDecal = (Decal)footStepsContainer.GetChild( index ); + childDecal.Modulate = new Color( 1, 1, 1, t ); + + // this.LogInfo( i, ">>", t._FFF() ); + } + + counter = ( counter + 1 ) % ( maxPairs * 2 ); + } + +} \ No newline at end of file diff --git a/Character/Foot Steps/FootSteps.cs.uid b/Character/Foot Steps/FootSteps.cs.uid new file mode 100644 index 0000000..03ef218 --- /dev/null +++ b/Character/Foot Steps/FootSteps.cs.uid @@ -0,0 +1 @@ +uid://de0te7x7feran diff --git a/Character/Foot Steps/foot-step-albedo-l.png b/Character/Foot Steps/foot-step-albedo-l.png new file mode 100644 index 0000000..c0c9e51 Binary files /dev/null and b/Character/Foot Steps/foot-step-albedo-l.png differ diff --git a/Character/Foot Steps/foot-step-albedo-l.png.import b/Character/Foot Steps/foot-step-albedo-l.png.import new file mode 100644 index 0000000..70c75f3 --- /dev/null +++ b/Character/Foot Steps/foot-step-albedo-l.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://gcffm2ofbvw4" +path="res://.godot/imported/foot-step-albedo-l.png-220619b3fde87e3371e157b4ea375421.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Character/Foot Steps/foot-step-albedo-l.png" +dest_files=["res://.godot/imported/foot-step-albedo-l.png-220619b3fde87e3371e157b4ea375421.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 diff --git a/Character/Foot Steps/foot-step-albedo-r.png b/Character/Foot Steps/foot-step-albedo-r.png new file mode 100644 index 0000000..304e897 Binary files /dev/null and b/Character/Foot Steps/foot-step-albedo-r.png differ diff --git a/Character/Foot Steps/foot-step-albedo-r.png.import b/Character/Foot Steps/foot-step-albedo-r.png.import new file mode 100644 index 0000000..d499e16 --- /dev/null +++ b/Character/Foot Steps/foot-step-albedo-r.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://xr1eic8t8v71" +path="res://.godot/imported/foot-step-albedo-r.png-ec95123394301a7a68bcf7a61b39ff08.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Character/Foot Steps/foot-step-albedo-r.png" +dest_files=["res://.godot/imported/foot-step-albedo-r.png-ec95123394301a7a68bcf7a61b39ff08.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 diff --git a/Character/Foot Steps/foot-step-albedo.jpg b/Character/Foot Steps/foot-step-albedo.jpg new file mode 100644 index 0000000..6aeafa4 Binary files /dev/null and b/Character/Foot Steps/foot-step-albedo.jpg differ diff --git a/Character/Foot Steps/foot-step-albedo.jpg.import b/Character/Foot Steps/foot-step-albedo.jpg.import new file mode 100644 index 0000000..24d0ee4 --- /dev/null +++ b/Character/Foot Steps/foot-step-albedo.jpg.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ubp0dblu6q21" +path="res://.godot/imported/foot-step-albedo.jpg-a3c56e06384c5f4c87951f2fdabb5c20.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Character/Foot Steps/foot-step-albedo.jpg" +dest_files=["res://.godot/imported/foot-step-albedo.jpg-a3c56e06384c5f4c87951f2fdabb5c20.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 diff --git a/Character/Foot Steps/foot-step-albedo.png~ b/Character/Foot Steps/foot-step-albedo.png~ new file mode 100644 index 0000000..4c59677 Binary files /dev/null and b/Character/Foot Steps/foot-step-albedo.png~ differ diff --git a/Character/Foot Steps/foot-step-normal-l.png b/Character/Foot Steps/foot-step-normal-l.png new file mode 100644 index 0000000..6d6cc44 Binary files /dev/null and b/Character/Foot Steps/foot-step-normal-l.png differ diff --git a/Character/Foot Steps/foot-step-normal-l.png.import b/Character/Foot Steps/foot-step-normal-l.png.import new file mode 100644 index 0000000..fe4195f --- /dev/null +++ b/Character/Foot Steps/foot-step-normal-l.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bjih5o0et5l1a" +path="res://.godot/imported/foot-step-normal-l.png-2403512c27e2d2f25184d2982a846033.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Character/Foot Steps/foot-step-normal-l.png" +dest_files=["res://.godot/imported/foot-step-normal-l.png-2403512c27e2d2f25184d2982a846033.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 diff --git a/Character/Foot Steps/foot-step-normal-r.png b/Character/Foot Steps/foot-step-normal-r.png new file mode 100644 index 0000000..34fb678 Binary files /dev/null and b/Character/Foot Steps/foot-step-normal-r.png differ diff --git a/Character/Foot Steps/foot-step-normal-r.png.import b/Character/Foot Steps/foot-step-normal-r.png.import new file mode 100644 index 0000000..a81e376 --- /dev/null +++ b/Character/Foot Steps/foot-step-normal-r.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://du3nk2ko48qq6" +path="res://.godot/imported/foot-step-normal-r.png-37cbfff60f363a522c0116553f419b42.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Character/Foot Steps/foot-step-normal-r.png" +dest_files=["res://.godot/imported/foot-step-normal-r.png-37cbfff60f363a522c0116553f419b42.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 diff --git a/Character/Foot Steps/foot-step-normal.jpg b/Character/Foot Steps/foot-step-normal.jpg new file mode 100644 index 0000000..cf17202 Binary files /dev/null and b/Character/Foot Steps/foot-step-normal.jpg differ diff --git a/Character/Foot Steps/foot-step-normal.jpg.import b/Character/Foot Steps/foot-step-normal.jpg.import new file mode 100644 index 0000000..df19a08 --- /dev/null +++ b/Character/Foot Steps/foot-step-normal.jpg.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dftbsh64tcyjh" +path="res://.godot/imported/foot-step-normal.jpg-09a100e1d19e88e7cc1018348c45529a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Character/Foot Steps/foot-step-normal.jpg" +dest_files=["res://.godot/imported/foot-step-normal.jpg-09a100e1d19e88e7cc1018348c45529a.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 diff --git a/Character/Foot Steps/foot-step-normal.jpg~ b/Character/Foot Steps/foot-step-normal.jpg~ new file mode 100644 index 0000000..3414b8f Binary files /dev/null and b/Character/Foot Steps/foot-step-normal.jpg~ differ diff --git a/Character/Foot Steps/foot-step-occlusion.jpg b/Character/Foot Steps/foot-step-occlusion.jpg new file mode 100644 index 0000000..6aeafa4 Binary files /dev/null and b/Character/Foot Steps/foot-step-occlusion.jpg differ diff --git a/Character/Foot Steps/foot-step-occlusion.jpg.import b/Character/Foot Steps/foot-step-occlusion.jpg.import new file mode 100644 index 0000000..5a50fed --- /dev/null +++ b/Character/Foot Steps/foot-step-occlusion.jpg.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://di5um2lvjbdl0" +path="res://.godot/imported/foot-step-occlusion.jpg-492a9ec536bae56ab7f1c3e327c118a8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Character/Foot Steps/foot-step-occlusion.jpg" +dest_files=["res://.godot/imported/foot-step-occlusion.jpg-492a9ec536bae56ab7f1c3e327c118a8.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 diff --git a/Character/Foot Steps/foot-step.jpg b/Character/Foot Steps/foot-step.jpg new file mode 100644 index 0000000..28c72f8 Binary files /dev/null and b/Character/Foot Steps/foot-step.jpg differ diff --git a/Character/Foot Steps/foot-step.jpg.import b/Character/Foot Steps/foot-step.jpg.import new file mode 100644 index 0000000..ad84313 --- /dev/null +++ b/Character/Foot Steps/foot-step.jpg.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c3egosm4gh0wb" +path="res://.godot/imported/foot-step.jpg-533fd6aa7e35e7ee5d00ebe4d644cd0d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Character/Foot Steps/foot-step.jpg" +dest_files=["res://.godot/imported/foot-step.jpg-533fd6aa7e35e7ee5d00ebe4d644cd0d.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 diff --git a/Character/Foot Steps/foot-step.svg b/Character/Foot Steps/foot-step.svg new file mode 100644 index 0000000..2a18f81 --- /dev/null +++ b/Character/Foot Steps/foot-step.svg @@ -0,0 +1,78 @@ + + + + diff --git a/Character/Foot Steps/foot-step.svg.import b/Character/Foot Steps/foot-step.svg.import new file mode 100644 index 0000000..4e61276 --- /dev/null +++ b/Character/Foot Steps/foot-step.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://eil5f1dlp5dm" +path="res://.godot/imported/foot-step.svg-1d37f6f108bf00760fcdbe9146e1e5a8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Character/Foot Steps/foot-step.svg" +dest_files=["res://.godot/imported/foot-step.svg-1d37f6f108bf00760fcdbe9146e1e5a8.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/Character/Hearts/heart-fill-shape.png b/Character/Hearts/heart-fill-shape.png new file mode 100644 index 0000000..32f856c Binary files /dev/null and b/Character/Hearts/heart-fill-shape.png differ diff --git a/Character/Hearts/heart-fill-shape.png.import b/Character/Hearts/heart-fill-shape.png.import new file mode 100644 index 0000000..fce2993 --- /dev/null +++ b/Character/Hearts/heart-fill-shape.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://1u5uhrctxlih" +path="res://.godot/imported/heart-fill-shape.png-2af62ef35111d056056ccf6f969c3ecd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Character/Hearts/heart-fill-shape.png" +dest_files=["res://.godot/imported/heart-fill-shape.png-2af62ef35111d056056ccf6f969c3ecd.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 diff --git a/Character/Hearts/heart-outline-shape.png b/Character/Hearts/heart-outline-shape.png new file mode 100644 index 0000000..04c9166 Binary files /dev/null and b/Character/Hearts/heart-outline-shape.png differ diff --git a/Character/Hearts/heart-outline-shape.png.import b/Character/Hearts/heart-outline-shape.png.import new file mode 100644 index 0000000..f3d7498 --- /dev/null +++ b/Character/Hearts/heart-outline-shape.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bvbq8a0j2ou85" +path="res://.godot/imported/heart-outline-shape.png-bac1469b40f222ab212c47ce1bf54572.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Character/Hearts/heart-outline-shape.png" +dest_files=["res://.godot/imported/heart-outline-shape.png-bac1469b40f222ab212c47ce1bf54572.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 diff --git a/Character/Hearts/heart-shapes.svg b/Character/Hearts/heart-shapes.svg new file mode 100644 index 0000000..02daf46 --- /dev/null +++ b/Character/Hearts/heart-shapes.svg @@ -0,0 +1,86 @@ + + + + diff --git a/Character/Hearts/heart-shapes.svg.import b/Character/Hearts/heart-shapes.svg.import new file mode 100644 index 0000000..70d7670 --- /dev/null +++ b/Character/Hearts/heart-shapes.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dpdvnl4e5y7oo" +path="res://.godot/imported/heart-shapes.svg-114a4f8174cf9937502d69f10310c1c9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Character/Hearts/heart-shapes.svg" +dest_files=["res://.godot/imported/heart-shapes.svg-114a4f8174cf9937502d69f10310c1c9.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/Character/Hearts/hearts.svg b/Character/Hearts/hearts.svg new file mode 100644 index 0000000..7d16acb --- /dev/null +++ b/Character/Hearts/hearts.svg @@ -0,0 +1,507 @@ + + + + diff --git a/Character/Hearts/hearts.svg.import b/Character/Hearts/hearts.svg.import new file mode 100644 index 0000000..7a94b6d --- /dev/null +++ b/Character/Hearts/hearts.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d2fdva5fce87k" +path="res://.godot/imported/hearts.svg-bd1e4b4e7548bb81699837ac7803d950.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Character/Hearts/hearts.svg" +dest_files=["res://.godot/imported/hearts.svg-bd1e4b4e7548bb81699837ac7803d950.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/Character/Player Position Shader Property.tres b/Character/Player Position Shader Property.tres new file mode 100644 index 0000000..dd67a6e --- /dev/null +++ b/Character/Player Position Shader Property.tres @@ -0,0 +1,8 @@ +[gd_resource type="Resource" script_class="Vector3PropertyName" load_steps=2 format=3 uid="uid://d1ubyl1qt3nng"] + +[ext_resource type="Script" uid="uid://rukdqg1uo30" path="res://addons/rokojori_action_library/Runtime/Shading/Properties/Vector3PropertyName.cs" id="1_7uf55"] + +[resource] +script = ExtResource("1_7uf55") +propertyName = "playerPosition" +metadata/_custom_type_script = "uid://rukdqg1uo30" diff --git a/Character/Player-Collector.tres b/Character/Player-Collector.tres new file mode 100644 index 0000000..2c2f9aa --- /dev/null +++ b/Character/Player-Collector.tres @@ -0,0 +1,7 @@ +[gd_resource type="Resource" script_class="CollectorTypeFlag" load_steps=2 format=3 uid="uid://dfqc5ainuim21"] + +[ext_resource type="Script" uid="uid://dkd063lgqobog" path="res://addons/rokojori_action_library/Runtime/Interactions/Collecting/CollectorTypeFlag.cs" id="1_kthrk"] + +[resource] +script = ExtResource("1_kthrk") +metadata/_custom_type_script = "uid://dkd063lgqobog" diff --git a/Character/Smoothed Player Position Shader Property.tres b/Character/Smoothed Player Position Shader Property.tres new file mode 100644 index 0000000..d3d5384 --- /dev/null +++ b/Character/Smoothed Player Position Shader Property.tres @@ -0,0 +1,8 @@ +[gd_resource type="Resource" script_class="Vector3PropertyName" load_steps=2 format=3 uid="uid://b5gc2rsdvb8x1"] + +[ext_resource type="Script" uid="uid://rukdqg1uo30" path="res://addons/rokojori_action_library/Runtime/Shading/Properties/Vector3PropertyName.cs" id="1_jp03s"] + +[resource] +script = ExtResource("1_jp03s") +propertyName = "smoothedPlayerPosition" +metadata/_custom_type_script = "uid://rukdqg1uo30" diff --git a/Character/Variables/CollectItem.cs b/Character/Variables/CollectItem.cs new file mode 100644 index 0000000..08e011f --- /dev/null +++ b/Character/Variables/CollectItem.cs @@ -0,0 +1,35 @@ +using Godot; +using Rokojori; + +[Tool, GlobalClass] +public partial class CollectItem : Action +{ + [Export] + public Collector collector; + + [Export] + public PackedScene packedLabel; + + protected override void _OnTrigger() + { + var lastItem = collector.lastItemData; + + if ( lastItem == null ) + { + return; + } + + var name = lastItem.collectableType.collectableName; + + var collectablesContainer = Unique.Get().collectablesContainer; + + var labelRegion = collectablesContainer.CreateChild( packedLabel ); + + var label = labelRegion.Get(); + + label.text.locale = name; + label.image.Texture = lastItem.collectableType.collectableIcon; + + + } +} diff --git a/Character/Variables/CollectItem.cs.uid b/Character/Variables/CollectItem.cs.uid new file mode 100644 index 0000000..2c35e94 --- /dev/null +++ b/Character/Variables/CollectItem.cs.uid @@ -0,0 +1 @@ +uid://ctgt20fqo2wqg diff --git a/Character/Variables/CollectableLabel.cs b/Character/Variables/CollectableLabel.cs new file mode 100644 index 0000000..520c3c6 --- /dev/null +++ b/Character/Variables/CollectableLabel.cs @@ -0,0 +1,13 @@ +using Godot; +using Rokojori; + +[Tool, GlobalClass] +public partial class CollectableLabel: Node +{ + [Export] + public UIText text; + + [Export] + public UIImage image; + +} \ No newline at end of file diff --git a/Character/Variables/CollectableLabel.cs.uid b/Character/Variables/CollectableLabel.cs.uid new file mode 100644 index 0000000..4942119 --- /dev/null +++ b/Character/Variables/CollectableLabel.cs.uid @@ -0,0 +1 @@ +uid://cjlsn08m0vf3k diff --git a/Character/Variables/Present-Class.tres b/Character/Variables/Present-Class.tres new file mode 100644 index 0000000..742eec1 --- /dev/null +++ b/Character/Variables/Present-Class.tres @@ -0,0 +1,9 @@ +[gd_resource type="Resource" script_class="IntVariableClass" load_steps=2 format=3 uid="uid://be5fa1myu3tqs"] + +[ext_resource type="Script" uid="uid://djyqj3dds85d6" path="res://addons/rokojori_action_library/Runtime/GameObjects/Variables/Int/IntVariableClass.cs" id="1_r33d6"] + +[resource] +script = ExtResource("1_r33d6") +min = 0 +max = 99 +metadata/_custom_type_script = "uid://djyqj3dds85d6" diff --git a/Character/Variables/Presents.tres b/Character/Variables/Presents.tres new file mode 100644 index 0000000..c416e69 --- /dev/null +++ b/Character/Variables/Presents.tres @@ -0,0 +1,9 @@ +[gd_resource type="Resource" script_class="IntVariableClass" load_steps=2 format=3 uid="uid://cgus4plqjqrb6"] + +[ext_resource type="Script" uid="uid://djyqj3dds85d6" path="res://addons/rokojori_action_library/Runtime/GameObjects/Variables/Int/IntVariableClass.cs" id="1_qasj0"] + +[resource] +script = ExtResource("1_qasj0") +min = 0 +max = 99 +metadata/_custom_type_script = "uid://djyqj3dds85d6" diff --git a/GameObjects/Collectable-Collisions.tres b/GameObjects/Collectable-Collisions.tres new file mode 100644 index 0000000..bf62c0d --- /dev/null +++ b/GameObjects/Collectable-Collisions.tres @@ -0,0 +1,7 @@ +[gd_resource type="Resource" script_class="CollisionFlag" load_steps=2 format=3 uid="uid://daivy2l77st5v"] + +[ext_resource type="Script" uid="uid://crk6vntm10let" path="res://addons/rokojori_action_library/Runtime/Interactions/CollisionFlag.cs" id="1_xsxwh"] + +[resource] +script = ExtResource("1_xsxwh") +metadata/_custom_type_script = "uid://crk6vntm10let" diff --git a/GameObjects/Fence/Pole.tscn b/GameObjects/Fence/Pole.tscn new file mode 100644 index 0000000..7ccbe84 --- /dev/null +++ b/GameObjects/Fence/Pole.tscn @@ -0,0 +1,26 @@ +[gd_scene load_steps=4 format=3 uid="uid://dbymw68tg0w2g"] + +[ext_resource type="PackedScene" uid="uid://bqnu853bay13i" path="res://GameObjects/Pole/Pole.gltf" id="1_7badw"] + +[sub_resource type="BoxShape3D" id="BoxShape3D_2750v"] +size = Vector3(0.25, 1.6241, 0.25) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jdant"] +resource_name = "Material" +albedo_color = Color(0.24431226, 0.18323681, 0.18323681, 1) +metallic = 0.34 +metallic_specular = 1.0 +roughness = 0.33 + +[node name="Pole" type="StaticBody3D"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5135, 0) +shape = SubResource("BoxShape3D_2750v") + +[node name="Pole" parent="." instance=ExtResource("1_7badw")] + +[node name="Pole" parent="Pole" index="0"] +surface_material_override/0 = SubResource("StandardMaterial3D_jdant") + +[editable path="Pole"] diff --git a/GameObjects/Fence/Segment.tscn b/GameObjects/Fence/Segment.tscn new file mode 100644 index 0000000..e819bb3 --- /dev/null +++ b/GameObjects/Fence/Segment.tscn @@ -0,0 +1,39 @@ +[gd_scene load_steps=6 format=3 uid="uid://dfqfl8iqjfb2h"] + +[sub_resource type="BoxShape3D" id="BoxShape3D_txdr1"] +size = Vector3(1, 1, 0.1) + +[sub_resource type="QuadMesh" id="QuadMesh_goqji"] + +[sub_resource type="Gradient" id="Gradient_gwq84"] +offsets = PackedFloat32Array(0.06610169, 0.13461539, 0.13782051, 0.19491525, 0.5016949, 0.5169492, 0.5559322, 0.5762712, 0.8423729, 0.8898305, 0.8942308, 0.9440678) +colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0.9419355, 1, 1, 1, 0.22524545, 1, 1, 1, 0.26860976, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.2806828, 1, 1, 1, 0.3193657, 1, 1, 1, 0.9709677, 1, 1, 1, 1, 1, 1, 1, 0) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_46hce"] +gradient = SubResource("Gradient_gwq84") +fill_from = Vector2(0, 1) +fill_to = Vector2(0, 0) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hq3bi"] +resource_name = "Material" +transparency = 2 +alpha_scissor_threshold = 0.5 +alpha_antialiasing_mode = 0 +cull_mode = 2 +albedo_color = Color(0.24431226, 0.18323681, 0.18323681, 1) +albedo_texture = SubResource("GradientTexture2D_46hce") +metallic = 0.34 +metallic_specular = 1.0 +roughness = 0.33 + +[node name="Segment" type="StaticBody3D"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, -2.9802322e-08, 0, 0.99999994, 0, 2.9802322e-08, 0, 1, 0, 0, 0) +shape = SubResource("BoxShape3D_txdr1") + +[node name="Connection" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, -2.9802322e-08, 0, 0.9, 0, 2.9802322e-08, 0, 1, -4.7683716e-07, 0, 0) +mesh = SubResource("QuadMesh_goqji") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_hq3bi") diff --git a/GameObjects/Fir-Group/Fir Group Ice.tscn b/GameObjects/Fir-Group/Fir Group Ice.tscn index 8246d5c..84fdd09 100644 --- a/GameObjects/Fir-Group/Fir Group Ice.tscn +++ b/GameObjects/Fir-Group/Fir Group Ice.tscn @@ -1,65 +1,24 @@ -[gd_scene load_steps=44 format=4 uid="uid://d3brugocci17o"] +[gd_scene load_steps=40 format=4 uid="uid://d3brugocci17o"] [ext_resource type="PackedScene" uid="uid://c2nmnsvtjycko" path="res://GameObjects/Fir/Fir-Tree.gltf" id="1_gblxg"] -[ext_resource type="Texture2D" uid="uid://bw1bmbr0wb445" path="res://GameObjects/Fir/fir-side-ice.jpg" id="2_4pxk2"] +[ext_resource type="Material" uid="uid://bukxgehx43byh" path="res://GameObjects/Fir/Fir Ice Material.tres" id="2_mvr6i"] [ext_resource type="Script" uid="uid://bo0awqfi5eqg4" path="res://addons/rokojori_action_library/Runtime/Procedural/Assets/Grass/GrassPatch.cs" id="2_woxha"] +[ext_resource type="Material" uid="uid://w7gdgytbe1d1" path="res://GameObjects/Fir/Fir Trunk Material.tres" id="3_kmvfw"] +[ext_resource type="Material" uid="uid://dhup2o6fwun4t" path="res://UI/Map/Map Trees Circle.tres" id="4_4pxk2"] +[ext_resource type="Material" uid="uid://675ynr6grow8" path="res://GameObjects/Grass/Grass Ice.tres" id="5_kmvfw"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_3jsax"] radius = 1.62 height = 5.215 -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mvr6i"] -resource_name = "Fir" -cull_mode = 2 -albedo_texture = ExtResource("2_4pxk2") -roughness = 0.5 -texture_filter = 2 - [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_ojc8e"] radius = 1.395 height = 5.215 -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_kmvfw"] -resource_name = "Fir" -cull_mode = 2 -albedo_texture = ExtResource("2_4pxk2") -roughness = 0.5 -texture_filter = 2 - [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_5ep8c"] radius = 1.01 height = 5.215 -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_pg7of"] -resource_name = "Fir" -cull_mode = 2 -albedo_texture = ExtResource("2_4pxk2") -roughness = 0.5 -texture_filter = 2 - -[sub_resource type="Gradient" id="Gradient_n270a"] -offsets = PackedFloat32Array(0.24579124, 0.8249158) -colors = PackedColorArray(0.33010367, 0.69687116, 0.50558335, 1, 0.73337173, 0.8258557, 0.79009736, 1) - -[sub_resource type="GradientTexture2D" id="GradientTexture2D_ru2n6"] -gradient = SubResource("Gradient_n270a") -fill_from = Vector2(0, 1) -fill_to = Vector2(0, 0) - -[sub_resource type="Gradient" id="Gradient_s8tmj"] -colors = PackedColorArray(0.6561392, 0.6561392, 0.6561392, 1, 1, 1, 1, 1) - -[sub_resource type="GradientTexture2D" id="GradientTexture2D_aqryr"] -gradient = SubResource("Gradient_s8tmj") -fill_from = Vector2(0, 1) -fill_to = Vector2(0, 0) - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vgon5"] -albedo_texture = SubResource("GradientTexture2D_ru2n6") -ao_enabled = true -ao_light_affect = 1.0 -ao_texture = SubResource("GradientTexture2D_aqryr") - [sub_resource type="Curve" id="Curve_shj3s"] _data = [Vector2(0, 0), 0.0, 1.0, 0, 1, Vector2(1, 1), 1.0, 0.0, 1, 0] point_count = 2 @@ -158,14 +117,14 @@ point_count = 2 _data = [Vector2(0, 0), 0.0, 1.0, 0, 1, Vector2(1, 1), 1.0, 0.0, 1, 0] point_count = 2 -[sub_resource type="ArrayMesh" id="ArrayMesh_g8ioq"] +[sub_resource type="ArrayMesh" id="ArrayMesh_kmvfw"] _surfaces = [{ "aabb": AABB(-4.2873783, -0.050773274, -4.4053464, 8.6574135, 0.77353084, 8.539507), "attribute_data": PackedByteArray("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"), "format": 34359742487, "index_count": 13656, "index_data": PackedByteArray("AAABAAIAAQAAAAMABAADAAAAAwAEAAUABgAHAAgACQAIAAcACAAJAAoACwAKAAkADAANAA4ADQAMAA8AEAAPAAwADwAQABEAEgATABQAFQAUABMAFAAVABYAFwAWABUAGAAZABoAGQAYABsAHAAbABgAGwAcAB0AHgAfACAAIQAgAB8AIAAhACIAIwAiACEAJAAlACYAJQAkACcAKAAnACQAJwAoACkAKgArACwALQAsACsALAAtAC4ALwAuAC0AMAAxADIAMQAwADMANAAzADAAMwA0ADUANgA3ADgAOQA4ADcAOAA5ADoAOwA6ADkAPAA9AD4APQA8AD8AQAA/ADwAPwBAAEEAQgBDAEQARQBEAEMARABFAEYARwBGAEUASABJAEoASQBIAEsATABLAEgASwBMAE0ATgBPAFAAUQBQAE8AUABRAFIAUwBSAFEAVABVAFYAVQBUAFcAWABXAFQAVwBYAFkAWgBbAFwAXQBcAFsAXABdAF4AXwBeAF0AYABhAGIAYQBgAGMAZABjAGAAYwBkAGUAZgBnAGgAaQBoAGcAaABpAGoAawBqAGkAbABtAG4AbQBsAG8AcABvAGwAbwBwAHEAcgBzAHQAdQB0AHMAdAB1AHYAdwB2AHUAeAB5AHoAeQB4AHsAfAB7AHgAewB8AH0AfgB/AIAAgQCAAH8AgACBAIIAgwCCAIEAhACFAIYAhQCEAIcAiACHAIQAhwCIAIkAigCLAIwAjQCMAIsAjACNAI4AjwCOAI0AkACRAJIAkQCQAJMAlACTAJAAkwCUAJUAlgCXAJgAmQCYAJcAmACZAJoAmwCaAJkAnACdAJ4AnQCcAJ8AoACfAJwAnwCgAKEAogCjAKQApQCkAKMApAClAKYApwCmAKUAqACpAKoAqQCoAKsArACrAKgAqwCsAK0ArgCvALAAsQCwAK8AsACxALIAswCyALEAtAC1ALYAtQC0ALcAuAC3ALQAtwC4ALkAugC7ALwAvQC8ALsAvAC9AL4AvwC+AL0AwADBAMIAwQDAAMMAxADDAMAAwwDEAMUAxgDHAMgAyQDIAMcAyADJAMoAywDKAMkAzADNAM4AzQDMAM8A0ADPAMwAzwDQANEA0gDTANQA1QDUANMA1ADVANYA1wDWANUA2ADZANoA2QDYANsA3ADbANgA2wDcAN0A3gDfAOAA4QDgAN8A4ADhAOIA4wDiAOEA5ADlAOYA5QDkAOcA6ADnAOQA5wDoAOkA6gDrAOwA7QDsAOsA7ADtAO4A7wDuAO0A8ADxAPIA8QDwAPMA9ADzAPAA8wD0APUA9gD3APgA+QD4APcA+AD5APoA+wD6APkA/AD9AP4A/QD8AP8AAAH/APwA/wAAAQEBAgEDAQQBBQEEAQMBBAEFAQYBBwEGAQUBCAEJAQoBCQEIAQsBDAELAQgBCwEMAQ0BDgEPARABEQEQAQ8BEAERARIBEwESAREBFAEVARYBFQEUARcBGAEXARQBFwEYARkBGgEbARwBHQEcARsBHAEdAR4BHwEeAR0BIAEhASIBIQEgASMBJAEjASABIwEkASUBJgEnASgBKQEoAScBKAEpASoBKwEqASkBLAEtAS4BLQEsAS8BMAEvASwBLwEwATEBMgEzATQBNQE0ATMBNAE1ATYBNwE2ATUBOAE5AToBOQE4ATsBPAE7ATgBOwE8AT0BPgE/AUABQQFAAT8BQAFBAUIBQwFCAUEBRAFFAUYBRQFEAUcBSAFHAUQBRwFIAUkBSgFLAUwBTQFMAUsBTAFNAU4BTwFOAU0BUAFRAVIBUQFQAVMBVAFTAVABUwFUAVUBVgFXAVgBWQFYAVcBWAFZAVoBWwFaAVkBXAFdAV4BXQFcAV8BYAFfAVwBXwFgAWEBYgFjAWQBZQFkAWMBZAFlAWYBZwFmAWUBaAFpAWoBaQFoAWsBbAFrAWgBawFsAW0BbgFvAXABcQFwAW8BcAFxAXIBcwFyAXEBdAF1AXYBdQF0AXcBeAF3AXQBdwF4AXkBegF7AXwBfQF8AXsBfAF9AX4BfwF+AX0BgAGBAYIBgQGAAYMBhAGDAYABgwGEAYUBhgGHAYgBiQGIAYcBiAGJAYoBiwGKAYkBjAGNAY4BjQGMAY8BkAGPAYwBjwGQAZEBkgGTAZQBlQGUAZMBlAGVAZYBlwGWAZUBmAGZAZoBmQGYAZsBnAGbAZgBmwGcAZ0BngGfAaABoQGgAZ8BoAGhAaIBowGiAaEBpAGlAaYBpQGkAacBqAGnAaQBpwGoAakBqgGrAawBrQGsAasBrAGtAa4BrwGuAa0BsAGxAbIBsQGwAbMBtAGzAbABswG0AbUBtgG3AbgBuQG4AbcBuAG5AboBuwG6AbkBvAG9Ab4BvQG8Ab8BwAG/AbwBvwHAAcEBwgHDAcQBxQHEAcMBxAHFAcYBxwHGAcUByAHJAcoByQHIAcsBzAHLAcgBywHMAc0BzgHPAdAB0QHQAc8B0AHRAdIB0wHSAdEB1AHVAdYB1QHUAdcB2AHXAdQB1wHYAdkB2gHbAdwB3QHcAdsB3AHdAd4B3wHeAd0B4AHhAeIB4QHgAeMB5AHjAeAB4wHkAeUB5gHnAegB6QHoAecB6AHpAeoB6wHqAekB7AHtAe4B7QHsAe8B8AHvAewB7wHwAfEB8gHzAfQB9QH0AfMB9AH1AfYB9wH2AfUB+AH5AfoB+QH4AfsB/AH7AfgB+wH8Af0B/gH/AQACAQIAAv8BAAIBAgICAwICAgECBAIFAgYCBQIEAgcCCAIHAgQCBwIIAgkCCgILAgwCDQIMAgsCDAINAg4CDwIOAg0CEAIRAhICEQIQAhMCFAITAhACEwIUAhUCFgIXAhgCGQIYAhcCGAIZAhoCGwIaAhkCHAIdAh4CHQIcAh8CIAIfAhwCHwIgAiECIgIjAiQCJQIkAiMCJAIlAiYCJwImAiUCKAIpAioCKQIoAisCLAIrAigCKwIsAi0CLgIvAjACMQIwAi8CMAIxAjICMwIyAjECNAI1AjYCNQI0AjcCOAI3AjQCNwI4AjkCOgI7AjwCPQI8AjsCPAI9Aj4CPwI+Aj0CQAJBAkICQQJAAkMCRAJDAkACQwJEAkUCRgJHAkgCSQJIAkcCSAJJAkoCSwJKAkkCTAJNAk4CTQJMAk8CUAJPAkwCTwJQAlECUgJTAlQCVQJUAlMCVAJVAlYCVwJWAlUCWAJZAloCWQJYAlsCXAJbAlgCWwJcAl0CXgJfAmACYQJgAl8CYAJhAmICYwJiAmECZAJlAmYCZQJkAmcCaAJnAmQCZwJoAmkCagJrAmwCbQJsAmsCbAJtAm4CbwJuAm0CcAJxAnICcQJwAnMCdAJzAnACcwJ0AnUCdgJ3AngCeQJ4AncCeAJ5AnoCewJ6AnkCfAJ9An4CfQJ8An8CgAJ/AnwCfwKAAoECggKDAoQChQKEAoMChAKFAoYChwKGAoUCiAKJAooCiQKIAosCjAKLAogCiwKMAo0CjgKPApACkQKQAo8CkAKRApICkwKSApEClAKVApYClQKUApcCmAKXApQClwKYApkCmgKbApwCnQKcApsCnAKdAp4CnwKeAp0CoAKhAqICoQKgAqMCpAKjAqACowKkAqUCpgKnAqgCqQKoAqcCqAKpAqoCqwKqAqkCrAKtAq4CrQKsAq8CsAKvAqwCrwKwArECsgKzArQCtQK0ArMCtAK1ArYCtwK2ArUCuAK5AroCuQK4ArsCvAK7ArgCuwK8Ar0CvgK/AsACwQLAAr8CwALBAsICwwLCAsECxALFAsYCxQLEAscCyALHAsQCxwLIAskCygLLAswCzQLMAssCzALNAs4CzwLOAs0C0ALRAtIC0QLQAtMC1ALTAtAC0wLUAtUC1gLXAtgC2QLYAtcC2ALZAtoC2wLaAtkC3ALdAt4C3QLcAt8C4ALfAtwC3wLgAuEC4gLjAuQC5QLkAuMC5ALlAuYC5wLmAuUC6ALpAuoC6QLoAusC7ALrAugC6wLsAu0C7gLvAvAC8QLwAu8C8ALxAvIC8wLyAvEC9AL1AvYC9QL0AvcC+AL3AvQC9wL4AvkC+gL7AvwC/QL8AvsC/AL9Av4C/wL+Av0CAAMBAwIDAQMAAwMDBAMDAwADAwMEAwUDBgMHAwgDCQMIAwcDCAMJAwoDCwMKAwkDDAMNAw4DDQMMAw8DEAMPAwwDDwMQAxEDEgMTAxQDFQMUAxMDFAMVAxYDFwMWAxUDGAMZAxoDGQMYAxsDHAMbAxgDGwMcAx0DHgMfAyADIQMgAx8DIAMhAyIDIwMiAyEDJAMlAyYDJQMkAycDKAMnAyQDJwMoAykDKgMrAywDLQMsAysDLAMtAy4DLwMuAy0DMAMxAzIDMQMwAzMDNAMzAzADMwM0AzUDNgM3AzgDOQM4AzcDOAM5AzoDOwM6AzkDPAM9Az4DPQM8Az8DQAM/AzwDPwNAA0EDQgNDA0QDRQNEA0MDRANFA0YDRwNGA0UDSANJA0oDSQNIA0sDTANLA0gDSwNMA00DTgNPA1ADUQNQA08DUANRA1IDUwNSA1EDVANVA1YDVQNUA1cDWANXA1QDVwNYA1kDWgNbA1wDXQNcA1sDXANdA14DXwNeA10DYANhA2IDYQNgA2MDZANjA2ADYwNkA2UDZgNnA2gDaQNoA2cDaANpA2oDawNqA2kDbANtA24DbQNsA28DcANvA2wDbwNwA3EDcgNzA3QDdQN0A3MDdAN1A3YDdwN2A3UDeAN5A3oDeQN4A3sDfAN7A3gDewN8A30DfgN/A4ADgQOAA38DgAOBA4IDgwOCA4EDhAOFA4YDhQOEA4cDiAOHA4QDhwOIA4kDigOLA4wDjQOMA4sDjAONA44DjwOOA40DkAORA5IDkQOQA5MDlAOTA5ADkwOUA5UDlgOXA5gDmQOYA5cDmAOZA5oDmwOaA5kDnAOdA54DnQOcA58DoAOfA5wDnwOgA6EDogOjA6QDpQOkA6MDpAOlA6YDpwOmA6UDqAOpA6oDqQOoA6sDrAOrA6gDqwOsA60DrgOvA7ADsQOwA68DsAOxA7IDswOyA7EDtAO1A7YDtQO0A7cDuAO3A7QDtwO4A7kDugO7A7wDvQO8A7sDvAO9A74DvwO+A70DwAPBA8IDwQPAA8MDxAPDA8ADwwPEA8UDxgPHA8gDyQPIA8cDyAPJA8oDywPKA8kDzAPNA84DzQPMA88D0APPA8wDzwPQA9ED0gPTA9QD1QPUA9MD1APVA9YD1wPWA9UD2APZA9oD2QPYA9sD3APbA9gD2wPcA90D3gPfA+AD4QPgA98D4APhA+ID4wPiA+ED5APlA+YD5QPkA+cD6APnA+QD5wPoA+kD6gPrA+wD7QPsA+sD7APtA+4D7wPuA+0D8APxA/ID8QPwA/MD9APzA/AD8wP0A/UD9gP3A/gD+QP4A/cD+AP5A/oD+wP6A/kD/AP9A/4D/QP8A/8DAAT/A/wD/wMABAEEAgQDBAQEBQQEBAMEBAQFBAYEBwQGBAUECAQJBAoECQQIBAsEDAQLBAgECwQMBA0EDgQPBBAEEQQQBA8EEAQRBBIEEwQSBBEEFAQVBBYEFQQUBBcEGAQXBBQEFwQYBBkEGgQbBBwEHQQcBBsEHAQdBB4EHwQeBB0EIAQhBCIEIQQgBCMEJAQjBCAEIwQkBCUEJgQnBCgEKQQoBCcEKAQpBCoEKwQqBCkELAQtBC4ELQQsBC8EMAQvBCwELwQwBDEEMgQzBDQENQQ0BDMENAQ1BDYENwQ2BDUEOAQ5BDoEOQQ4BDsEPAQ7BDgEOwQ8BD0EPgQ/BEAEQQRABD8EQARBBEIEQwRCBEEERARFBEYERQREBEcESARHBEQERwRIBEkESgRLBEwETQRMBEsETARNBE4ETwROBE0EUARRBFIEUQRQBFMEVARTBFAEUwRUBFUEVgRXBFgEWQRYBFcEWARZBFoEWwRaBFkEXARdBF4EXQRcBF8EYARfBFwEXwRgBGEEYgRjBGQEZQRkBGMEZARlBGYEZwRmBGUEaARpBGoEaQRoBGsEbARrBGgEawRsBG0EbgRvBHAEcQRwBG8EcARxBHIEcwRyBHEEdAR1BHYEdQR0BHcEeAR3BHQEdwR4BHkEegR7BHwEfQR8BHsEfAR9BH4EfwR+BH0EgASBBIIEgQSABIMEhASDBIAEgwSEBIUEhgSHBIgEiQSIBIcEiASJBIoEiwSKBIkEjASNBI4EjQSMBI8EkASPBIwEjwSQBJEEkgSTBJQElQSUBJMElASVBJYElwSWBJUEmASZBJoEmQSYBJsEnASbBJgEmwScBJ0EngSfBKAEoQSgBJ8EoAShBKIEowSiBKEEpASlBKYEpQSkBKcEqASnBKQEpwSoBKkEqgSrBKwErQSsBKsErAStBK4ErwSuBK0EsASxBLIEsQSwBLMEtASzBLAEswS0BLUEtgS3BLgEuQS4BLcEuAS5BLoEuwS6BLkEvAS9BL4EvQS8BL8EwAS/BLwEvwTABMEEwgTDBMQExQTEBMMExATFBMYExwTGBMUEyATJBMoEyQTIBMsEzATLBMgEywTMBM0EzgTPBNAE0QTQBM8E0ATRBNIE0wTSBNEE1ATVBNYE1QTUBNcE2ATXBNQE1wTYBNkE2gTbBNwE3QTcBNsE3ATdBN4E3wTeBN0E4AThBOIE4QTgBOME5ATjBOAE4wTkBOUE5gTnBOgE6QToBOcE6ATpBOoE6wTqBOkE7ATtBO4E7QTsBO8E8ATvBOwE7wTwBPEE8gTzBPQE9QT0BPME9AT1BPYE9wT2BPUE+AT5BPoE+QT4BPsE/AT7BPgE+wT8BP0E/gT/BAAFAQUABf8EAAUBBQIFAwUCBQEFBAUFBQYFBQUEBQcFCAUHBQQFBwUIBQkFCgULBQwFDQUMBQsFDAUNBQ4FDwUOBQ0FEAURBRIFEQUQBRMFFAUTBRAFEwUUBRUFFgUXBRgFGQUYBRcFGAUZBRoFGwUaBRkFHAUdBR4FHQUcBR8FIAUfBRwFHwUgBSEFIgUjBSQFJQUkBSMFJAUlBSYFJwUmBSUFKAUpBSoFKQUoBSsFLAUrBSgFKwUsBS0FLgUvBTAFMQUwBS8FMAUxBTIFMwUyBTEFNAU1BTYFNQU0BTcFOAU3BTQFNwU4BTkFOgU7BTwFPQU8BTsFPAU9BT4FPwU+BT0FQAVBBUIFQQVABUMFRAVDBUAFQwVEBUUFRgVHBUgFSQVIBUcFSAVJBUoFSwVKBUkFTAVNBU4FTQVMBU8FUAVPBUwFTwVQBVEFUgVTBVQFVQVUBVMFVAVVBVYFVwVWBVUFWAVZBVoFWQVYBVsFXAVbBVgFWwVcBV0FXgVfBWAFYQVgBV8FYAVhBWIFYwViBWEFZAVlBWYFZQVkBWcFaAVnBWQFZwVoBWkFagVrBWwFbQVsBWsFbAVtBW4FbwVuBW0FcAVxBXIFcQVwBXMFdAVzBXAFcwV0BXUFdgV3BXgFeQV4BXcFeAV5BXoFewV6BXkFfAV9BX4FfQV8BX8FgAV/BXwFfwWABYEFggWDBYQFhQWEBYMFhAWFBYYFhwWGBYUFiAWJBYoFiQWIBYsFjAWLBYgFiwWMBY0FjgWPBZAFkQWQBY8FkAWRBZIFkwWSBZEFlAWVBZYFlQWUBZcFmAWXBZQFlwWYBZkFmgWbBZwFnQWcBZsFnAWdBZ4FnwWeBZ0FoAWhBaIFoQWgBaMFpAWjBaAFowWkBaUFpgWnBagFqQWoBacFqAWpBaoFqwWqBakFrAWtBa4FrQWsBa8FsAWvBawFrwWwBbEFsgWzBbQFtQW0BbMFtAW1BbYFtwW2BbUFuAW5BboFuQW4BbsFvAW7BbgFuwW8Bb0FvgW/BcAFwQXABb8FwAXBBcIFwwXCBcEFxAXFBcYFxQXEBccFyAXHBcQFxwXIBckFygXLBcwFzQXMBcsFzAXNBc4FzwXOBc0F0AXRBdIF0QXQBdMF1AXTBdAF0wXUBdUF1gXXBdgF2QXYBdcF2AXZBdoF2wXaBdkF3AXdBd4F3QXcBd8F4AXfBdwF3wXgBeEF4gXjBeQF5QXkBeMF5AXlBeYF5wXmBeUF6AXpBeoF6QXoBesF7AXrBegF6wXsBe0F7gXvBfAF8QXwBe8F8AXxBfIF8wXyBfEF9AX1BfYF9QX0BfcF+AX3BfQF9wX4BfkF+gX7BfwF/QX8BfsF/AX9Bf4F/wX+Bf0FAAYBBgIGAQYABgMGBAYDBgAGAwYEBgUGBgYHBggGCQYIBgcGCAYJBgoGCwYKBgkGDAYNBg4GDQYMBg8GEAYPBgwGDwYQBhEGEgYTBhQGFQYUBhMGFAYVBhYGFwYWBhUGGAYZBhoGGQYYBhsGHAYbBhgGGwYcBh0GHgYfBiAGIQYgBh8GIAYhBiIGIwYiBiEGJAYlBiYGJQYkBicGKAYnBiQGJwYoBikGKgYrBiwGLQYsBisGLAYtBi4GLwYuBi0GMAYxBjIGMQYwBjMGNAYzBjAGMwY0BjUGNgY3BjgGOQY4BjcGOAY5BjoGOwY6BjkGPAY9Bj4GPQY8Bj8GQAY/BjwGPwZABkEGQgZDBkQGRQZEBkMGRAZFBkYGRwZGBkUGSAZJBkoGSQZIBksGTAZLBkgGSwZMBk0GTgZPBlAGUQZQBk8GUAZRBlIGUwZSBlEGVAZVBlYGVQZUBlcGWAZXBlQGVwZYBlkGWgZbBlwGXQZcBlsGXAZdBl4GXwZeBl0GYAZhBmIGYQZgBmMGZAZjBmAGYwZkBmUGZgZnBmgGaQZoBmcGaAZpBmoGawZqBmkGbAZtBm4GbQZsBm8GcAZvBmwGbwZwBnEGcgZzBnQGdQZ0BnMGdAZ1BnYGdwZ2BnUGeAZ5BnoGeQZ4BnsGfAZ7BngGewZ8Bn0GfgZ/BoAGgQaABn8GgAaBBoIGgwaCBoEGhAaFBoYGhQaEBocGiAaHBoQGhwaIBokGigaLBowGjQaMBosGjAaNBo4GjwaOBo0GkAaRBpIGkQaQBpMGlAaTBpAGkwaUBpUGlgaXBpgGmQaYBpcGmAaZBpoGmwaaBpkGnAadBp4GnQacBp8GoAafBpwGnwagBqEGogajBqQGpQakBqMGpAalBqYGpwamBqUGqAapBqoGqQaoBqsGrAarBqgGqwasBq0GrgavBrAGsQawBq8GsAaxBrIGswayBrEGtAa1BrYGtQa0BrcGuAa3BrQGtwa4BrkGuga7BrwGvQa8BrsGvAa9Br4Gvwa+Br0GwAbBBsIGwQbABsMGxAbDBsAGwwbEBsUGxgbHBsgGyQbIBscGyAbJBsoGywbKBskGzAbNBs4GzQbMBs8G0AbPBswGzwbQBtEG0gbTBtQG1QbUBtMG1AbVBtYG1wbWBtUG2AbZBtoG2QbYBtsG3AbbBtgG2wbcBt0G3gbfBuAG4QbgBt8G4AbhBuIG4wbiBuEG5AblBuYG5QbkBucG6AbnBuQG5wboBukG6gbrBuwG7QbsBusG7AbtBu4G7wbuBu0G8AbxBvIG8QbwBvMG9AbzBvAG8wb0BvUG9gb3BvgG+Qb4BvcG+Ab5BvoG+wb6BvkG/Ab9Bv4G/Qb8Bv8GAAf/BvwG/wYABwEHAgcDBwQHBQcEBwMHBAcFBwYHBwcGBwUHCAcJBwoHCQcIBwsHDAcLBwgHCwcMBw0HDgcPBxAHEQcQBw8HEAcRBxIHEwcSBxEHFAcVBxYHFQcUBxcHGAcXBxQHFwcYBxkHGgcbBxwHHQccBxsHHAcdBx4HHwceBx0HIAchByIHIQcgByMHJAcjByAHIwckByUHJgcnBygHKQcoBycHKAcpByoHKwcqBykHLActBy4HLQcsBy8HMAcvBywHLwcwBzEHMgczBzQHNQc0BzMHNAc1BzYHNwc2BzUHOAc5BzoHOQc4BzsHPAc7BzgHOwc8Bz0HPgc/B0AHQQdABz8HQAdBB0IHQwdCB0EHRAdFB0YHRQdEB0cHSAdHB0QHRwdIB0kHSgdLB0wHTQdMB0sHTAdNB04HTwdOB00HUAdRB1IHUQdQB1MHVAdTB1AHUwdUB1UHVgdXB1gHWQdYB1cHWAdZB1oHWwdaB1kHXAddB14HXQdcB18HYAdfB1wHXwdgB2EHYgdjB2QHZQdkB2MHZAdlB2YHZwdmB2UHaAdpB2oHaQdoB2sHbAdrB2gHawdsB20HbgdvB3AHcQdwB28HcAdxB3IHcwdyB3EHdAd1B3YHdQd0B3cHeAd3B3QHdwd4B3kHegd7B3wHfQd8B3sHfAd9B34Hfwd+B30HgAeBB4IHgQeAB4MHhAeDB4AHgweEB4UHhgeHB4gHiQeIB4cHiAeJB4oHiweKB4kHjAeNB44HjQeMB48HkAePB4wHjweQB5EHkgeTB5QHlQeUB5MHlAeVB5YHlweWB5UHmAeZB5oHmQeYB5sHnAebB5gHmwecB50HngefB6AHoQegB58HoAehB6IHoweiB6EHpAelB6YHpQekB6cHqAenB6QHpweoB6kHqgerB6wHrQesB6sHrAetB64HrweuB60HsAexB7IHsQewB7MHtAezB7AHswe0B7UHtge3B7gHuQe4B7cHuAe5B7oHuwe6B7kHvAe9B74HvQe8B78HwAe/B7wHvwfAB8EHwgfDB8QHxQfEB8MHxAfFB8YHxwfGB8UHyAfJB8oHyQfIB8sHzAfLB8gHywfMB80HzgfPB9AH0QfQB88H0AfRB9IH0wfSB9EH1AfVB9YH1QfUB9cH2AfXB9QH1wfYB9kH2gfbB9wH3QfcB9sH3AfdB94H3wfeB90H4AfhB+IH4QfgB+MH5AfjB+AH4wfkB+UH5gfnB+gH6QfoB+cH6AfpB+oH6wfqB+kH7AftB+4H7QfsB+8H8AfvB+wH7wfwB/EH8gfzB/QH9Qf0B/MH9Af1B/YH9wf2B/UH+Af5B/oH+Qf4B/sH/Af7B/gH+wf8B/0H/gf/BwAIAQgACP8HAAgBCAIIAwgCCAEIBAgFCAYIBQgECAcICAgHCAQIBwgICAkICggLCAwIDQgMCAsIDAgNCA4IDwgOCA0IEAgRCBIIEQgQCBMIFAgTCBAIEwgUCBUIFggXCBgIGQgYCBcIGAgZCBoIGwgaCBkIHAgdCB4IHQgcCB8IIAgfCBwIHwggCCEIIggjCCQIJQgkCCMIJAglCCYIJwgmCCUIKAgpCCoIKQgoCCsILAgrCCgIKwgsCC0ILggvCDAIMQgwCC8IMAgxCDIIMwgyCDEINAg1CDYINQg0CDcIOAg3CDQINwg4CDkIOgg7CDwIPQg8CDsIPAg9CD4IPwg+CD0IQAhBCEIIQQhACEMIRAhDCEAIQwhECEUIRghHCEgISQhICEcISAhJCEoISwhKCEkITAhNCE4ITQhMCE8IUAhPCEwITwhQCFEIUghTCFQIVQhUCFMIVAhVCFYIVwhWCFUIWAhZCFoIWQhYCFsIXAhbCFgIWwhcCF0IXghfCGAIYQhgCF8IYAhhCGIIYwhiCGEIZAhlCGYIZQhkCGcIaAhnCGQIZwhoCGkIaghrCGwIbQhsCGsIbAhtCG4IbwhuCG0IcAhxCHIIcQhwCHMIdAhzCHAIcwh0CHUIdgh3CHgIeQh4CHcIeAh5CHoIewh6CHkIfAh9CH4IfQh8CH8IgAh/CHwIfwiACIEIggiDCIQIhQiECIMIhAiFCIYIhwiGCIUIiAiJCIoIiQiICIsIjAiLCIgIiwiMCI0IjgiPCJAIkQiQCI8IkAiRCJIIkwiSCJEIlAiVCJYIlQiUCJcImAiXCJQIlwiYCJkImgibCJwInQicCJsInAidCJ4InwieCJ0IoAihCKIIoQigCKMIpAijCKAIowikCKUIpginCKgIqQioCKcIqAipCKoIqwiqCKkIrAitCK4IrQisCK8IsAivCKwIrwiwCLEIsgizCLQItQi0CLMItAi1CLYItwi2CLUIuAi5CLoIuQi4CLsIvAi7CLgIuwi8CL0Ivgi/CMAIwQjACL8IwAjBCMIIwwjCCMEIxAjFCMYIxQjECMcIyAjHCMQIxwjICMkIygjLCMwIzQjMCMsIzAjNCM4IzwjOCM0I0AjRCNII0QjQCNMI1AjTCNAI0wjUCNUI1gjXCNgI2QjYCNcI2AjZCNoI2wjaCNkI3AjdCN4I3QjcCN8I4AjfCNwI3wjgCOEI4gjjCOQI5QjkCOMI5AjlCOYI5wjmCOUI6AjpCOoI6QjoCOsI7AjrCOgI6wjsCO0I7gjvCPAI8QjwCO8I8AjxCPII8wjyCPEI9Aj1CPYI9Qj0CPcI+Aj3CPQI9wj4CPkI+gj7CPwI/Qj8CPsI/Aj9CP4I/wj+CP0IAAkBCQIJAQkACQMJBAkDCQAJAwkECQUJBgkHCQgJCQkICQcJCAkJCQoJCwkKCQkJDAkNCQ4JDQkMCQ8JEAkPCQwJDwkQCREJEgkTCRQJFQkUCRMJFAkVCRYJFwkWCRUJGAkZCRoJGQkYCRsJHAkbCRgJGwkcCR0JHgkfCSAJIQkgCR8JIAkhCSIJIwkiCSEJJAklCSYJJQkkCScJKAknCSQJJwkoCSkJKgkrCSwJLQksCSsJLAktCS4JLwkuCS0JMAkxCTIJMQkwCTMJNAkzCTAJMwk0CTUJNgk3CTgJOQk4CTcJOAk5CToJOwk6CTkJPAk9CT4JPQk8CT8JQAk/CTwJPwlACUEJQglDCUQJRQlECUMJRAlFCUYJRwlGCUUJSAlJCUoJSQlICUsJTAlLCUgJSwlMCU0JTglPCVAJUQlQCU8JUAlRCVIJUwlSCVEJVAlVCVYJVQlUCVcJWAlXCVQJVwlYCVkJWglbCVwJXQlcCVsJXAldCV4JXwleCV0JYAlhCWIJYQlgCWMJZAljCWAJYwlkCWUJZglnCWgJaQloCWcJaAlpCWoJawlqCWkJbAltCW4JbQlsCW8JcAlvCWwJbwlwCXEJcglzCXQJdQl0CXMJdAl1CXYJdwl2CXUJeAl5CXoJeQl4CXsJfAl7CXgJewl8CX0Jfgl/CYAJgQmACX8JgAmBCYIJgwmCCYEJhAmFCYYJhQmECYcJiAmHCYQJhwmICYkJigmLCYwJjQmMCYsJjAmNCY4JjwmOCY0JkAmRCZIJkQmQCZMJlAmTCZAJkwmUCZUJlgmXCZgJmQmYCZcJmAmZCZoJmwmaCZkJnAmdCZ4JnQmcCZ8JoAmfCZwJnwmgCaEJogmjCaQJpQmkCaMJpAmlCaYJpwmmCaUJqAmpCaoJqQmoCasJrAmrCagJqwmsCa0JrgmvCbAJsQmwCa8JsAmxCbIJswmyCbEJtAm1CbYJtQm0CbcJuAm3CbQJtwm4CbkJugm7CbwJvQm8CbsJvAm9Cb4Jvwm+Cb0JwAnBCcIJwQnACcMJxAnDCcAJwwnECcUJxgnHCcgJyQnICccJyAnJCcoJywnKCckJzAnNCc4JzQnMCc8J0AnPCcwJzwnQCdEJ0gnTCdQJ1QnUCdMJ1AnVCdYJ1wnWCdUJ2AnZCdoJ2QnYCdsJ3AnbCdgJ2wncCd0J3gnfCeAJ4QngCd8J4AnhCeIJ4wniCeEJ5AnlCeYJ5QnkCecJ6AnnCeQJ5wnoCekJ6gnrCewJ7QnsCesJ7AntCe4J7wnuCe0J8AnxCfIJ8QnwCfMJ9AnzCfAJ8wn0CfUJ9gn3CfgJ+Qn4CfcJ+An5CfoJ+wn6CfkJ/An9Cf4J/Qn8Cf8JAAr/CfwJ/wkACgEKAgoDCgQKBQoECgMKBAoFCgYKBwoGCgUKCAoJCgoKCQoICgsKDAoLCggKCwoMCg0KDgoPChAKEQoQCg8KEAoRChIKEwoSChEKFAoVChYKFQoUChcKGAoXChQKFwoYChkKGgobChwKHQocChsKHAodCh4KHwoeCh0KIAohCiIKIQogCiMKJAojCiAKIwokCiUKJgonCigKKQooCicKKAopCioKKwoqCikKLAotCi4KLQosCi8KMAovCiwKLwowCjEKMgozCjQKNQo0CjMKNAo1CjYKNwo2CjUKOAo5CjoKOQo4CjsKPAo7CjgKOwo8Cj0KPgo/CkAKQQpACj8KQApBCkIKQwpCCkEKRApFCkYKRQpECkcKSApHCkQKRwpICkkKSgpLCkwKTQpMCksKTApNCk4KTwpOCk0KUApRClIKUQpQClMKVApTClAKUwpUClUKVgpXClgKWQpYClcKWApZCloKWwpaClkKXApdCl4KXQpcCl8KYApfClwKXwpgCmEKYgpjCmQKZQpkCmMKZAplCmYKZwpmCmUKaAppCmoKaQpoCmsKbAprCmgKawpsCm0KbgpvCnAKcQpwCm8KcApxCnIKcwpyCnEKdAp1CnYKdQp0CncKeAp3CnQKdwp4CnkKegp7CnwKfQp8CnsKfAp9Cn4Kfwp+Cn0KgAqBCoIKgQqACoMKhAqDCoAKgwqECoUKhgqHCogKiQqICocKiAqJCooKiwqKCokKjAqNCo4KjQqMCo8KkAqPCowKjwqQCpEKkgqTCpQKlQqUCpMKlAqVCpYKlwqWCpUKmAqZCpoKmQqYCpsKnAqbCpgKmwqcCp0KngqfCqAKoQqgCp8KoAqhCqIKowqiCqEKpAqlCqYKpQqkCqcKqAqnCqQKpwqoCqkKqgqrCqwKrQqsCqsKrAqtCq4KrwquCq0KsAqxCrIKsQqwCrMKtAqzCrAKswq0CrUKtgq3CrgKuQq4CrcKuAq5CroKuwq6CrkKvAq9Cr4KvQq8Cr8KwAq/CrwKvwrACsEKwgrDCsQKxQrECsMKxArFCsYKxwrGCsUKyArJCsoKyQrICssKzArLCsgKywrMCs0KzgrPCtAK0QrQCs8K0ArRCtIK0wrSCtEK1ArVCtYK1QrUCtcK2ArXCtQK1wrYCtkK2grbCtwK3QrcCtsK3ArdCt4K3wreCt0K4ArhCuIK4QrgCuMK5ArjCuAK4wrkCuUK5grnCugK6QroCucK6ArpCuoK6wrqCukK7ArtCu4K7QrsCu8K8ArvCuwK7wrwCvEK8grzCvQK9Qr0CvMK9Ar1CvYK9wr2CvUK+Ar5CvoK+Qr4CvsK/Ar7CvgK+wr8Cv0K/gr/CgALAQsAC/8KAAsBCwILAwsCCwELBAsFCwYLBQsECwcLCAsHCwQLBwsICwkLCgsLCwwLDQsMCwsLDAsNCw4LDwsOCw0LEAsRCxILEQsQCxMLFAsTCxALEwsUCxULFgsXCxgLGQsYCxcLGAsZCxoLGwsaCxkLHAsdCx4LHQscCx8LIAsfCxwLHwsgCyELIgsjCyQLJQskCyMLJAslCyYLJwsmCyULKAspCyoLKQsoCysLLAsrCygLKwssCy0LLgsvCzALMQswCy8LMAsxCzILMwsyCzELNAs1CzYLNQs0CzcLOAs3CzQLNws4CzkLOgs7CzwLPQs8CzsLPAs9Cz4LPws+Cz0LQAtBC0ILQQtAC0MLRAtDC0ALQwtEC0ULRgtHC0gLSQtIC0cLSAtJC0oLSwtKC0kLTAtNC04LTQtMC08LUAtPC0wLTwtQC1ELUgtTC1QLVQtUC1MLVAtVC1YLVwtWC1ULWAtZC1oLWQtYC1sLXAtbC1gLWwtcC10LXgtfC2ALYQtgC18LYAthC2ILYwtiC2ELZAtlC2YLZQtkC2cLaAtnC2QLZwtoC2kLagtrC2wLbQtsC2sLbAttC24LbwtuC20LcAtxC3ILcQtwC3MLdAtzC3ALcwt0C3ULdgt3C3gLeQt4C3cLeAt5C3oLewt6C3kLfAt9C34LfQt8C38LgAt/C3wLfwuAC4ELgguDC4QLhQuEC4MLhAuFC4YLhwuGC4ULiAuJC4oLiQuIC4sLjAuLC4gLiwuMC40LjguPC5ALkQuQC48LkAuRC5ILkwuSC5ELlAuVC5YLlQuUC5cLmAuXC5QLlwuYC5kLmgubC5wLnQucC5sLnAudC54LnwueC50LoAuhC6ILoQugC6MLpAujC6ALowukC6ULpgunC6gLqQuoC6cLqAupC6oLqwuqC6kLrAutC64LrQusC68LsAuvC6wLrwuwC7ELsguzC7QLtQu0C7MLtAu1C7YLtwu2C7ULuAu5C7oLuQu4C7sLvAu7C7gLuwu8C70Lvgu/C8ALwQvAC78LwAvBC8ILwwvCC8ELxAvFC8YLxQvEC8cLyAvHC8QLxwvIC8kLygvLC8wLzQvMC8sLzAvNC84LzwvOC80L0AvRC9IL0QvQC9ML1AvTC9AL0wvUC9UL1gvXC9gL2QvYC9cL2AvZC9oL2wvaC9kL3AvdC94L3QvcC98L4AvfC9wL3wvgC+EL4gvjC+QL5QvkC+ML5AvlC+YL5wvmC+UL6AvpC+oL6QvoC+sL7AvrC+gL6wvsC+0L7gvvC/AL8QvwC+8L8AvxC/IL8wvyC/EL9Av1C/YL9Qv0C/cL+Av3C/QL9wv4C/kL+gv7C/wL/Qv8C/sL/Av9C/4L/wv+C/0LAAwBDAIMAQwADAMMBAwDDAAMAwwEDAUMBgwHDAgMCQwIDAcMCAwJDAoMCwwKDAkMDAwNDA4MDQwMDA8MEAwPDAwMDwwQDBEMEgwTDBQMFQwUDBMMFAwVDBYMFwwWDBUMGAwZDBoMGQwYDBsMHAwbDBgMGwwcDB0MHgwfDCAMIQwgDB8MIAwhDCIMIwwiDCEMJAwlDCYMJQwkDCcMKAwnDCQMJwwoDCkMKgwrDCwMLQwsDCsMLAwtDC4MLwwuDC0MMAwxDDIMMQwwDDMMNAwzDDAMMww0DDUMNgw3DDgMOQw4DDcMOAw5DDoMOww6DDkMPAw9DD4MPQw8DD8MQAw/DDwMPwxADEEMQgxDDEQMRQxEDEMMRAxFDEYMRwxGDEUMSAxJDEoMSQxIDEsMTAxLDEgMSwxMDE0MTgxPDFAMUQxQDE8MUAxRDFIMUwxSDFEMVAxVDFYMVQxUDFcMWAxXDFQMVwxYDFkMWgxbDFwMXQxcDFsMXAxdDF4MXwxeDF0MYAxhDGIMYQxgDGMMZAxjDGAMYwxkDGUMZgxnDGgMaQxoDGcMaAxpDGoMawxqDGkMbAxtDG4MbQxsDG8McAxvDGwMbwxwDHEMcgxzDHQMdQx0DHMMdAx1DHYMdwx2DHUMeAx5DHoMeQx4DHsMfAx7DHgMewx8DH0Mfgx/DIAMgQyADH8MgAyBDIIMgwyCDIEMhAyFDIYMhQyEDIcMiAyHDIQMhwyIDIkMigyLDIwMjQyMDIsMjAyNDI4MjwyODI0MkAyRDJIMkQyQDJMMlAyTDJAMkwyUDJUMlgyXDJgMmQyYDJcMmAyZDJoMmwyaDJkMnAydDJ4MnQycDJ8MoAyfDJwMnwygDKEMogyjDKQMpQykDKMMpAylDKYMpwymDKUMqAypDKoMqQyoDKsMrAyrDKgMqwysDK0MrgyvDLAMsQywDK8MsAyxDLIMswyyDLEMtAy1DLYMtQy0DLcMuAy3DLQMtwy4DLkMugy7DLwMvQy8DLsMvAy9DL4Mvwy+DL0MwAzBDMIMwQzADMMMxAzDDMAMwwzEDMUMxgzHDMgMyQzIDMcMyAzJDMoMywzKDMkMzAzNDM4MzQzMDM8M0AzPDMwMzwzQDNEM0gzTDNQM1QzUDNMM1AzVDNYM1wzWDNUM2AzZDNoM2QzYDNsM3AzbDNgM2wzcDN0M3gzfDOAM4QzgDN8M4AzhDOIM4wziDOEM5AzlDOYM5QzkDOcM6AznDOQM5wzoDOkM6gzrDOwM7QzsDOsM7AztDO4M7wzuDO0M8AzxDPIM8QzwDPMM9AzzDPAM8wz0DPUM9gz3DPgM+Qz4DPcM+Az5DPoM+wz6DPkM/Az9DP4M/Qz8DP8MAA3/DPwM/wwADQENAg0DDQQNBQ0EDQMNBA0FDQYNBw0GDQUNCA0JDQoNCQ0IDQsNDA0LDQgNCw0MDQ0NDg0PDRANEQ0QDQ8NEA0RDRINEw0SDRENFA0VDRYNFQ0UDRcNGA0XDRQNFw0YDRkNGg0bDRwNHQ0cDRsNHA0dDR4NHw0eDR0NIA0hDSINIQ0gDSMNJA0jDSANIw0kDSUNJg0nDSgNKQ0oDScNKA0pDSoNKw0qDSkNLA0tDS4NLQ0sDS8NMA0vDSwNLw0wDTENMg0zDTQNNQ00DTMNNA01DTYNNw02DTUNOA05DToNOQ04DTsNPA07DTgNOw08DT0NPg0/DUANQQ1ADT8NQA1BDUINQw1CDUENRA1FDUYNRQ1EDUcNSA1HDUQNRw1IDUkNSg1LDUwNTQ1MDUsNTA1NDU4NTw1ODU0NUA1RDVINUQ1QDVMNVA1TDVANUw1UDVUNVg1XDVgNWQ1YDVcNWA1ZDVoNWw1aDVkNXA1dDV4NXQ1cDV8NYA1fDVwNXw1gDWENYg1jDWQNZQ1kDWMNZA1lDWYNZw1mDWUNaA1pDWoNaQ1oDWsNbA1rDWgNaw1sDW0Nbg1vDXANcQ1wDW8NcA1xDXINcw1yDXENdA11DXYNdQ10DXcNeA13DXQNdw14DXkNeg17DXwNfQ18DXsNfA19DX4Nfw1+DX0NgA2BDYINgQ2ADYMNhA2DDYANgw2EDYUNhg2HDYgNiQ2IDYcNiA2JDYoNiw2KDYkNjA2NDY4NjQ2MDY8NkA2PDYwNjw2QDZENkg2TDZQNlQ2UDZMNlA2VDZYNlw2WDZUNmA2ZDZoNmQ2YDZsNnA2bDZgNmw2cDZ0Nng2fDaANoQ2gDZ8NoA2hDaINow2iDaENpA2lDaYNpQ2kDacNqA2nDaQNpw2oDakNqg2rDawNrQ2sDasNrA2tDa4Nrw2uDa0NsA2xDbINsQ2wDbMNtA2zDbANsw20DbUNtg23DbgNuQ24DbcNuA25DboNuw26DbkNvA29Db4NvQ28Db8NwA2/DbwNvw3ADcENwg3DDcQNxQ3EDcMNxA3FDcYNxw3GDcUNyA3JDcoNyQ3IDcsNzA3LDcgNyw3MDc0Nzg3PDdAN0Q3QDc8N0A3RDdIN0w3SDdEN1A3VDdYN1Q3UDdcN2A3XDdQN1w3YDdkN2g3bDdwN3Q3cDdsN3A3dDd4N3w3eDd0N4A3hDeIN4Q3gDeMN5A3jDeAN4w3kDeUN5g3nDegN6Q3oDecN6A3pDeoN6w3qDekN7A3tDe4N7Q3sDe8N8A3vDewN7w3wDfEN8g3zDfQN9Q30DfMN9A31DfYN9w32DfUN+A35DfoN+Q34DfsN/A37DfgN+w38Df0N/g3/DQAOAQ4ADv8NAA4BDgIOAw4CDgEOBA4FDgYOBQ4EDgcOCA4HDgQOBw4IDgkOCg4LDgwODQ4MDgsODA4NDg4ODw4ODg0OEA4RDhIOEQ4QDhMOFA4TDhAOEw4UDhUOFg4XDhgOGQ4YDhcOGA4ZDhoOGw4aDhkOHA4dDh4OHQ4cDh8OIA4fDhwOHw4gDiEOIg4jDiQOJQ4kDiMOJA4lDiYOJw4mDiUOKA4pDioOKQ4oDisOLA4rDigOKw4sDi0OLg4vDjAOMQ4wDi8OMA4xDjIOMw4yDjEONA41DjYONQ40DjcOOA43DjQONw44DjkOOg47DjwOPQ48DjsOPA49Dj4OPw4+Dj0OQA5BDkIOQQ5ADkMORA5DDkAOQw5EDkUORg5HDkgOSQ5IDkcOSA5JDkoOSw5KDkkOTA5NDk4OTQ5MDk8OUA5PDkwOTw5QDlEOUg5TDlQOVQ5UDlMOVA5VDlYOVw5WDlUOWA5ZDloOWQ5YDlsOXA5bDlgOWw5cDl0OXg5fDmAOYQ5gDl8OYA5hDmIOYw5iDmEOZA5lDmYOZQ5kDmcOaA5nDmQOZw5oDmkOag5rDmwObQ5sDmsObA5tDm4Obw5uDm0OcA5xDnIOcQ5wDnMOdA5zDnAOcw50DnUOdg53DngOeQ54DncOeA55DnoOew56DnkOfA59Dn4OfQ58Dn8OgA5/DnwOfw6ADoEOgg6DDoQOhQ6EDoMOhA6FDoYOhw6GDoUOiA6JDooOiQ6IDosOjA6LDogOiw6MDo0Ojg6PDpAOkQ6QDo8OkA6RDpIOkw6SDpEOlA6VDpYOlQ6UDpcOmA6XDpQOlw6YDpkOmg6bDpwOnQ6cDpsOnA6dDp4Onw6eDp0OoA6hDqIOoQ6gDqMOpA6jDqAOow6kDqUOpg6nDqgOqQ6oDqcOqA6pDqoOqw6qDqkOrA6tDq4OrQ6sDq8OsA6vDqwOrw6wDrEOsg6zDrQOtQ60DrMOtA61DrYOtw62DrUOuA65DroOuQ64DrsOvA67DrgOuw68Dr0Ovg6/DsAOwQ7ADr8OwA7BDsIOww7CDsEOxA7FDsYOxQ7EDscOyA7HDsQOxw7IDskOyg7LDswOzQ7MDssOzA7NDs4Ozw7ODs0O0A7RDtIO0Q7QDtMO1A7TDtAO0w7UDtUO1g7XDtgO2Q7YDtcO2A7ZDtoO2w7aDtkO3A7dDt4O3Q7cDt8O4A7fDtwO3w7gDuEO4g7jDuQO5Q7kDuMO5A7lDuYO5w7mDuUO6A7pDuoO6Q7oDusO7A7rDugO6w7sDu0O7g7vDvAO8Q7wDu8O8A7xDvIO8w7yDvEO9A71DvYO9Q70DvcO+A73DvQO9w74DvkO+g77DvwO/Q78DvsO/A79Dv4O/w7+Dv0OAA8BDwIPAQ8ADwMPBA8DDwAPAw8EDwUPBg8HDwgPCQ8IDwcPCA8JDwoPCw8KDwkPDA8NDw4PDQ8MDw8PEA8PDwwPDw8QDxEPEg8TDxQPFQ8UDxMPFA8VDxYPFw8WDxUPGA8ZDxoPGQ8YDxsPHA8bDxgPGw8cDx0PHg8fDyAPIQ8gDx8PIA8hDyIPIw8iDyEPJA8lDyYPJQ8kDycPKA8nDyQPJw8oDykPKg8rDywPLQ8sDysPLA8tDy4PLw8uDy0PMA8xDzIPMQ8wDzMPNA8zDzAPMw80DzUPNg83DzgPOQ84DzcPOA85DzoPOw86DzkPPA89Dz4PPQ88Dz8PQA8/DzwPPw9AD0EPQg9DD0QPRQ9ED0MPRA9FD0YPRw9GD0UPSA9JD0oPSQ9ID0sPTA9LD0gPSw9MD00PTg9PD1APUQ9QD08PUA9RD1IPUw9SD1EPVA9VD1YPVQ9UD1cPWA9XD1QPVw9YD1kPWg9bD1wPXQ9cD1sPXA9dD14PXw9eD10PYA9hD2IPYQ9gD2MPZA9jD2APYw9kD2UPZg9nD2gPaQ9oD2cPaA9pD2oPaw9qD2kPbA9tD24PbQ9sD28PcA9vD2wPbw9wD3EPcg9zD3QPdQ90D3MPdA91D3YPdw92D3UPeA95D3oPeQ94D3sPfA97D3gPew98D30Pfg9/D4APgQ+AD38PgA+BD4IPgw+CD4EPhA+FD4YPhQ+ED4cPiA+HD4QPhw+ID4kPig+LD4wPjQ+MD4sPjA+ND44Pjw+OD40PkA+RD5IPkQ+QD5MPlA+TD5APkw+UD5UPlg+XD5gPmQ+YD5cPmA+ZD5oPmw+aD5kPnA+dD54PnQ+cD58PoA+fD5wPnw+gD6EPog+jD6QPpQ+kD6MPpA+lD6YPpw+mD6UPqA+pD6oPqQ+oD6sPrA+rD6gPqw+sD60Prg+vD7APsQ+wD68PsA+xD7IPsw+yD7EPtA+1D7YPtQ+0D7cPuA+3D7QPtw+4D7kPug+7D7wPvQ+8D7sPvA+9D74Pvw++D70PwA/BD8IPwQ/AD8MPxA/DD8APww/ED8UPxg/HD8gPyQ/ID8cPyA/JD8oPyw/KD8kPzA/ND84PzQ/MD88P0A/PD8wPzw/QD9EP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lBGVEZYRlRGUEZcRmBGXEZQRlxGYEZkRmhGbEZwRnRGcEZsRnBGdEZ4RnxGeEZ0RoBGhEaIRoRGgEaMRpBGjEaARoxGkEaURphGnEagRqRGoEacRqBGpEaoRqxGqEakRrBGtEa4RrRGsEa8RsBGvEawRrxGwEbERshGzEbQRtRG0EbMRtBG1EbYRtxG2EbURuBG5EboRuRG4EbsRvBG7EbgRuxG8Eb0RvhG/EcARwRHAEb8RwBHBEcIRwxHCEcERxBHFEcYRxRHEEccRyBHHEcQRxxHIEckRyhHLEcwRzRHMEcsRzBHNEc4RzxHOEc0R0BHREdIR0RHQEdMR1BHTEdAR0xHUEdUR1hHXEdgR2RHYEdcR2BHZEdoR2xHaEdkR3BHdEd4R3RHcEd8R4BHfEdwR3xHgEeER4hHjEeQR5RHkEeMR5BHlEeYR5xHmEeUR6BHpEeoR6RHoEesR7BHrEegR6xHsEe0R7hHvEfAR8RHwEe8R8BHxEfIR8xHyEfER9BH1EfYR9RH0EfcR+BH3EfQR9xH4EfkR+hH7EfwR/RH8EfsR/BH9Ef4R/xH+Ef0RABIBEgISARIAEgMSBBIDEgASAxIEEgUSBhIHEggSCRIIEgcSCBIJEgoSCxIKEgkSDBINEg4SDRIMEg8SEBIPEgwSDxIQEhESEhITEhQSFRIUEhMSFBIVEhYSFxIWEhUSGBIZEhoSGRIYEhsSHBIbEhgSGxIcEh0SHhIfEiASIRIgEh8SIBIhEiISIxIiEiESJBIlEiYSJRIkEicSKBInEiQSJxIoEikSKhIrEiwSLRIsEisSLBItEi4SLxIuEi0SMBIxEjISMRIwEjMSNBIzEjASMxI0EjUSNhI3EjgSORI4EjcSOBI5EjoSOxI6EjkSPBI9Ej4SPRI8Ej8SQBI/EjwSPxJAEkESQhJDEkQSRRJEEkMSRBJFEkYSRxJGEkUSSBJJEkoSSRJIEksSTBJLEkgSSxJMEk0SThJPElASURJQEk8SUBJRElISUxJSElESVBJVElYSVRJUElcSWBJXElQSVxJYElkSWhJbElwSXRJcElsSXBJdEl4SXxJeEl0SYBJhEmISYRJgEmMSZBJjEmASYxJkEmUSZhJnEmgSaRJoEmcSaBJpEmoSaxJqEmkSbBJtEm4SbRJsEm8ScBJvEmwSbxJwEnESchJzEnQSdRJ0EnMS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OBQ3FDQUNxQ4FDkUOhQ7FDwUPRQ8FDsUPBQ9FD4UPxQ+FD0UQBRBFEIUQRRAFEMURBRDFEAUQxREFEUURhRHFEgUSRRIFEcUSBRJFEoUSxRKFEkUTBRNFE4UTRRMFE8UUBRPFEwUTxRQFFEUUhRTFFQUVRRUFFMUVBRVFFYUVxRWFFUUWBRZFFoUWRRYFFsUXBRbFFgUWxRcFF0UXhRfFGAUYRRgFF8UYBRhFGIUYxRiFGEUZBRlFGYUZRRkFGcUaBRnFGQUZxRoFGkUahRrFGwUbRRsFGsUbBRtFG4UbxRuFG0UcBRxFHIUcRRwFHMUdBRzFHAUcxR0FHUUdhR3FHgUeRR4FHcUeBR5FHoUexR6FHkUfBR9FH4UfRR8FH8UgBR/FHwUfxSAFIEUghSDFIQUhRSEFIMUhBSFFIYUhxSGFIUUiBSJFIoUiRSIFIsUjBSLFIgUixSMFI0UjhSPFJAUkRSQFI8UkBSRFJIUkxSSFJEUlBSVFJYUlRSUFJcUmBSXFJQUlxSYFJkUmhSbFJwUnRScFJsUnBSdFJ4UnxSeFJ0UoBShFKIUoRSgFKMUpBSjFKAUoxSkFKUUphSnFKgUqRSoFKcUqBSpFKoUqxSqFKkUrBStFK4UrRSsFK8UsBSvFKwUrxSwFLEUshSzFLQUtRS0FLMUtBS1FLYUtxS2FLUUuBS5FLoUuRS4FLsUvBS7FLgUuxS8FL0UvhS/FMAUwRTAFL8UwBTBFMIUwxTCFMEUxBTFFMYUxRTEFMcUyBTHFMQUxxTIFMkUyhTLFMwUzRTMFMsUzBTNFM4UzxTOFM0U0BTRFNIU0RTQFNMU1BTTFNAU0xTUFNUU1hTXFNgU2RTYFNcU2BTZFNoU2xTaFNkU3BTdFN4U3RTcFN8U4BTfFNwU3xTgFOEU4hTjFOQU5RTkFOMU5BTlFOYU5xTmFOUU6BTpFOoU6RToFOsU7BTrFOgU6xTsFO0U7hTvFPAU8RTwFO8U8BTxFPIU8xTyFPEU9BT1FPYU9RT0FPcU+BT3FPQU9xT4FPkU+hT7FPwU/RT8FPsU/BT9FP4U/xT+FP0UABUBFQIVARUAFQMVBBUDFQAVAxUEFQUVBhUHFQgVCRUIFQcVCBUJFQoVCxUKFQkVDBUNFQ4VDRUMFQ8VEBUPFQwVDxUQFREVEhUTFRQVFRUUFRMVFBUVFRYVFxUWFRUVGBUZFRoVGRUYFRsVHBUbFRgVGxUcFR0VHhUfFSAVIRUgFR8VIBUhFSIVIxUiFSEVJBUlFSYVJRUkFScVKBUnFSQVJxUoFSkVKhUrFSwVLRUsFSsVLBUtFS4VLxUuFS0VMBUxFTIVMRUwFTMVNBUzFTAVMxU0FTUVNhU3FTgVORU4FTcVOBU5FToVOxU6FTkVPBU9FT4VPRU8FT8VQBU/FTwVPxVAFUEVQhVDFUQVRRVEFUMVRBVFFUYVRxVGFUUVSBVJFUoVSRVIFUsVTBVLFUgVSxVMFU0VThVPFVAVURVQFU8VUBVRFVIVUxVSFVEVVBVVFVYVVRVUFVcVWBVXFVQVVxVYFVkVWhVbFVwVXRVcFVsVXBVdFV4VXxVeFV0VYBVhFWIVYRVgFWMVZBVjFWAVYxVkFWUVZhVnFWgVaRVoFWcVaBVpFWoVaxVqFWkVbBVtFW4VbRVsFW8VcBVvFWwVbxVwFXEVchVzFXQVdRV0FXMVdBV1FXYVdxV2FXUVeBV5FXoVeRV4FXsVfBV7FXgVexV8FX0VfhV/FYAVgRWAFX8VgBWBFYIVgxWCFYEVhBWFFYYVhRWEFYcViBWHFYQVhxWIFYkVihWLFYwVjRWMFYsVjBWNFY4VjxWOFY0VkBWRFZIVkRWQFZMVlBWTFZAVkxWUFZUVlhWXFZgVmRWYFZcVmBWZFZoVmxWaFZkVnBWdFZ4VnRWcFZ8VoBWfFZwVnxWgFaEVohWjFaQVpRWkFaMVpBWlFaYVpxWmFaUVqBWpFaoVqRWoFasVrBWrFagVqxWsFa0VrhWvFbAVsRWwFa8VsBWxFbIVsxWyFbEVtBW1FbYVtRW0FbcVuBW3FbQVtxW4FbkVuhW7FbwVvRW8FbsVvBW9Fb4VvxW+Fb0VwBXBFcIVwRXAFcMVxBXDFcAVwxXEFcUVxhXHFcgVyRXIFccVyBXJFcoVyxXKFckVzBXNFc4VzRXMFc8V0BXPFcwVzxXQFdEV0hXTFdQV1RXUFdMV1BXVFdYV1xXWFdUV2BXZFdoV2RXYFdsV3BXbFdgV2xXcFd0V3hXfFeAV4RXgFd8V4BXhFeIV4xXiFeEV5BXlFeYV5RXkFecV6BXnFeQV5xXoFekV6hXrFewV7RXsFesV7BXtFe4V7xXuFe0V8BXxFfIV8RXwFfMV9BXzFfAV8xX0FfUV9hX3FfgV+RX4FfcV+BX5FfoV+xX6FfkV/BX9Ff4V/RX8Ff8VABb/FfwV/xUAFgEWAhYDFgQWBRYEFgMWBBYFFgYWBxYGFgUWCBYJFgoWCRYIFgsWDBYLFggWCxYMFg0WDhYPFhAWERYQFg8WEBYRFhIWExYSFhEWFBYVFhYWFRYUFhcWGBYXFhQWFxYYFhkWGhYbFhwWHRYcFhsWHBYdFh4WHxYeFh0WIBYhFiIWIRYgFiMWJBYjFiAWIxYkFiUWJhYnFigWKRYoFicWKBYpFioWKxYqFikWLBYtFi4WLRYsFi8WMBYvFiwWLxYwFjEWMhYzFjQWNRY0FjMWNBY1FjYWNxY2FjUWOBY5FjoWORY4FjsWPBY7FjgWOxY8Fj0WPhY/FkAWQRZAFj8WQBZBFkIWQxZCFkEWRBZFFkYWRRZEFkcWSBZHFkQWRxZIFkkWShZLFkwWTRZMFksWTBZNFk4WTxZOFk0WUBZRFlIWURZQFlMWVBZTFlAWUxZUFlUWVhZXFlgWWRZYFlcWWBZZFloWWxZaFlkWXBZdFl4WXRZcFl8WYBZfFlwWXxZgFmEWYhZjFmQWZRZkFmMWZBZlFmYWZxZmFmUWaBZpFmoWaRZoFmsWbBZrFmgWaxZsFm0WbhZvFnAWcRZwFm8WcBZxFnIWcxZyFnEWdBZ1FnYWdRZ0FncWeBZ3FnQWdxZ4FnkWehZ7FnwWfRZ8FnsWfBZ9Fn4WfxZ+Fn0WgBaBFoIWgRaAFoMWhBaDFoAWgxaEFoUWhhaHFogWiRaIFocWiBaJFooWixaKFokWjBaNFo4WjRaMFo8WkBaPFowWjxaQFpEWkhaTFpQWlRaUFpMWlBaVFpYWlxaWFpUWmBaZFpoWmRaYFpsWnBabFpgWmxacFp0WnhafFqAWoRagFp8WoBahFqIWoxaiFqEWpBalFqYWpRakFqcWqBanFqQWpxaoFqkWqharFqwWrRasFqsWrBatFq4WrxauFq0WsBaxFrIWsRawFrMWtBazFrAWsxa0FrUWtha3FrgWuRa4FrcWuBa5FroWuxa6FrkWvBa9Fr4WvRa8Fr8WwBa/FrwWvxbAFsEWwhbDFsQWxRbEFsMWxBbFFsYWxxbGFsUWyBbJFsoWyRbIFssWzBbLFsgWyxbMFs0WzhbPFtAW0RbQFs8W0BbRFtIW0xbSFtEW1BbVFtYW1RbUFtcW2BbXFtQW1xbYFtkW2hbbFtwW3RbcFtsW3BbdFt4W3xbeFt0W4BbhFuIW4RbgFuMW5BbjFuAW4xbkFuUW5hbnFugW6RboFucW6BbpFuoW6xbqFukW7BbtFu4W7RbsFu8W8BbvFuwW7xbwFvEW8hbzFvQW9Rb0FvMW9Bb1FvYW9xb2FvUW+Bb5FvoW+Rb4FvsW/Bb7FvgW+xb8Fv0W/hb/FgAXARcAF/8WABcBFwIXAxcCFwEXBBcFFwYXBRcEFwcXCBcHFwQXBxcIFwkXChcLFwwXDRcMFwsXDBcNFw4XDxcOFw0XEBcRFxIXERcQFxMXFBcTFxAXExcUFxUXFhcXFxgXGRcYFxcXGBcZFxoXGxcaFxkXHBcdFx4XHRccFx8XIBcfFxwXHxcgFyEXIhcjFyQXJRckFyMXJBclFyYXJxcmFyUXKBcpFyoXKRcoFysXLBcrFygXKxcsFy0XLhcvFzAXMRcwFy8XMBcxFzIXMxcyFzEXNBc1FzYXNRc0FzcXOBc3FzQXNxc4FzkXOhc7FzwXPRc8FzsXPBc9Fz4XPxc+Fz0XQBdBF0IXQRdAF0MXRBdDF0AXQxdEF0UXRhdHF0gXSRdIF0cXSBdJF0oXSxdKF0kXTBdNF04XTRdMF08XUBdPF0wXTxdQF1EXUhdTF1QXVRdUF1MXVBdVF1YXVxdWF1UXWBdZF1oXWRdYF1sXXBdbF1gXWxdcF10XXhdfF2AXYRdgF18XYBdhF2IXYxdiF2EXZBdlF2YXZRdkF2cXaBdnF2QXZxdoF2kXahdrF2wXbRdsF2sXbBdtF24XbxduF20XcBdxF3IXcRdwF3MXdBdzF3AXcxd0F3UXdhd3F3gXeRd4F3cXeBd5F3oXexd6F3kXfBd9F34XfRd8F38XgBd/F3wXfxeAF4EXgheDF4QXhReEF4MXhBeFF4YXhxeGF4UXiBeJF4oXiReIF4sXjBeLF4gXixeMF40XjhePF5AXkReQF48XkBeRF5IXkxeSF5EXlBeVF5YXlReUF5cXmBeXF5QXlxeYF5kXmhebF5wXnRecF5sXnBedF54XnxeeF50XoBehF6IXoRegF6MXpBejF6AXoxekF6UXphenF6gXqReoF6cXqBepF6oXqxeqF6kXrBetF64XrResF68XsBevF6wXrxewF7EXshezF7QXtRe0F7MXtBe1F7YXtxe2F7UXuBe5F7oXuRe4F7sXvBe7F7gXuxe8F70Xvhe/F8AXwRfAF78XwBfBF8IXwxfCF8EXxBfFF8YXxRfEF8cXyBfHF8QXxxfIF8kXyhfLF8wXzRfMF8sXzBfNF84XzxfOF80X0BfRF9IX0RfQF9MX1BfTF9AX0xfUF9UX1hfXF9gX2RfYF9cX2BfZF9oX2xfaF9kX3BfdF94X3RfcF98X4BffF9wX3xfgF+EX4hfjF+QX5RfkF+MX5BflF+YX5xfmF+UX6BfpF+oX6RfoF+sX7BfrF+gX6xfsF+0X7hfvF/AX8RfwF+8X8BfxF/IX8xfyF/EX9Bf1F/YX9Rf0F/cX+Bf3F/QX9xf4F/kX+hf7F/wX/Rf8F/sX/Bf9F/4X/xf+F/0XABgBGAIYARgAGAMYBBgDGAAYAxgEGAUYBhgHGAgYCRgIGAcYCBgJGAoYCxgKGAkYDBgNGA4YDRgMGA8YEBgPGAwYDxgQGBEYEhgTGBQYFRgUGBMYFBgVGBYYFxgWGBUYGBgZGBoYGRgYGBsYHBgbGBgYGxgcGB0YHhgfGCAYIRggGB8YIBghGCIYIxgiGCEYJBglGCYYJRgkGCcYKBgnGCQYJxgoGCkYKhgrGCwYLRgsGCsYLBgtGC4YLxguGC0YMBgxGDIYMRgwGDMYNBgzGDAYMxg0GDUYNhg3GDgYORg4GDcYOBg5GDoYOxg6GDkYPBg9GD4YPRg8GD8YQBg/GDwYPxhAGEEYQhhDGEQYRRhEGEMYRBhFGEYYRxhGGEUYSBhJGEoYSRhIGEsYTBhLGEgYSxhMGE0YThhPGFAYURhQGE8YUBhRGFIYUxhSGFEYVBhVGFYYVRhUGFcYWBhXGFQYVxhYGFkYWhhbGFwYXRhcGFsYXBhdGF4YXxheGF0YYBhhGGIYYRhgGGMYZBhjGGAYYxhkGGUYZhhnGGgYaRhoGGcYaBhpGGoYaxhqGGkYbBhtGG4YbRhsGG8YcBhvGGwYbxhwGHEYchhzGHQYdRh0GHMYdBh1GHYYdxh2GHUYeBh5GHoYeRh4GHsYfBh7GHgYexh8GH0Yfhh/GIAYgRiAGH8YgBiBGIIYgxiCGIEYhBiFGIYYhRiEGIcYiBiHGIQYhxiIGIkYihiLGIwYjRiMGIsYjBiNGI4YjxiOGI0YkBiRGJIYkRiQGJMYlBiTGJAYkxiUGJUYlhiXGJgYmRiYGJcYmBiZGJoYmxiaGJkYnBidGJ4YnRicGJ8YoBifGJwYnxigGKEYohijGKQYpRikGKMYpBilGKYYpximGKUYqBipGKoYqRioGKsYrBirGKgYqxisGK0YrhivGLAYsRiwGK8YsBixGLIYsxiyGLEYtBi1GLYYtRi0GLcYuBi3GLQYtxi4GLkYuhi7GLwYvRi8GLsYvBi9GL4Yvxi+GL0YwBjBGMIYwRjAGMMYxBjDGMAYwxjEGMUYxhjHGMgYyRjIGMcYyBjJGMoYyxjKGMkYzBjNGM4YzRjMGM8Y0BjPGMwYzxjQGNEY0hjTGNQY1RjUGNMY1BjVGNYY1xjWGNUY2BjZGNoY2RjYGNsY3BjbGNgY2xjcGN0Y3hjfGOAY4RjgGN8Y4BjhGOIY4xjiGOEY5BjlGOYY5RjkGOcY6BjnGOQY5xjoGOkY6hjrGOwY7RjsGOsY7BjtGO4Y7xjuGO0Y8BjxGPIY8RjwGPMY9BjzGPAY8xj0GPUY9hj3GPgY+Rj4GPcY+Bj5GPoY+xj6GPkY/Bj9GP4Y/Rj8GP8YABn/GPwY/xgAGQEZAhkDGQQZBRkEGQMZBBkFGQYZBxkGGQUZCBkJGQoZCRkIGQsZDBkLGQgZCxkMGQ0ZDhkPGRAZERkQGQ8ZEBkRGRIZExkSGREZFBkVGRYZFRkUGRcZGBkXGRQZFxkYGRkZGhkbGRwZHRkcGRsZHBkdGR4ZHxkeGR0ZIBkhGSIZIRkgGSMZJBkjGSAZIxkkGSUZJhknGSgZKRkoGScZKBkpGSoZKxkqGSkZLBktGS4ZLRksGS8ZMBkvGSwZLxkwGTEZMhkzGTQZNRk0GTMZNBk1GTYZNxk2GTUZOBk5GToZORk4GTsZPBk7GTgZOxk8GT0ZPhk/GUAZQRlAGT8ZQBlBGUIZQxlCGUEZRBlFGUYZRRlEGUcZSBlHGUQZRxlIGUkZShlLGUwZTRlMGUsZTBlNGU4ZTxlOGU0ZUBlRGVIZURlQGVMZVBlTGVAZUxlUGVUZVhlXGVgZWRlYGVcZWBlZGVoZWxlaGVkZXBldGV4ZXRlcGV8ZYBlfGVwZXxlgGWEZYhljGWQZZRlkGWMZZBllGWYZZxlmGWUZaBlpGWoZaRloGWsZbBlrGWgZaxlsGW0ZbhlvGXAZcRlwGW8ZcBlxGXIZcxlyGXEZdBl1GXYZdRl0GXcZeBl3GXQZdxl4GXkZehl7GXwZfRl8GXsZfBl9GX4Zfxl+GX0ZgBmBGYIZgRmAGYMZhBmDGYAZgxmEGYUZhhmHGYgZiRmIGYcZiBmJGYoZixmKGYkZjBmNGY4ZjRmMGY8ZkBmPGYwZjxmQGZEZkhmTGZQZlRmUGZMZlBmVGZYZlxmWGZUZmBmZGZoZmRmYGZsZnBmbGZgZmxmcGZ0ZnhmfGaAZoRmgGZ8ZoBmhGaIZoxmiGaEZpBmlGaYZpRmkGacZqBmnGaQZpxmoGakZqhmrGawZrRmsGasZrBmtGa4ZrxmuGa0ZsBmxGbIZsRmwGbMZtBmzGbAZsxm0GbUZthm3GbgZuRm4GbcZuBm5GboZuxm6GbkZvBm9Gb4ZvRm8Gb8ZwBm/GbwZvxnAGcEZwhnDGcQZxRnEGcMZxBnFGcYZxxnGGcUZyBnJGcoZyRnIGcsZzBnLGcgZyxnMGc0ZzhnPGdAZ0RnQGc8Z0BnRGdIZ0xnSGdEZ1BnVGdYZ1RnUGdcZ2BnXGdQZ1xnYGdkZ2hnbGdwZ3RncGdsZ3BndGd4Z3xneGd0Z4BnhGeIZ4RngGeMZ5BnjGeAZ4xnkGeUZ5hnnGegZ6RnoGecZ6BnpGeoZ6xnqGekZ7BntGe4Z7RnsGe8Z8BnvGewZ7xnwGfEZ8hnzGfQZ9Rn0GfMZ9Bn1GfYZ9xn2GfUZ+Bn5GfoZ+Rn4GfsZ/Bn7GfgZ+xn8Gf0Z/hn/GQAaARoAGv8ZABoBGgIaAxoCGgEaBBoFGgYaBRoEGgcaCBoHGgQaBxoIGgkaChoLGgwaDRoMGgsaDBoNGg4aDxoOGg0aEBoRGhIaERoQGhMaFBoTGhAaExoUGhUaFhoXGhgaGRoYGhcaGBoZGhoaGxoaGhkaHBodGh4aHRocGh8aIBofGhwaHxogGiEaIhojGiQaJRokGiMaJBolGiYaJxomGiUaKBopGioaKRooGisaLBorGigaKxosGi0aLhovGjAaMRowGi8aMBoxGjIaMxoyGjEaNBo1GjYaNRo0GjcaOBo3GjQaNxo4GjkaOho7GjwaPRo8GjsaPBo9Gj4aPxo+Gj0aQBpBGkIaQRpAGkMaRBpDGkAaQxpEGkUaRhpHGkgaSRpIGkcaSBpJGkoaSxpKGkkaTBpNGk4aTRpMGk8aUBpPGkwaTxpQGlEaUhpTGlQaVRpUGlMaVBpVGlYaVxpWGlUaWBpZGloaWRpYGlsaXBpbGlgaWxpcGl0aXhpfGmAaYRpgGl8aYBphGmIaYxpiGmEaZBplGmYaZRpkGmcaaBpnGmQaZxpoGmkaahprGmwabRpsGmsabBptGm4abxpuGm0acBpxGnIacRpwGnMadBpzGnAacxp0GnUadhp3GngaeRp4GncaeBp5Gnoaexp6GnkafBp9Gn4afRp8Gn8agBp/GnwafxqAGoEaghqDGoQahRqEGoMahBqFGoYahxqGGoUaiBqJGooaiRqIGosajBqLGogaixqMGo0ajhqPGpAakRqQGo8akBqRGpIakxqSGpEalBqVGpYalRqUGpcamBqXGpQalxqYGpkamhqbGpwanRqcGpsanBqdGp4anxqeGp0aoBqhGqIaoRqgGqMapBqjGqAaoxqkGqUaphqnGqgaqRqoGqcaqBqpGqoaqxqqGqka"), -"material": SubResource("StandardMaterial3D_vgon5"), +"material": ExtResource("5_kmvfw"), "primitive": 3, "uv_scale": Vector4(0, 0, 0, 0), "vertex_count": 6828, @@ -190,6 +149,8 @@ render_priority = -1 transparency = 1 albedo_texture = SubResource("GradientTexture2D_4pxk2") +[sub_resource type="PlaneMesh" id="PlaneMesh_mvr6i"] + [node name="Fir-Group" type="Node3D"] [node name="Fir-Tree" type="StaticBody3D" parent="."] @@ -203,7 +164,8 @@ shape = SubResource("CapsuleShape3D_3jsax") transform = Transform3D(1.9628266, 0, 0, 0, 1.9628266, 0, 0, 0, 1.9628266, 0, 0, 0) [node name="Fir-Tree" parent="Fir-Tree/Fir-Tree2" index="0"] -surface_material_override/0 = SubResource("StandardMaterial3D_mvr6i") +surface_material_override/0 = ExtResource("2_mvr6i") +surface_material_override/1 = ExtResource("3_kmvfw") [node name="Fir-Tree2" type="StaticBody3D" parent="."] transform = Transform3D(0.6540956, 0.076034315, 0, -0.076034315, 0.6540956, 0, 0, 0, 0.6585, 2.051654, 0.19738604, -0.03106308) @@ -216,7 +178,8 @@ shape = SubResource("CapsuleShape3D_ojc8e") transform = Transform3D(1.9628266, 0, 0, 0, 1.9628266, 0, 0, 0, 1.9628266, 0, 0, 0) [node name="Fir-Tree" parent="Fir-Tree2/Fir-Tree2" index="0"] -surface_material_override/0 = SubResource("StandardMaterial3D_kmvfw") +surface_material_override/0 = ExtResource("2_mvr6i") +surface_material_override/1 = ExtResource("3_kmvfw") [node name="Fir-Tree3" type="StaticBody3D" parent="."] transform = Transform3D(0.7900405, 0.09086897, -0.044621587, -0.09780733, 0.7757176, -0.15201366, 0.026114782, 0.15626022, 0.7805851, -0.18325019, -0.40480185, 1.311768) @@ -230,12 +193,13 @@ transform = Transform3D(1.2378, 0, 0, 0, 1.6477927, 0, 0, 0, 1.2378, 0, 0, 0) metadata/_edit_group_ = true [node name="Fir-Tree" parent="Fir-Tree3/Fir-Tree2" index="0"] -surface_material_override/0 = SubResource("StandardMaterial3D_pg7of") +surface_material_override/0 = ExtResource("2_mvr6i") +surface_material_override/1 = ExtResource("3_kmvfw") [node name="GrassPatch" type="Node3D" parent="." node_paths=PackedStringArray("output")] script = ExtResource("2_woxha") output = NodePath("MeshInstance3D") -material = SubResource("StandardMaterial3D_vgon5") +material = ExtResource("5_kmvfw") patchSize = 8.0 centerPatch = true blades = 25 @@ -271,13 +235,31 @@ highCurve = SubResource("Curve_2gdgn") metadata/_custom_type_script = "uid://bo0awqfi5eqg4" [node name="MeshInstance3D" type="MeshInstance3D" parent="GrassPatch"] -mesh = SubResource("ArrayMesh_g8ioq") +mesh = SubResource("ArrayMesh_kmvfw") [node name="MeshInstance3D" type="MeshInstance3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0) mesh = SubResource("PlaneMesh_3jsax") surface_material_override/0 = SubResource("StandardMaterial3D_2ba48") +[node name="Map Geometry" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.2740593, 4.7683716e-07, 0.003993213) +layers = 8 +mesh = SubResource("PlaneMesh_mvr6i") +surface_material_override/0 = ExtResource("4_4pxk2") + +[node name="Map Geometry 2" type="MeshInstance3D" parent="."] +transform = Transform3D(1.8367388, 0, 0, 0, 1, 0, 0, 0, 1.8367388, -1.0960741, 4.7683716e-07, -0.026505917) +layers = 8 +mesh = SubResource("PlaneMesh_mvr6i") +surface_material_override/0 = ExtResource("4_4pxk2") + +[node name="Map Geometry 3" type="MeshInstance3D" parent="."] +transform = Transform3D(0.6997885, 0, 0, 0, 1, 0, 0, 0, 0.6997885, -0.063928604, 4.7683716e-07, 1.5103611) +layers = 8 +mesh = SubResource("PlaneMesh_mvr6i") +surface_material_override/0 = ExtResource("4_4pxk2") + [editable path="Fir-Tree/Fir-Tree2"] [editable path="Fir-Tree2/Fir-Tree2"] [editable path="Fir-Tree3/Fir-Tree2"] diff --git a/GameObjects/Fir-Group/Fir Group.tscn b/GameObjects/Fir-Group/Fir Group.tscn index b75bece..04ce8f9 100644 --- a/GameObjects/Fir-Group/Fir Group.tscn +++ b/GameObjects/Fir-Group/Fir Group.tscn @@ -1,7 +1,28 @@ -[gd_scene load_steps=40 format=4 uid="uid://cysnvy387qi38"] +[gd_scene load_steps=72 format=4 uid="uid://cysnvy387qi38"] [ext_resource type="PackedScene" uid="uid://c2nmnsvtjycko" path="res://GameObjects/Fir/Fir-Tree.gltf" id="1_ojc8e"] [ext_resource type="Script" uid="uid://bo0awqfi5eqg4" path="res://addons/rokojori_action_library/Runtime/Procedural/Assets/Grass/GrassPatch.cs" id="2_3jsax"] +[ext_resource type="Shader" uid="uid://b734lcqo4dptn" path="res://GameObjects/Fir/FirShader.gdshader" id="2_6ynax"] +[ext_resource type="Material" uid="uid://c5gv2ud526j04" path="res://GameObjects/Fir/Fir Material.tres" id="2_gr4uy"] +[ext_resource type="Material" uid="uid://dhup2o6fwun4t" path="res://UI/Map/Map Trees Circle.tres" id="3_5ep8c"] +[ext_resource type="Material" uid="uid://w7gdgytbe1d1" path="res://GameObjects/Fir/Fir Trunk Material.tres" id="3_5t3l0"] +[ext_resource type="Material" uid="uid://rpwwlhgnp1a4" path="res://GameObjects/Grass/Grass.material" id="5_5t3l0"] +[ext_resource type="Script" uid="uid://2gudnu1r4pjg" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/SpatialShaderGenerator.cs" id="6_5t3l0"] +[ext_resource type="Script" uid="uid://cxev8s3qvg8sq" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Albedo/AlbedoModule.cs" id="7_t1nin"] +[ext_resource type="Script" uid="uid://biqus8elamaeo" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Fading/Line/LineFading.cs" id="8_4ne5c"] +[ext_resource type="Script" uid="uid://bqk5po80nylsk" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Fading/FadingModule.cs" id="9_ke8ef"] +[ext_resource type="Script" uid="uid://drc5hdnwme7be" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Geometry/GeometryModule.cs" id="10_arbfg"] +[ext_resource type="Script" uid="uid://yoc4tx8ahe6b" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Masks/SpatialMasksModule.cs" id="11_oh33d"] +[ext_resource type="Script" uid="uid://n0gi67ntpq0y" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Metallic/MetallicModule.cs" id="12_rk6tm"] +[ext_resource type="Script" uid="uid://tl4qfoxysj06" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/NormalMap/NormalMapModule.cs" id="13_m86la"] +[ext_resource type="Script" uid="uid://dnikyu81333q8" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Occlusion/OcclusionModule.cs" id="14_2gdgn"] +[ext_resource type="Script" uid="uid://dew0uayffwxwk" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Roughness/RoughnessModule.cs" id="15_hnu45"] +[ext_resource type="Script" uid="uid://bakspsqw7d0hn" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/SpatialShaderData.cs" id="16_do5fr"] +[ext_resource type="Script" uid="uid://ckll7njnako4c" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Shading/ShadingModule.cs" id="17_cx3v3"] +[ext_resource type="Script" uid="uid://c7bmbvoc57ebo" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Specular/SpecularModule.cs" id="18_gapgh"] +[ext_resource type="Script" uid="uid://ckstqai24gfu2" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Transparency/TransparencyModule.cs" id="19_k8smg"] +[ext_resource type="Script" uid="uid://ocri03glwwv7" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/UV/UVModule.cs" id="20_35yur"] +[ext_resource type="Script" uid="uid://7bnmdhvno7ua" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Varyings/SpatialVarying.cs" id="21_7ufu3"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_3jsax"] radius = 1.62 @@ -15,29 +36,6 @@ height = 5.215 radius = 1.01 height = 5.215 -[sub_resource type="Gradient" id="Gradient_5ep8c"] -offsets = PackedFloat32Array(0.24579124, 0.8249158) -colors = PackedColorArray(0.22888803, 0.561098, 0.33770537, 1, 0.48462835, 0.7851237, 0.43386889, 1) - -[sub_resource type="GradientTexture2D" id="GradientTexture2D_uf0ka"] -gradient = SubResource("Gradient_5ep8c") -fill_from = Vector2(0, 1) -fill_to = Vector2(0, 0) - -[sub_resource type="Gradient" id="Gradient_2sheh"] -colors = PackedColorArray(0.6561392, 0.6561392, 0.6561392, 1, 1, 1, 1, 1) - -[sub_resource type="GradientTexture2D" id="GradientTexture2D_2ba48"] -gradient = SubResource("Gradient_2sheh") -fill_from = Vector2(0, 1) -fill_to = Vector2(0, 0) - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mfkwq"] -albedo_texture = SubResource("GradientTexture2D_uf0ka") -ao_enabled = true -ao_light_affect = 1.0 -ao_texture = SubResource("GradientTexture2D_2ba48") - [sub_resource type="Curve" id="Curve_shj3s"] _data = [Vector2(0, 0), 0.0, 1.0, 0, 1, Vector2(1, 1), 1.0, 0.0, 1, 0] point_count = 2 @@ -136,14 +134,14 @@ point_count = 2 _data = [Vector2(0, 0), 0.0, 1.0, 0, 1, Vector2(1, 1), 1.0, 0.0, 1, 0] point_count = 2 -[sub_resource type="ArrayMesh" id="ArrayMesh_3jsax"] +[sub_resource type="ArrayMesh" id="ArrayMesh_5t3l0"] _surfaces = [{ "aabb": AABB(-4.2873783, -0.050773274, -4.4053464, 8.6574135, 0.77353084, 8.539507), "attribute_data": PackedByteArray("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"), "format": 34359742487, "index_count": 13656, "index_data": PackedByteArray("AAABAAIAAQAAAAMABAADAAAAAwAEAAUABgAHAAgACQAIAAcACAAJAAoACwAKAAkADAANAA4ADQAMAA8AEAAPAAwADwAQABEAEgATABQAFQAUABMAFAAVABYAFwAWABUAGAAZABoAGQAYABsAHAAbABgAGwAcAB0AHgAfACAAIQAgAB8AIAAhACIAIwAiACEAJAAlACYAJQAkACcAKAAnACQAJwAoACkAKgArACwALQAsACsALAAtAC4ALwAuAC0AMAAxADIAMQAwADMANAAzADAAMwA0ADUANgA3ADgAOQA4ADcAOAA5ADoAOwA6ADkAPAA9AD4APQA8AD8AQAA/ADwAPwBAAEEAQgBDAEQARQBEAEMARABFAEYARwBGAEUASABJAEoASQBIAEsATABLAEgASwBMAE0ATgBPAFAAUQBQAE8AUABRAFIAUwBSAFEAVABVAFYAVQBUAFcAWABXAFQAVwBYAFkAWgBbAFwAXQBcAFsAXABdAF4AXwBeAF0AYABhAGIAYQBgAGMAZABjAGAAYwBkAGUAZgBnAGgAaQBoAGcAaABpAGoAawBqAGkAbABtAG4AbQBsAG8AcABvAGwAbwBwAHEAcgBzAHQAdQB0AHMAdAB1AHYAdwB2AHUAeAB5AHoAeQB4AHsAfAB7AHgAewB8AH0AfgB/AIAAgQCAAH8AgACBAIIAgwCCAIEAhACFAIYAhQCEAIcAiACHAIQAhwCIAIkAigCLAIwAjQCMAIsAjACNAI4AjwCOAI0AkACRAJIAkQCQAJMAlACTAJAAkwCUAJUAlgCXAJgAmQCYAJcAmACZAJoAmwCaAJkAnACdAJ4AnQCcAJ8AoACfAJwAnwCgAKEAogCjAKQApQCkAKMApAClAKYApwCmAKUAqACpAKoAqQCoAKsArACrAKgAqwCsAK0ArgCvALAAsQCwAK8AsACxALIAswCyALEAtAC1ALYAtQC0ALcAuAC3ALQAtwC4ALkAugC7ALwAvQC8ALsAvAC9AL4AvwC+AL0AwADBAMIAwQDAAMMAxADDAMAAwwDEAMUAxgDHAMgAyQDIAMcAyADJAMoAywDKAMkAzADNAM4AzQDMAM8A0ADPAMwAzwDQANEA0gDTANQA1QDUANMA1ADVANYA1wDWANUA2ADZANoA2QDYANsA3ADbANgA2wDcAN0A3gDfAOAA4QDgAN8A4ADhAOIA4wDiAOEA5ADlAOYA5QDkAOcA6ADnAOQA5wDoAOkA6gDrAOwA7QDsAOsA7ADtAO4A7wDuAO0A8ADxAPIA8QDwAPMA9ADzAPAA8wD0APUA9gD3APgA+QD4APcA+AD5APoA+wD6APkA/AD9AP4A/QD8AP8AAAH/APwA/wAAAQEBAgEDAQQBBQEEAQMBBAEFAQYBBwEGAQUBCAEJAQoBCQEIAQsBDAELAQgBCwEMAQ0BDgEPARABEQEQAQ8BEAERARIBEwESAREBFAEVARYBFQEUARcBGAEXARQBFwEYARkBGgEbARwBHQEcARsBHAEdAR4BHwEeAR0BIAEhASIBIQEgASMBJAEjASABIwEkASUBJgEnASgBKQEoAScBKAEpASoBKwEqASkBLAEtAS4BLQEsAS8BMAEvASwBLwEwATEBMgEzATQBNQE0ATMBNAE1ATYBNwE2ATUBOAE5AToBOQE4ATsBPAE7ATgBOwE8AT0BPgE/AUABQQFAAT8BQAFBAUIBQwFCAUEBRAFFAUYBRQFEAUcBSAFHAUQBRwFIAUkBSgFLAUwBTQFMAUsBTAFNAU4BTwFOAU0BUAFRAVIBUQFQAVMBVAFTAVABUwFUAVUBVgFXAVgBWQFYAVcBWAFZAVoBWwFaAVkBXAFdAV4BXQFcAV8BYAFfAVwBXwFgAWEBYgFjAWQBZQFkAWMBZAFlAWYBZwFmAWUBaAFpAWoBaQFoAWsBbAFrAWgBawFsAW0BbgFvAXABcQFwAW8BcAFxAXIBcwFyAXEBdAF1AXYBdQF0AXcBeAF3AXQBdwF4AXkBegF7AXwBfQF8AXsBfAF9AX4BfwF+AX0BgAGBAYIBgQGAAYMBhAGDAYABgwGEAYUBhgGHAYgBiQGIAYcBiAGJAYoBiwGKAYkBjAGNAY4BjQGMAY8BkAGPAYwBjwGQAZEBkgGTAZQBlQGUAZMBlAGVAZYBlwGWAZUBmAGZAZoBmQGYAZsBnAGbAZgBmwGcAZ0BngGfAaABoQGgAZ8BoAGhAaIBowGiAaEBpAGlAaYBpQGkAacBqAGnAaQBpwGoAakBqgGrAawBrQGsAasBrAGtAa4BrwGuAa0BsAGxAbIBsQGwAbMBtAGzAbABswG0AbUBtgG3AbgBuQG4AbcBuAG5AboBuwG6AbkBvAG9Ab4BvQG8Ab8BwAG/AbwBvwHAAcEBwgHDAcQBxQHEAcMBxAHFAcYBxwHGAcUByAHJAcoByQHIAcsBzAHLAcgBywHMAc0BzgHPAdAB0QHQAc8B0AHRAdIB0wHSAdEB1AHVAdYB1QHUAdcB2AHXAdQB1wHYAdkB2gHbAdwB3QHcAdsB3AHdAd4B3wHeAd0B4AHhAeIB4QHgAeMB5AHjAeAB4wHkAeUB5gHnAegB6QHoAecB6AHpAeoB6wHqAekB7AHtAe4B7QHsAe8B8AHvAewB7wHwAfEB8gHzAfQB9QH0AfMB9AH1AfYB9wH2AfUB+AH5AfoB+QH4AfsB/AH7AfgB+wH8Af0B/gH/AQACAQIAAv8BAAIBAgICAwICAgECBAIFAgYCBQIEAgcCCAIHAgQCBwIIAgkCCgILAgwCDQIMAgsCDAINAg4CDwIOAg0CEAIRAhICEQIQAhMCFAITAhACEwIUAhUCFgIXAhgCGQIYAhcCGAIZAhoCGwIaAhkCHAIdAh4CHQIcAh8CIAIfAhwCHwIgAiECIgIjAiQCJQIkAiMCJAIlAiYCJwImAiUCKAIpAioCKQIoAisCLAIrAigCKwIsAi0CLgIvAjACMQIwAi8CMAIxAjICMwIyAjECNAI1AjYCNQI0AjcCOAI3AjQCNwI4AjkCOgI7AjwCPQI8AjsCPAI9Aj4CPwI+Aj0CQAJBAkICQQJAAkMCRAJDAkACQwJEAkUCRgJHAkgCSQJIAkcCSAJJAkoCSwJKAkkCTAJNAk4CTQJMAk8CUAJPAkwCTwJQAlECUgJTAlQCVQJUAlMCVAJVAlYCVwJWAlUCWAJZAloCWQJYAlsCXAJbAlgCWwJcAl0CXgJfAmACYQJgAl8CYAJhAmICYwJiAmECZAJlAmYCZQJkAmcCaAJnAmQCZwJoAmkCagJrAmwCbQJsAmsCbAJtAm4CbwJuAm0CcAJxAnICcQJwAnMCdAJzAnACcwJ0AnUCdgJ3AngCeQJ4AncCeAJ5AnoCewJ6AnkCfAJ9An4CfQJ8An8CgAJ/AnwCfwKAAoECggKDAoQChQKEAoMChAKFAoYChwKGAoUCiAKJAooCiQKIAosCjAKLAogCiwKMAo0CjgKPApACkQKQAo8CkAKRApICkwKSApEClAKVApYClQKUApcCmAKXApQClwKYApkCmgKbApwCnQKcApsCnAKdAp4CnwKeAp0CoAKhAqICoQKgAqMCpAKjAqACowKkAqUCpgKnAqgCqQKoAqcCqAKpAqoCqwKqAqkCrAKtAq4CrQKsAq8CsAKvAqwCrwKwArECsgKzArQCtQK0ArMCtAK1ArYCtwK2ArUCuAK5AroCuQK4ArsCvAK7ArgCuwK8Ar0CvgK/AsACwQLAAr8CwALBAsICwwLCAsECxALFAsYCxQLEAscCyALHAsQCxwLIAskCygLLAswCzQLMAssCzALNAs4CzwLOAs0C0ALRAtIC0QLQAtMC1ALTAtAC0wLUAtUC1gLXAtgC2QLYAtcC2ALZAtoC2wLaAtkC3ALdAt4C3QLcAt8C4ALfAtwC3wLgAuEC4gLjAuQC5QLkAuMC5ALlAuYC5wLmAuUC6ALpAuoC6QLoAusC7ALrAugC6wLsAu0C7gLvAvAC8QLwAu8C8ALxAvIC8wLyAvEC9AL1AvYC9QL0AvcC+AL3AvQC9wL4AvkC+gL7AvwC/QL8AvsC/AL9Av4C/wL+Av0CAAMBAwIDAQMAAwMDBAMDAwADAwMEAwUDBgMHAwgDCQMIAwcDCAMJAwoDCwMKAwkDDAMNAw4DDQMMAw8DEAMPAwwDDwMQAxEDEgMTAxQDFQMUAxMDFAMVAxYDFwMWAxUDGAMZAxoDGQMYAxsDHAMbAxgDGwMcAx0DHgMfAyADIQMgAx8DIAMhAyIDIwMiAyEDJAMlAyYDJQMkAycDKAMnAyQDJwMoAykDKgMrAywDLQMsAysDLAMtAy4DLwMuAy0DMAMxAzIDMQMwAzMDNAMzAzADMwM0AzUDNgM3AzgDOQM4AzcDOAM5AzoDOwM6AzkDPAM9Az4DPQM8Az8DQAM/AzwDPwNAA0EDQgNDA0QDRQNEA0MDRANFA0YDRwNGA0UDSANJA0oDSQNIA0sDTANLA0gDSwNMA00DTgNPA1ADUQNQA08DUANRA1IDUwNSA1EDVANVA1YDVQNUA1cDWANXA1QDVwNYA1kDWgNbA1wDXQNcA1sDXANdA14DXwNeA10DYANhA2IDYQNgA2MDZANjA2ADYwNkA2UDZgNnA2gDaQNoA2cDaANpA2oDawNqA2kDbANtA24DbQNsA28DcANvA2wDbwNwA3EDcgNzA3QDdQN0A3MDdAN1A3YDdwN2A3UDeAN5A3oDeQN4A3sDfAN7A3gDewN8A30DfgN/A4ADgQOAA38DgAOBA4IDgwOCA4EDhAOFA4YDhQOEA4cDiAOHA4QDhwOIA4kDigOLA4wDjQOMA4sDjAONA44DjwOOA40DkAORA5IDkQOQA5MDlAOTA5ADkwOUA5UDlgOXA5gDmQOYA5cDmAOZA5oDmwOaA5kDnAOdA54DnQOcA58DoAOfA5wDnwOgA6EDogOjA6QDpQOkA6MDpAOlA6YDpwOmA6UDqAOpA6oDqQOoA6sDrAOrA6gDqwOsA60DrgOvA7ADsQOwA68DsAOxA7IDswOyA7EDtAO1A7YDtQO0A7cDuAO3A7QDtwO4A7kDugO7A7wDvQO8A7sDvAO9A74DvwO+A70DwAPBA8IDwQPAA8MDxAPDA8ADwwPEA8UDxgPHA8gDyQPIA8cDyAPJA8oDywPKA8kDzAPNA84DzQPMA88D0APPA8wDzwPQA9ED0gPTA9QD1QPUA9MD1APVA9YD1wPWA9UD2APZA9oD2QPYA9sD3APbA9gD2wPcA90D3gPfA+AD4QPgA98D4APhA+ID4wPiA+ED5APlA+YD5QPkA+cD6APnA+QD5wPoA+kD6gPrA+wD7QPsA+sD7APtA+4D7wPuA+0D8APxA/ID8QPwA/MD9APzA/AD8wP0A/UD9gP3A/gD+QP4A/cD+AP5A/oD+wP6A/kD/AP9A/4D/QP8A/8DAAT/A/wD/wMABAEEAgQDBAQEBQQEBAMEBAQFBAYEBwQGBAUECAQJBAoECQQIBAsEDAQLBAgECwQMBA0EDgQPBBAEEQQQBA8EEAQRBBIEEwQSBBEEFAQVBBYEFQQUBBcEGAQXBBQEFwQYBBkEGgQbBBwEHQQcBBsEHAQdBB4EHwQeBB0EIAQhBCIEIQQgBCMEJAQjBCAEIwQkBCUEJgQnBCgEKQQoBCcEKAQpBCoEKwQqBCkELAQtBC4ELQQsBC8EMAQvBCwELwQwBDEEMgQzBDQENQQ0BDMENAQ1BDYENwQ2BDUEOAQ5BDoEOQQ4BDsEPAQ7BDgEOwQ8BD0EPgQ/BEAEQQRABD8EQARBBEIEQwRCBEEERARFBEYERQREBEcESARHBEQERwRIBEkESgRLBEwETQRMBEsETARNBE4ETwROBE0EUARRBFIEUQRQBFMEVARTBFAEUwRUBFUEVgRXBFgEWQRYBFcEWARZBFoEWwRaBFkEXARdBF4EXQRcBF8EYARfBFwEXwRgBGEEYgRjBGQEZQRkBGMEZARlBGYEZwRmBGUEaARpBGoEaQRoBGsEbARrBGgEawRsBG0EbgRvBHAEcQRwBG8EcARxBHIEcwRyBHEEdAR1BHYEdQR0BHcEeAR3BHQEdwR4BHkEegR7BHwEfQR8BHsEfAR9BH4EfwR+BH0EgASBBIIEgQSABIMEhASDBIAEgwSEBIUEhgSHBIgEiQSIBIcEiASJBIoEiwSKBIkEjASNBI4EjQSMBI8EkASPBIwEjwSQBJEEkgSTBJQElQSUBJMElASVBJYElwSWBJUEmASZBJoEmQSYBJsEnASbBJgEmwScBJ0EngSfBKAEoQSgBJ8EoAShBKIEowSiBKEEpASlBKYEpQSkBKcEqASnBKQEpwSoBKkEqgSrBKwErQSsBKsErAStBK4ErwSuBK0EsASxBLIEsQSwBLMEtASzBLAEswS0BLUEtgS3BLgEuQS4BLcEuAS5BLoEuwS6BLkEvAS9BL4EvQS8BL8EwAS/BLwEvwTABMEEwgTDBMQExQTEBMMExATFBMYExwTGBMUEyATJBMoEyQTIBMsEzATLBMgEywTMBM0EzgTPBNAE0QTQBM8E0ATRBNIE0wTSBNEE1ATVBNYE1QTUBNcE2ATXBNQE1wTYBNkE2gTbBNwE3QTcBNsE3ATdBN4E3wTeBN0E4AThBOIE4QTgBOME5ATjBOAE4wTkBOUE5gTnBOgE6QToBOcE6ATpBOoE6wTqBOkE7ATtBO4E7QTsBO8E8ATvBOwE7wTwBPEE8gTzBPQE9QT0BPME9AT1BPYE9wT2BPUE+AT5BPoE+QT4BPsE/AT7BPgE+wT8BP0E/gT/BAAFAQUABf8EAAUBBQIFAwUCBQEFBAUFBQYFBQUEBQcFCAUHBQQFBwUIBQkFCgULBQwFDQUMBQsFDAUNBQ4FDwUOBQ0FEAURBRIFEQUQBRMFFAUTBRAFEwUUBRUFFgUXBRgFGQUYBRcFGAUZBRoFGwUaBRkFHAUdBR4FHQUcBR8FIAUfBRwFHwUgBSEFIgUjBSQFJQUkBSMFJAUlBSYFJwUmBSUFKAUpBSoFKQUoBSsFLAUrBSgFKwUsBS0FLgUvBTAFMQUwBS8FMAUxBTIFMwUyBTEFNAU1BTYFNQU0BTcFOAU3BTQFNwU4BTkFOgU7BTwFPQU8BTsFPAU9BT4FPwU+BT0FQAVBBUIFQQVABUMFRAVDBUAFQwVEBUUFRgVHBUgFSQVIBUcFSAVJBUoFSwVKBUkFTAVNBU4FTQVMBU8FUAVPBUwFTwVQBVEFUgVTBVQFVQVUBVMFVAVVBVYFVwVWBVUFWAVZBVoFWQVYBVsFXAVbBVgFWwVcBV0FXgVfBWAFYQVgBV8FYAVhBWIFYwViBWEFZAVlBWYFZQVkBWcFaAVnBWQFZwVoBWkFagVrBWwFbQVsBWsFbAVtBW4FbwVuBW0FcAVxBXIFcQVwBXMFdAVzBXAFcwV0BXUFdgV3BXgFeQV4BXcFeAV5BXoFewV6BXkFfAV9BX4FfQV8BX8FgAV/BXwFfwWABYEFggWDBYQFhQWEBYMFhAWFBYYFhwWGBYUFiAWJBYoFiQWIBYsFjAWLBYgFiwWMBY0FjgWPBZAFkQWQBY8FkAWRBZIFkwWSBZEFlAWVBZYFlQWUBZcFmAWXBZQFlwWYBZkFmgWbBZwFnQWcBZsFnAWdBZ4FnwWeBZ0FoAWhBaIFoQWgBaMFpAWjBaAFowWkBaUFpgWnBagFqQWoBacFqAWpBaoFqwWqBakFrAWtBa4FrQWsBa8FsAWvBawFrwWwBbEFsgWzBbQFtQW0BbMFtAW1BbYFtwW2BbUFuAW5BboFuQW4BbsFvAW7BbgFuwW8Bb0FvgW/BcAFwQXABb8FwAXBBcIFwwXCBcEFxAXFBcYFxQXEBccFyAXHBcQFxwXIBckFygXLBcwFzQXMBcsFzAXNBc4FzwXOBc0F0AXRBdIF0QXQBdMF1AXTBdAF0wXUBdUF1gXXBdgF2QXYBdcF2AXZBdoF2wXaBdkF3AXdBd4F3QXcBd8F4AXfBdwF3wXgBeEF4gXjBeQF5QXkBeMF5AXlBeYF5wXmBeUF6AXpBeoF6QXoBesF7AXrBegF6wXsBe0F7gXvBfAF8QXwBe8F8AXxBfIF8wXyBfEF9AX1BfYF9QX0BfcF+AX3BfQF9wX4BfkF+gX7BfwF/QX8BfsF/AX9Bf4F/wX+Bf0FAAYBBgIGAQYABgMGBAYDBgAGAwYEBgUGBgYHBggGCQYIBgcGCAYJBgoGCwYKBgkGDAYNBg4GDQYMBg8GEAYPBgwGDwYQBhEGEgYTBhQGFQYUBhMGFAYVBhYGFwYWBhUGGAYZBhoGGQYYBhsGHAYbBhgGGwYcBh0GHgYfBiAGIQYgBh8GIAYhBiIGIwYiBiEGJAYlBiYGJQYkBicGKAYnBiQGJwYoBikGKgYrBiwGLQYsBisGLAYtBi4GLwYuBi0GMAYxBjIGMQYwBjMGNAYzBjAGMwY0BjUGNgY3BjgGOQY4BjcGOAY5BjoGOwY6BjkGPAY9Bj4GPQY8Bj8GQAY/BjwGPwZABkEGQgZDBkQGRQZEBkMGRAZFBkYGRwZGBkUGSAZJBkoGSQZIBksGTAZLBkgGSwZMBk0GTgZPBlAGUQZQBk8GUAZRBlIGUwZSBlEGVAZVBlYGVQZUBlcGWAZXBlQGVwZYBlkGWgZbBlwGXQZcBlsGXAZdBl4GXwZeBl0GYAZhBmIGYQZgBmMGZAZjBmAGYwZkBmUGZgZnBmgGaQZoBmcGaAZpBmoGawZqBmkGbAZtBm4GbQZsBm8GcAZvBmwGbwZwBnEGcgZzBnQGdQZ0BnMGdAZ1BnYGdwZ2BnUGeAZ5BnoGeQZ4BnsGfAZ7BngGewZ8Bn0GfgZ/BoAGgQaABn8GgAaBBoIGgwaCBoEGhAaFBoYGhQaEBocGiAaHBoQGhwaIBokGigaLBowGjQaMBosGjAaNBo4GjwaOBo0GkAaRBpIGkQaQBpMGlAaTBpAGkwaUBpUGlgaXBpgGmQaYBpcGmAaZBpoGmwaaBpkGnAadBp4GnQacBp8GoAafBpwGnwagBqEGogajBqQGpQakBqMGpAalBqYGpwamBqUGqAapBqoGqQaoBqsGrAarBqgGqwasBq0GrgavBrAGsQawBq8GsAaxBrIGswayBrEGtAa1BrYGtQa0BrcGuAa3BrQGtwa4BrkGuga7BrwGvQa8BrsGvAa9Br4Gvwa+Br0GwAbBBsIGwQbABsMGxAbDBsAGwwbEBsUGxgbHBsgGyQbIBscGyAbJBsoGywbKBskGzAbNBs4GzQbMBs8G0AbPBswGzwbQBtEG0gbTBtQG1QbUBtMG1AbVBtYG1wbWBtUG2AbZBtoG2QbYBtsG3AbbBtgG2wbcBt0G3gbfBuAG4QbgBt8G4AbhBuIG4wbiBuEG5AblBuYG5QbkBucG6AbnBuQG5wboBukG6gbrBuwG7QbsBusG7AbtBu4G7wbuBu0G8AbxBvIG8QbwBvMG9AbzBvAG8wb0BvUG9gb3BvgG+Qb4BvcG+Ab5BvoG+wb6BvkG/Ab9Bv4G/Qb8Bv8GAAf/BvwG/wYABwEHAgcDBwQHBQcEBwMHBAcFBwYHBwcGBwUHCAcJBwoHCQcIBwsHDAcLBwgHCwcMBw0HDgcPBxAHEQcQBw8HEAcRBxIHEwcSBxEHFAcVBxYHFQcUBxcHGAcXBxQHFwcYBxkHGgcbBxwHHQccBxsHHAcdBx4HHwceBx0HIAchByIHIQcgByMHJAcjByAHIwckByUHJgcnBygHKQcoBycHKAcpByoHKwcqBykHLActBy4HLQcsBy8HMAcvBywHLwcwBzEHMgczBzQHNQc0BzMHNAc1BzYHNwc2BzUHOAc5BzoHOQc4BzsHPAc7BzgHOwc8Bz0HPgc/B0AHQQdABz8HQAdBB0IHQwdCB0EHRAdFB0YHRQdEB0cHSAdHB0QHRwdIB0kHSgdLB0wHTQdMB0sHTAdNB04HTwdOB00HUAdRB1IHUQdQB1MHVAdTB1AHUwdUB1UHVgdXB1gHWQdYB1cHWAdZB1oHWwdaB1kHXAddB14HXQdcB18HYAdfB1wHXwdgB2EHYgdjB2QHZQdkB2MHZAdlB2YHZwdmB2UHaAdpB2oHaQdoB2sHbAdrB2gHawdsB20HbgdvB3AHcQdwB28HcAdxB3IHcwdyB3EHdAd1B3YHdQd0B3cHeAd3B3QHdwd4B3kHegd7B3wHfQd8B3sHfAd9B34Hfwd+B30HgAeBB4IHgQeAB4MHhAeDB4AHgweEB4UHhgeHB4gHiQeIB4cHiAeJB4oHiweKB4kHjAeNB44HjQeMB48HkAePB4wHjweQB5EHkgeTB5QHlQeUB5MHlAeVB5YHlweWB5UHmAeZB5oHmQeYB5sHnAebB5gHmwecB50HngefB6AHoQegB58HoAehB6IHoweiB6EHpAelB6YHpQekB6cHqAenB6QHpweoB6kHqgerB6wHrQesB6sHrAetB64HrweuB60HsAexB7IHsQewB7MHtAezB7AHswe0B7UHtge3B7gHuQe4B7cHuAe5B7oHuwe6B7kHvAe9B74HvQe8B78HwAe/B7wHvwfAB8EHwgfDB8QHxQfEB8MHxAfFB8YHxwfGB8UHyAfJB8oHyQfIB8sHzAfLB8gHywfMB80HzgfPB9AH0QfQB88H0AfRB9IH0wfSB9EH1AfVB9YH1QfUB9cH2AfXB9QH1wfYB9kH2gfbB9wH3QfcB9sH3AfdB94H3wfeB90H4AfhB+IH4QfgB+MH5AfjB+AH4wfkB+UH5gfnB+gH6QfoB+cH6AfpB+oH6wfqB+kH7AftB+4H7QfsB+8H8AfvB+wH7wfwB/EH8gfzB/QH9Qf0B/MH9Af1B/YH9wf2B/UH+Af5B/oH+Qf4B/sH/Af7B/gH+wf8B/0H/gf/BwAIAQgACP8HAAgBCAIIAwgCCAEIBAgFCAYIBQgECAcICAgHCAQIBwgICAkICggLCAwIDQgMCAsIDAgNCA4IDwgOCA0IEAgRCBIIEQgQCBMIFAgTCBAIEwgUCBUIFggXCBgIGQgYCBcIGAgZCBoIGwgaCBkIHAgdCB4IHQgcCB8IIAgfCBwIHwggCCEIIggjCCQIJQgkCCMIJAglCCYIJwgmCCUIKAgpCCoIKQgoCCsILAgrCCgIKwgsCC0ILggvCDAIMQgwCC8IMAgxCDIIMwgyCDEINAg1CDYINQg0CDcIOAg3CDQINwg4CDkIOgg7CDwIPQg8CDsIPAg9CD4IPwg+CD0IQAhBCEIIQQhACEMIRAhDCEAIQwhECEUIRghHCEgISQhICEcISAhJCEoISwhKCEkITAhNCE4ITQhMCE8IUAhPCEwITwhQCFEIUghTCFQIVQhUCFMIVAhVCFYIVwhWCFUIWAhZCFoIWQhYCFsIXAhbCFgIWwhcCF0IXghfCGAIYQhgCF8IYAhhCGIIYwhiCGEIZAhlCGYIZQhkCGcIaAhnCGQIZwhoCGkIaghrCGwIbQhsCGsIbAhtCG4IbwhuCG0IcAhxCHIIcQhwCHMIdAhzCHAIcwh0CHUIdgh3CHgIeQh4CHcIeAh5CHoIewh6CHkIfAh9CH4IfQh8CH8IgAh/CHwIfwiACIEIggiDCIQIhQiECIMIhAiFCIYIhwiGCIUIiAiJCIoIiQiICIsIjAiLCIgIiwiMCI0IjgiPCJAIkQiQCI8IkAiRCJIIkwiSCJEIlAiVCJYIlQiUCJcImAiXCJQIlwiYCJkImgibCJwInQicCJsInAidCJ4InwieCJ0IoAihCKIIoQigCKMIpAijCKAIowikCKUIpginCKgIqQioCKcIqAipCKoIqwiqCKkIrAitCK4IrQisCK8IsAivCKwIrwiwCLEIsgizCLQItQi0CLMItAi1CLYItwi2CLUIuAi5CLoIuQi4CLsIvAi7CLgIuwi8CL0Ivgi/CMAIwQjACL8IwAjBCMIIwwjCCMEIxAjFCMYIxQjECMcIyAjHCMQIxwjICMkIygjLCMwIzQjMCMsIzAjNCM4IzwjOCM0I0AjRCNII0QjQCNMI1AjTCNAI0wjUCNUI1gjXCNgI2QjYCNcI2AjZCNoI2wjaCNkI3AjdCN4I3QjcCN8I4AjfCNwI3wjgCOEI4gjjCOQI5QjkCOMI5AjlCOYI5wjmCOUI6AjpCOoI6QjoCOsI7AjrCOgI6wjsCO0I7gjvCPAI8QjwCO8I8AjxCPII8wjyCPEI9Aj1CPYI9Qj0CPcI+Aj3CPQI9wj4CPkI+gj7CPwI/Qj8CPsI/Aj9CP4I/wj+CP0IAAkBCQIJAQkACQMJBAkDCQAJAwkECQUJBgkHCQgJCQkICQcJCAkJCQoJCwkKCQkJDAkNCQ4JDQkMCQ8JEAkPCQwJDwkQCREJEgkTCRQJFQkUCRMJFAkVCRYJFwkWCRUJGAkZCRoJGQkYCRsJHAkbCRgJGwkcCR0JHgkfCSAJIQkgCR8JIAkhCSIJIwkiCSEJJAklCSYJJQkkCScJKAknCSQJJwkoCSkJKgkrCSwJLQksCSsJLAktCS4JLwkuCS0JMAkxCTIJMQkwCTMJNAkzCTAJMwk0CTUJNgk3CTgJOQk4CTcJOAk5CToJOwk6CTkJPAk9CT4JPQk8CT8JQAk/CTwJPwlACUEJQglDCUQJRQlECUMJRAlFCUYJRwlGCUUJSAlJCUoJSQlICUsJTAlLCUgJSwlMCU0JTglPCVAJUQlQCU8JUAlRCVIJUwlSCVEJVAlVCVYJVQlUCVcJWAlXCVQJVwlYCVkJWglbCVwJXQlcCVsJXAldCV4JXwleCV0JYAlhCWIJYQlgCWMJZAljCWAJYwlkCWUJZglnCWgJaQloCWcJaAlpCWoJawlqCWkJbAltCW4JbQlsCW8JcAlvCWwJbwlwCXEJcglzCXQJdQl0CXMJdAl1CXYJdwl2CXUJeAl5CXoJeQl4CXsJfAl7CXgJewl8CX0Jfgl/CYAJgQmACX8JgAmBCYIJgwmCCYEJhAmFCYYJhQmECYcJiAmHCYQJhwmICYkJigmLCYwJjQmMCYsJjAmNCY4JjwmOCY0JkAmRCZIJkQmQCZMJlAmTCZAJkwmUCZUJlgmXCZgJmQmYCZcJmAmZCZoJmwmaCZkJnAmdCZ4JnQmcCZ8JoAmfCZwJnwmgCaEJogmjCaQJpQmkCaMJpAmlCaYJpwmmCaUJqAmpCaoJqQmoCasJrAmrCagJqwmsCa0JrgmvCbAJsQmwCa8JsAmxCbIJswmyCbEJtAm1CbYJtQm0CbcJuAm3CbQJtwm4CbkJugm7CbwJvQm8CbsJvAm9Cb4Jvwm+Cb0JwAnBCcIJwQnACcMJxAnDCcAJwwnECcUJxgnHCcgJyQnICccJyAnJCcoJywnKCckJzAnNCc4JzQnMCc8J0AnPCcwJzwnQCdEJ0gnTCdQJ1QnUCdMJ1AnVCdYJ1wnWCdUJ2AnZCdoJ2QnYCdsJ3AnbCdgJ2wncCd0J3gnfCeAJ4QngCd8J4AnhCeIJ4wniCeEJ5AnlCeYJ5QnkCecJ6AnnCeQJ5wnoCekJ6gnrCewJ7QnsCesJ7AntCe4J7wnuCe0J8AnxCfIJ8QnwCfMJ9AnzCfAJ8wn0CfUJ9gn3CfgJ+Qn4CfcJ+An5CfoJ+wn6CfkJ/An9Cf4J/Qn8Cf8JAAr/CfwJ/wkACgEKAgoDCgQKBQoECgMKBAoFCgYKBwoGCgUKCAoJCgoKCQoICgsKDAoLCggKCwoMCg0KDgoPChAKEQoQCg8KEAoRChIKEwoSChEKFAoVChYKFQoUChcKGAoXChQKFwoYChkKGgobChwKHQocChsKHAodCh4KHwoeCh0KIAohCiIKIQogCiMKJAojCiAKIwokCiUKJgonCigKKQooCicKKAopCioKKwoqCikKLAotCi4KLQosCi8KMAovCiwKLwowCjEKMgozCjQKNQo0CjMKNAo1CjYKNwo2CjUKOAo5CjoKOQo4CjsKPAo7CjgKOwo8Cj0KPgo/CkAKQQpACj8KQApBCkIKQwpCCkEKRApFCkYKRQpECkcKSApHCkQKRwpICkkKSgpLCkwKTQpMCksKTApNCk4KTwpOCk0KUApRClIKUQpQClMKVApTClAKUwpUClUKVgpXClgKWQpYClcKWApZCloKWwpaClkKXApdCl4KXQpcCl8KYApfClwKXwpgCmEKYgpjCmQKZQpkCmMKZAplCmYKZwpmCmUKaAppCmoKaQpoCmsKbAprCmgKawpsCm0KbgpvCnAKcQpwCm8KcApxCnIKcwpyCnEKdAp1CnYKdQp0CncKeAp3CnQKdwp4CnkKegp7CnwKfQp8CnsKfAp9Cn4Kfwp+Cn0KgAqBCoIKgQqACoMKhAqDCoAKgwqECoUKhgqHCogKiQqICocKiAqJCooKiwqKCokKjAqNCo4KjQqMCo8KkAqPCowKjwqQCpEKkgqTCpQKlQqUCpMKlAqVCpYKlwqWCpUKmAqZCpoKmQqYCpsKnAqbCpgKmwqcCp0KngqfCqAKoQqgCp8KoAqhCqIKowqiCqEKpAqlCqYKpQqkCqcKqAqnCqQKpwqoCqkKqgqrCqwKrQqsCqsKrAqtCq4KrwquCq0KsAqxCrIKsQqwCrMKtAqzCrAKswq0CrUKtgq3CrgKuQq4CrcKuAq5CroKuwq6CrkKvAq9Cr4KvQq8Cr8KwAq/CrwKvwrACsEKwgrDCsQKxQrECsMKxArFCsYKxwrGCsUKyArJCsoKyQrICssKzArLCsgKywrMCs0KzgrPCtAK0QrQCs8K0ArRCtIK0wrSCtEK1ArVCtYK1QrUCtcK2ArXCtQK1wrYCtkK2grbCtwK3QrcCtsK3ArdCt4K3wreCt0K4ArhCuIK4QrgCuMK5ArjCuAK4wrkCuUK5grnCugK6QroCucK6ArpCuoK6wrqCukK7ArtCu4K7QrsCu8K8ArvCuwK7wrwCvEK8grzCvQK9Qr0CvMK9Ar1CvYK9wr2CvUK+Ar5CvoK+Qr4CvsK/Ar7CvgK+wr8Cv0K/gr/CgALAQsAC/8KAAsBCwILAwsCCwELBAsFCwYLBQsECwcLCAsHCwQLBwsICwkLCgsLCwwLDQsMCwsLDAsNCw4LDwsOCw0LEAsRCxILEQsQCxMLFAsTCxALEwsUCxULFgsXCxgLGQsYCxcLGAsZCxoLGwsaCxkLHAsdCx4LHQscCx8LIAsfCxwLHwsgCyELIgsjCyQLJQskCyMLJAslCyYLJwsmCyULKAspCyoLKQsoCysLLAsrCygLKwssCy0LLgsvCzALMQswCy8LMAsxCzILMwsyCzELNAs1CzYLNQs0CzcLOAs3CzQLNws4CzkLOgs7CzwLPQs8CzsLPAs9Cz4LPws+Cz0LQAtBC0ILQQtAC0MLRAtDC0ALQwtEC0ULRgtHC0gLSQtIC0cLSAtJC0oLSwtKC0kLTAtNC04LTQtMC08LUAtPC0wLTwtQC1ELUgtTC1QLVQtUC1MLVAtVC1YLVwtWC1ULWAtZC1oLWQtYC1sLXAtbC1gLWwtcC10LXgtfC2ALYQtgC18LYAthC2ILYwtiC2ELZAtlC2YLZQtkC2cLaAtnC2QLZwtoC2kLagtrC2wLbQtsC2sLbAttC24LbwtuC20LcAtxC3ILcQtwC3MLdAtzC3ALcwt0C3ULdgt3C3gLeQt4C3cLeAt5C3oLewt6C3kLfAt9C34LfQt8C38LgAt/C3wLfwuAC4ELgguDC4QLhQuEC4MLhAuFC4YLhwuGC4ULiAuJC4oLiQuIC4sLjAuLC4gLiwuMC40LjguPC5ALkQuQC48LkAuRC5ILkwuSC5ELlAuVC5YLlQuUC5cLmAuXC5QLlwuYC5kLmgubC5wLnQucC5sLnAudC54LnwueC50LoAuhC6ILoQugC6MLpAujC6ALowukC6ULpgunC6gLqQuoC6cLqAupC6oLqwuqC6kLrAutC64LrQusC68LsAuvC6wLrwuwC7ELsguzC7QLtQu0C7MLtAu1C7YLtwu2C7ULuAu5C7oLuQu4C7sLvAu7C7gLuwu8C70Lvgu/C8ALwQvAC78LwAvBC8ILwwvCC8ELxAvFC8YLxQvEC8cLyAvHC8QLxwvIC8kLygvLC8wLzQvMC8sLzAvNC84LzwvOC80L0AvRC9IL0QvQC9ML1AvTC9AL0wvUC9UL1gvXC9gL2QvYC9cL2AvZC9oL2wvaC9kL3AvdC94L3QvcC98L4AvfC9wL3wvgC+EL4gvjC+QL5QvkC+ML5AvlC+YL5wvmC+UL6AvpC+oL6QvoC+sL7AvrC+gL6wvsC+0L7gvvC/AL8QvwC+8L8AvxC/IL8wvyC/EL9Av1C/YL9Qv0C/cL+Av3C/QL9wv4C/kL+gv7C/wL/Qv8C/sL/Av9C/4L/wv+C/0LAAwBDAIMAQwADAMMBAwDDAAMAwwEDAUMBgwHDAgMCQwIDAcMCAwJDAoMCwwKDAkMDAwNDA4MDQwMDA8MEAwPDAwMDwwQDBEMEgwTDBQMFQwUDBMMFAwVDBYMFwwWDBUMGAwZDBoMGQwYDBsMHAwbDBgMGwwcDB0MHgwfDCAMIQwgDB8MIAwhDCIMIwwiDCEMJAwlDCYMJQwkDCcMKAwnDCQMJwwoDCkMKgwrDCwMLQwsDCsMLAwtDC4MLwwuDC0MMAwxDDIMMQwwDDMMNAwzDDAMMww0DDUMNgw3DDgMOQw4DDcMOAw5DDoMOww6DDkMPAw9DD4MPQw8DD8MQAw/DDwMPwxADEEMQgxDDEQMRQxEDEMMRAxFDEYMRwxGDEUMSAxJDEoMSQxIDEsMTAxLDEgMSwxMDE0MTgxPDFAMUQxQDE8MUAxRDFIMUwxSDFEMVAxVDFYMVQxUDFcMWAxXDFQMVwxYDFkMWgxbDFwMXQxcDFsMXAxdDF4MXwxeDF0MYAxhDGIMYQxgDGMMZAxjDGAMYwxkDGUMZgxnDGgMaQxoDGcMaAxpDGoMawxqDGkMbAxtDG4MbQxsDG8McAxvDGwMbwxwDHEMcgxzDHQMdQx0DHMMdAx1DHYMdwx2DHUMeAx5DHoMeQx4DHsMfAx7DHgMewx8DH0Mfgx/DIAMgQyADH8MgAyBDIIMgwyCDIEMhAyFDIYMhQyEDIcMiAyHDIQMhwyIDIkMigyLDIwMjQyMDIsMjAyNDI4MjwyODI0MkAyRDJIMkQyQDJMMlAyTDJAMkwyUDJUMlgyXDJgMmQyYDJcMmAyZDJoMmwyaDJkMnAydDJ4MnQycDJ8MoAyfDJwMnwygDKEMogyjDKQMpQykDKMMpAylDKYMpwymDKUMqAypDKoMqQyoDKsMrAyrDKgMqwysDK0MrgyvDLAMsQywDK8MsAyxDLIMswyyDLEMtAy1DLYMtQy0DLcMuAy3DLQMtwy4DLkMugy7DLwMvQy8DLsMvAy9DL4Mvwy+DL0MwAzBDMIMwQzADMMMxAzDDMAMwwzEDMUMxgzHDMgMyQzIDMcMyAzJDMoMywzKDMkMzAzNDM4MzQzMDM8M0AzPDMwMzwzQDNEM0gzTDNQM1QzUDNMM1AzVDNYM1wzWDNUM2AzZDNoM2QzYDNsM3AzbDNgM2wzcDN0M3gzfDOAM4QzgDN8M4AzhDOIM4wziDOEM5AzlDOYM5QzkDOcM6AznDOQM5wzoDOkM6gzrDOwM7QzsDOsM7AztDO4M7wzuDO0M8AzxDPIM8QzwDPMM9AzzDPAM8wz0DPUM9gz3DPgM+Qz4DPcM+Az5DPoM+wz6DPkM/Az9DP4M/Qz8DP8MAA3/DPwM/wwADQENAg0DDQQNBQ0EDQMNBA0FDQYNBw0GDQUNCA0JDQoNCQ0IDQsNDA0LDQgNCw0MDQ0NDg0PDRANEQ0QDQ8NEA0RDRINEw0SDRENFA0VDRYNFQ0UDRcNGA0XDRQNFw0YDRkNGg0bDRwNHQ0cDRsNHA0dDR4NHw0eDR0NIA0hDSINIQ0gDSMNJA0jDSANIw0kDSUNJg0nDSgNKQ0oDScNKA0pDSoNKw0qDSkNLA0tDS4NLQ0sDS8NMA0vDSwNLw0wDTENMg0zDTQNNQ00DTMNNA01DTYNNw02DTUNOA05DToNOQ04DTsNPA07DTgNOw08DT0NPg0/DUANQQ1ADT8NQA1BDUINQw1CDUENRA1FDUYNRQ1EDUcNSA1HDUQNRw1IDUkNSg1LDUwNTQ1MDUsNTA1NDU4NTw1ODU0NUA1RDVINUQ1QDVMNVA1TDVANUw1UDVUNVg1XDVgNWQ1YDVcNWA1ZDVoNWw1aDVkNXA1dDV4NXQ1cDV8NYA1fDVwNXw1gDWENYg1jDWQNZQ1kDWMNZA1lDWYNZw1mDWUNaA1pDWoNaQ1oDWsNbA1rDWgNaw1sDW0Nbg1vDXANcQ1wDW8NcA1xDXINcw1yDXENdA11DXYNdQ10DXcNeA13DXQNdw14DXkNeg17DXwNfQ18DXsNfA19DX4Nfw1+DX0NgA2BDYINgQ2ADYMNhA2DDYANgw2EDYUNhg2HDYgNiQ2IDYcNiA2JDYoNiw2KDYkNjA2NDY4NjQ2MDY8NkA2PDYwNjw2QDZENkg2TDZQNlQ2UDZMNlA2VDZYNlw2WDZUNmA2ZDZoNmQ2YDZsNnA2bDZgNmw2cDZ0Nng2fDaANoQ2gDZ8NoA2hDaINow2iDaENpA2lDaYNpQ2kDacNqA2nDaQNpw2oDakNqg2rDawNrQ2sDasNrA2tDa4Nrw2uDa0NsA2xDbINsQ2wDbMNtA2zDbANsw20DbUNtg23DbgNuQ24DbcNuA25DboNuw26DbkNvA29Db4NvQ28Db8NwA2/DbwNvw3ADcENwg3DDcQNxQ3EDcMNxA3FDcYNxw3GDcUNyA3JDcoNyQ3IDcsNzA3LDcgNyw3MDc0Nzg3PDdAN0Q3QDc8N0A3RDdIN0w3SDdEN1A3VDdYN1Q3UDdcN2A3XDdQN1w3YDdkN2g3bDdwN3Q3cDdsN3A3dDd4N3w3eDd0N4A3hDeIN4Q3gDeMN5A3jDeAN4w3kDeUN5g3nDegN6Q3oDecN6A3pDeoN6w3qDekN7A3tDe4N7Q3sDe8N8A3vDewN7w3wDfEN8g3zDfQN9Q30DfMN9A31DfYN9w32DfUN+A35DfoN+Q34DfsN/A37DfgN+w38Df0N/g3/DQAOAQ4ADv8NAA4BDgIOAw4CDgEOBA4FDgYOBQ4EDgcOCA4HDgQOBw4IDgkOCg4LDgwODQ4MDgsODA4NDg4ODw4ODg0OEA4RDhIOEQ4QDhMOFA4TDhAOEw4UDhUOFg4XDhgOGQ4YDhcOGA4ZDhoOGw4aDhkOHA4dDh4OHQ4cDh8OIA4fDhwOHw4gDiEOIg4jDiQOJQ4kDiMOJA4lDiYOJw4mDiUOKA4pDioOKQ4oDisOLA4rDigOKw4sDi0OLg4vDjAOMQ4wDi8OMA4xDjIOMw4yDjEONA41DjYONQ40DjcOOA43DjQONw44DjkOOg47DjwOPQ48DjsOPA49Dj4OPw4+Dj0OQA5BDkIOQQ5ADkMORA5DDkAOQw5EDkUORg5HDkgOSQ5IDkcOSA5JDkoOSw5KDkkOTA5NDk4OTQ5MDk8OUA5PDkwOTw5QDlEOUg5TDlQOVQ5UDlMOVA5VDlYOVw5WDlUOWA5ZDloOWQ5YDlsOXA5bDlgOWw5cDl0OXg5fDmAOYQ5gDl8OYA5hDmIOYw5iDmEOZA5lDmYOZQ5kDmcOaA5nDmQOZw5oDmkOag5rDmwObQ5sDmsObA5tDm4Obw5uDm0OcA5xDnIOcQ5wDnMOdA5zDnAOcw50DnUOdg53DngOeQ54DncOeA55DnoOew56DnkOfA59Dn4OfQ58Dn8OgA5/DnwOfw6ADoEOgg6DDoQOhQ6EDoMOhA6FDoYOhw6GDoUOiA6JDooOiQ6IDosOjA6LDogOiw6MDo0Ojg6PDpAOkQ6QDo8OkA6RDpIOkw6SDpEOlA6VDpYOlQ6UDpcOmA6XDpQOlw6YDpkOmg6bDpwOnQ6cDpsOnA6dDp4Onw6eDp0OoA6hDqIOoQ6gDqMOpA6jDqAOow6kDqUOpg6nDqgOqQ6oDqcOqA6pDqoOqw6qDqkOrA6tDq4OrQ6sDq8OsA6vDqwOrw6wDrEOsg6zDrQOtQ60DrMOtA61DrYOtw62DrUOuA65DroOuQ64DrsOvA67DrgOuw68Dr0Ovg6/DsAOwQ7ADr8OwA7BDsIOww7CDsEOxA7FDsYOxQ7EDscOyA7HDsQOxw7IDskOyg7LDswOzQ7MDssOzA7NDs4Ozw7ODs0O0A7RDtIO0Q7QDtMO1A7TDtAO0w7UDtUO1g7XDtgO2Q7YDtcO2A7ZDtoO2w7aDtkO3A7dDt4O3Q7cDt8O4A7fDtwO3w7gDuEO4g7jDuQO5Q7kDuMO5A7lDuYO5w7mDuUO6A7pDuoO6Q7oDusO7A7rDugO6w7sDu0O7g7vDvAO8Q7wDu8O8A7xDvIO8w7yDvEO9A71DvYO9Q70DvcO+A73DvQO9w74DvkO+g77DvwO/Q78DvsO/A79Dv4O/w7+Dv0OAA8BDwIPAQ8ADwMPBA8DDwAPAw8EDwUPBg8HDwgPCQ8IDwcPCA8JDwoPCw8KDwkPDA8NDw4PDQ8MDw8PEA8PDwwPDw8QDxEPEg8TDxQPFQ8UDxMPFA8VDxYPFw8WDxUPGA8ZDxoPGQ8YDxsPHA8bDxgPGw8cDx0PHg8fDyAPIQ8gDx8PIA8hDyIPIw8iDyEPJA8lDyYPJQ8kDycPKA8nDyQPJw8oDykPKg8rDywPLQ8sDysPLA8tDy4PLw8uDy0PMA8xDzIPMQ8wDzMPNA8zDzAPMw80DzUPNg83DzgPOQ84DzcPOA85DzoPOw86DzkPPA89Dz4PPQ88Dz8PQA8/DzwPPw9AD0EPQg9DD0QPRQ9ED0MPRA9FD0YPRw9GD0UPSA9JD0oPSQ9ID0sPTA9LD0gPSw9MD00PTg9PD1APUQ9QD08PUA9RD1IPUw9SD1EPVA9VD1YPVQ9UD1cPWA9XD1QPVw9YD1kPWg9bD1wPXQ9cD1sPXA9dD14PXw9eD10PYA9hD2IPYQ9gD2MPZA9jD2APYw9kD2UPZg9nD2gPaQ9oD2cPaA9pD2oPaw9qD2kPbA9tD24PbQ9sD28PcA9vD2wPbw9wD3EPcg9zD3QPdQ90D3MPdA91D3YPdw92D3UPeA95D3oPeQ94D3sPfA97D3gPew98D30Pfg9/D4APgQ+AD38PgA+BD4IPgw+CD4EPhA+FD4YPhQ+ED4cPiA+HD4QPhw+ID4kPig+LD4wPjQ+MD4sPjA+ND44Pjw+OD40PkA+RD5IPkQ+QD5MPlA+TD5APkw+UD5UPlg+XD5gPmQ+YD5cPmA+ZD5oPmw+aD5kPnA+dD54PnQ+cD58PoA+fD5wPnw+gD6EPog+jD6QPpQ+kD6MPpA+lD6YPpw+mD6UPqA+pD6oPqQ+oD6sPrA+rD6gPqw+sD60Prg+vD7APsQ+wD68PsA+xD7IPsw+yD7EPtA+1D7YPtQ+0D7cPuA+3D7QPtw+4D7kPug+7D7wPvQ+8D7sPvA+9D74Pvw++D70PwA/BD8IPwQ/AD8MPxA/DD8APww/ED8UPxg/HD8gPyQ/ID8cPyA/JD8oPyw/KD8kPzA/ND84PzQ/MD88P0A/PD8wPzw/QD9EP0g/TD9QP1Q/UD9MP1A/VD9YP1w/WD9UP2A/ZD9oP2Q/YD9sP3A/bD9gP2w/cD90P3g/fD+AP4Q/gD98P4A/hD+IP4w/iD+EP5A/lD+YP5Q/kD+cP6A/nD+QP5w/oD+kP6g/rD+wP7Q/sD+sP7A/tD+4P7w/uD+0P8A/xD/IP8Q/wD/MP9A/zD/AP8w/0D/UP9g/3D/gP+Q/4D/cP+A/5D/oP+w/6D/kP/A/9D/4P/Q/8D/8PABD/D/wP/w8AEAEQAhADEAQQBRAEEAMQBBAFEAYQBxAGEAUQCBAJEAoQCRAIEAsQDBALEAgQCxAMEA0QDhAPEBAQERAQEA8QEBAREBIQExASEBEQFBAVEBYQFRAUEBcQGBAXEBQQFxAYEBkQGhAbEBwQHRAcEBsQHBAdEB4QHxAeEB0QIBAhECIQIRAgECMQJBAjECAQIxAkECUQJhAnECgQKRAoECcQKBApECoQKxAqECkQLBAtEC4QLRAsEC8QMBAvECwQLxAwEDEQMhAzEDQQNRA0EDMQNBA1EDYQNxA2EDUQOBA5EDoQORA4EDsQPBA7EDgQOxA8ED0QPhA/EEAQQRBAED8QQBBBEEIQQxBCEEEQRBBFEEYQRRBEEEcQSBBHEEQQRxBIEEkQShBLEEwQTRBMEEsQTBBNEE4QTxBOEE0QUBBREFIQURBQEFMQVBBTEFAQUxBUEFUQVhBXEFgQWRBYEFcQWBBZEFoQWxBaEFkQXBBdEF4QXRBcEF8QYBBfEFwQXxBgEGEQYhBjEGQQZRBkEGMQZBBlEGYQZxBmEGUQaBBpEGoQaRBoEGsQbBBrEGgQaxBsEG0QbhBvEHAQcRBwEG8QcBBxEHIQcxByEHEQdBB1EHYQdRB0EHcQeBB3EHQQdxB4EHkQehB7EHwQfRB8EHsQfBB9EH4QfxB+EH0QgBCBEIIQgRCAEIMQhBCDEIAQgxCEEIUQhhCHEIgQiRCIEIcQiBCJEIoQixCKEIkQjBCNEI4QjRCMEI8QkBCPEIwQjxCQEJEQkhCTEJQQlRCUEJMQlBCVEJYQlxCWEJUQmBCZEJoQmRCYEJsQnBCbEJgQmxCcEJ0QnhCfEKAQoRCgEJ8QoBChEKIQoxCiEKEQpBClEKYQpRCkEKcQqBCnEKQQpxCoEKkQqhCrEKwQrRCsEKsQrBCtEK4QrxCuEK0QsBCxELIQsRCwELMQtBCzELAQsxC0ELUQthC3ELgQuRC4ELcQuBC5ELoQuxC6ELkQvBC9EL4QvRC8EL8QwBC/ELwQvxDAEMEQwhDDEMQQxRDEEMMQxBDFEMYQxxDGEMUQyBDJEMoQyRDIEMsQzBDLEMgQyxDMEM0QzhDPENAQ0RDQEM8Q0BDRENIQ0xDSENEQ1BDVENYQ1RDUENcQ2BDXENQQ1xDYENkQ2hDbENwQ3RDcENsQ3BDdEN4Q3xDeEN0Q4BDhEOIQ4RDgEOMQ5BDjEOAQ4xDkEOUQ5hDnEOgQ6RDoEOcQ6BDpEOoQ6xDqEOkQ7BDtEO4Q7RDsEO8Q8BDvEOwQ7xDwEPEQ8hDzEPQQ9RD0EPMQ9BD1EPYQ9xD2EPUQ+BD5EPoQ+RD4EPsQ/BD7EPgQ+xD8EP0Q/hD/EAARAREAEf8QABEBEQIRAxECEQERBBEFEQYRBREEEQcRCBEHEQQRBxEIEQkRChELEQwRDREMEQsRDBENEQ4RDxEOEQ0REBERERIREREQERMRFBETERARExEUERURFhEXERgRGREYERcRGBEZERoRGxEaERkRHBEdER4RHREcER8RIBEfERwRHxEgESERIhEjESQRJREkESMRJBElESYRJxEmESURKBEpESoRKREoESsRLBErESgRKxEsES0RLhEvETARMREwES8RMBExETIRMxEyETERNBE1ETYRNRE0ETcROBE3ETQRNxE4ETkROhE7ETwRPRE8ETsRPBE9ET4RPxE+ET0RQBFBEUIRQRFAEUMRRBFDEUARQxFEEUURRhFHEUgRSRFIEUcRSBFJEUoRSxFKEUkRTBFNEU4RTRFMEU8RUBFPEUwRTxFQEVERUhFTEVQRVRFUEVMRVBFVEVYRVxFWEVURWBFZEVoRWRFYEVsRXBFbEVgRWxFcEV0RXhFfEWARYRFgEV8RYBFhEWIRYxFiEWERZBFlEWYRZRFkEWcRaBFnEWQRZxFoEWkRahFrEWwRbRFsEWsRbBFtEW4RbxFuEW0RcBFxEXIRcRFwEXMRdBFzEXARcxF0EXURdhF3EXgReRF4EXcReBF5EXoRexF6EXkRfBF9EX4RfRF8EX8RgBF/EXwRfxGAEYERghGDEYQRhRGEEYMRhBGFEYYRhxGGEYURiBGJEYoRiRGIEYsRjBGLEYgRixGMEY0RjhGPEZARkRGQEY8RkBGREZIRkxGSEZERlBGVEZYRlRGUEZcRmBGXEZQRlxGYEZkRmhGbEZwRnRGcEZsRnBGdEZ4RnxGeEZ0RoBGhEaIRoRGgEaMRpBGjEaARoxGkEaURphGnEagRqRGoEacRqBGpEaoRqxGqEakRrBGtEa4RrRGsEa8RsBGvEawRrxGwEbERshGzEbQRtRG0EbMRtBG1EbYRtxG2EbURuBG5EboRuRG4EbsRvBG7EbgRuxG8Eb0RvhG/EcARwRHAEb8RwBHBEcIRwxHCEcERxBHFEcYRxRHEEccRyBHHEcQRxxHIEckRyhHLEcwRzRHMEcsRzBHNEc4RzxHOEc0R0BHREdIR0RHQEdMR1BHTEdAR0xHUEdUR1hHXEdgR2RHYEdcR2BHZEdoR2xHaEdkR3BHdEd4R3RHcEd8R4BHfEdwR3xHgEeER4hHjEeQR5RHkEeMR5BHlEeYR5xHmEeUR6BHpEeoR6RHoEesR7BHrEegR6xHsEe0R7hHvEfAR8RHwEe8R8BHxEfIR8xHyEfER9BH1EfYR9RH0EfcR+BH3EfQR9xH4EfkR+hH7EfwR/RH8EfsR/BH9Ef4R/xH+Ef0RABIBEgISARIAEgMSBBIDEgASAxIEEgUSBhIHEggSCRIIEgcSCBIJEgoSCxIKEgkSDBINEg4SDRIMEg8SEBIPEgwSDxIQEhESEhITEhQSFRIUEhMSFBIVEhYSFxIWEhUSGBIZEhoSGRIYEhsSHBIbEhgSGxIcEh0SHhIfEiASIRIgEh8SIBIhEiISIxIiEiESJBIlEiYSJRIkEicSKBInEiQSJxIoEikSKhIrEiwSLRIsEisSLBItEi4SLxIuEi0SMBIxEjISMRIwEjMSNBIzEjASMxI0EjUSNhI3EjgSORI4EjcSOBI5EjoSOxI6EjkSPBI9Ej4SPRI8Ej8SQBI/EjwSPxJAEkESQhJDEkQSRRJEEkMSRBJFEkYSRxJGEkUSSBJJEkoSSRJIEksSTBJLEkgSSxJMEk0SThJPElASURJQEk8SUBJRElISUxJSElESVBJVElYSVRJUElcSWBJXElQSVxJYElkSWhJbElwSXRJcElsSXBJdEl4SXxJeEl0SYBJhEmISYRJgEmMSZBJjEmASYxJkEmUSZhJnEmgSaRJoEmcSaBJpEmoSaxJqEmkSbBJtEm4SbRJsEm8ScBJvEmwSbxJwEnESchJzEnQSdRJ0EnMS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OBQ3FDQUNxQ4FDkUOhQ7FDwUPRQ8FDsUPBQ9FD4UPxQ+FD0UQBRBFEIUQRRAFEMURBRDFEAUQxREFEUURhRHFEgUSRRIFEcUSBRJFEoUSxRKFEkUTBRNFE4UTRRMFE8UUBRPFEwUTxRQFFEUUhRTFFQUVRRUFFMUVBRVFFYUVxRWFFUUWBRZFFoUWRRYFFsUXBRbFFgUWxRcFF0UXhRfFGAUYRRgFF8UYBRhFGIUYxRiFGEUZBRlFGYUZRRkFGcUaBRnFGQUZxRoFGkUahRrFGwUbRRsFGsUbBRtFG4UbxRuFG0UcBRxFHIUcRRwFHMUdBRzFHAUcxR0FHUUdhR3FHgUeRR4FHcUeBR5FHoUexR6FHkUfBR9FH4UfRR8FH8UgBR/FHwUfxSAFIEUghSDFIQUhRSEFIMUhBSFFIYUhxSGFIUUiBSJFIoUiRSIFIsUjBSLFIgUixSMFI0UjhSPFJAUkRSQFI8UkBSRFJIUkxSSFJEUlBSVFJYUlRSUFJcUmBSXFJQUlxSYFJkUmhSbFJwUnRScFJsUnBSdFJ4UnxSeFJ0UoBShFKIUoRSgFKMUpBSjFKAUoxSkFKUUphSnFKgUqRSoFKcUqBSpFKoUqxSqFKkUrBStFK4UrRSsFK8UsBSvFKwUrxSwFLEUshSzFLQUtRS0FLMUtBS1FLYUtxS2FLUUuBS5FLoUuRS4FLsUvBS7FLgUuxS8FL0UvhS/FMAUwRTAFL8UwBTBFMIUwxTCFMEUxBTFFMYUxRTEFMcUyBTHFMQUxxTIFMkUyhTLFMwUzRTMFMsUzBTNFM4UzxTOFM0U0BTRFNIU0RTQFNMU1BTTFNAU0xTUFNUU1hTXFNgU2RTYFNcU2BTZFNoU2xTaFNkU3BTdFN4U3RTcFN8U4BTfFNwU3xTgFOEU4hTjFOQU5RTkFOMU5BTlFOYU5xTmFOUU6BTpFOoU6RToFOsU7BTrFOgU6xTsFO0U7hTvFPAU8RTwFO8U8BTxFPIU8xTyFPEU9BT1FPYU9RT0FPcU+BT3FPQU9xT4FPkU+hT7FPwU/RT8FPsU/BT9FP4U/xT+FP0UABUBFQIVARUAFQMVBBUDFQAVAxUEFQUVBhUHFQgVCRUIFQcVCBUJFQoVCxUKFQkVDBUNFQ4VDRUMFQ8VEBUPFQwVDxUQFREVEhUTFRQVFRUUFRMVFBUVFRYVFxUWFRUVGBUZFRoVGRUYFRsVHBUbFRgVGxUcFR0VHhUfFSAVIRUgFR8VIBUhFSIVIxUiFSEVJBUlFSYVJRUkFScVKBUnFSQVJxUoFSkVKhUrFSwVLRUsFSsVLBUtFS4VLxUuFS0VMBUxFTIVMRUwFTMVNBUzFTAVMxU0FTUVNhU3FTgVORU4FTcVOBU5FToVOxU6FTkVPBU9FT4VPRU8FT8VQBU/FTwVPxVAFUEVQhVDFUQVRRVEFUMVRBVFFUYVRxVGFUUVSBVJFUoVSRVIFUsVTBVLFUgVSxVMFU0VThVPFVAVURVQFU8VUBVRFVIVUxVSFVEVVBVVFVYVVRVUFVcVWBVXFVQVVxVYFVkVWhVbFVwVXRVcFVsVXBVdFV4VXxVeFV0VYBVhFWIVYRVgFWMVZBVjFWAVYxVkFWUVZhVnFWgVaRVoFWcVaBVpFWoVaxVqFWkVbBVtFW4VbRVsFW8VcBVvFWwVbxVwFXEVchVzFXQVdRV0FXMVdBV1FXYVdxV2FXUVeBV5FXoVeRV4FXsVfBV7FXgVexV8FX0VfhV/FYAVgRWAFX8VgBWBFYIVgxWCFYEVhBWFFYYVhRWEFYcViBWHFYQVhxWIFYkVihWLFYwVjRWMFYsVjBWNFY4VjxWOFY0VkBWRFZIVkRWQFZMVlBWTFZAVkxWUFZUVlhWXFZgVmRWYFZcVmBWZFZoVmxWaFZkVnBWdFZ4VnRWcFZ8VoBWfFZwVnxWgFaEVohWjFaQVpRWkFaMVpBWlFaYVpxWmFaUVqBWpFaoVqRWoFasVrBWrFagVqxWsFa0VrhWvFbAVsRWwFa8VsBWxFbIVsxWyFbEVtBW1FbYVtRW0FbcVuBW3FbQVtxW4FbkVuhW7FbwVvRW8FbsVvBW9Fb4VvxW+Fb0VwBXBFcIVwRXAFcMVxBXDFcAVwxXEFcUVxhXHFcgVyRXIFccVyBXJFcoVyxXKFckVzBXNFc4VzRXMFc8V0BXPFcwVzxXQFdEV0hXTFdQV1RXUFdMV1BXVFdYV1xXWFdUV2BXZFdoV2RXYFdsV3BXbFdgV2xXcFd0V3hXfFeAV4RXgFd8V4BXhFeIV4xXiFeEV5BXlFeYV5RXkFecV6BXnFeQV5xXoFekV6hXrFewV7RXsFesV7BXtFe4V7xXuFe0V8BXxFfIV8RXwFfMV9BXzFfAV8xX0FfUV9hX3FfgV+RX4FfcV+BX5FfoV+xX6FfkV/BX9Ff4V/RX8Ff8VABb/FfwV/xUAFgEWAhYDFgQWBRYEFgMWBBYFFgYWBxYGFgUWCBYJFgoWCRYIFgsWDBYLFggWCxYMFg0WDhYPFhAWERYQFg8WEBYRFhIWExYSFhEWFBYVFhYWFRYUFhcWGBYXFhQWFxYYFhkWGhYbFhwWHRYcFhsWHBYdFh4WHxYeFh0WIBYhFiIWIRYgFiMWJBYjFiAWIxYkFiUWJhYnFigWKRYoFicWKBYpFioWKxYqFikWLBYtFi4WLRYsFi8WMBYvFiwWLxYwFjEWMhYzFjQWNRY0FjMWNBY1FjYWNxY2FjUWOBY5FjoWORY4FjsWPBY7FjgWOxY8Fj0WPhY/FkAWQRZAFj8WQBZBFkIWQxZCFkEWRBZFFkYWRRZEFkcWSBZHFkQWRxZIFkkWShZLFkwWTRZMFksWTBZNFk4WTxZOFk0WUBZRFlIWURZQFlMWVBZTFlAWUxZUFlUWVhZXFlgWWRZYFlcWWBZZFloWWxZaFlkWXBZdFl4WXRZcFl8WYBZfFlwWXxZgFmEWYhZjFmQWZRZkFmMWZBZlFmYWZxZmFmUWaBZpFmoWaRZoFmsWbBZrFmgWaxZsFm0WbhZvFnAWcRZwFm8WcBZxFnIWcxZyFnEWdBZ1FnYWdRZ0FncWeBZ3FnQWdxZ4FnkWehZ7FnwWfRZ8FnsWfBZ9Fn4WfxZ+Fn0WgBaBFoIWgRaAFoMWhBaDFoAWgxaEFoUWhhaHFogWiRaIFocWiBaJFooWixaKFokWjBaNFo4WjRaMFo8WkBaPFowWjxaQFpEWkhaTFpQWlRaUFpMWlBaVFpYWlxaWFpUWmBaZFpoWmRaYFpsWnBabFpgWmxacFp0WnhafFqAWoRagFp8WoBahFqIWoxaiFqEWpBalFqYWpRakFqcWqBanFqQWpxaoFqkWqharFqwWrRasFqsWrBatFq4WrxauFq0WsBaxFrIWsRawFrMWtBazFrAWsxa0FrUWtha3FrgWuRa4FrcWuBa5FroWuxa6FrkWvBa9Fr4WvRa8Fr8WwBa/FrwWvxbAFsEWwhbDFsQWxRbEFsMWxBbFFsYWxxbGFsUWyBbJFsoWyRbIFssWzBbLFsgWyxbMFs0WzhbPFtAW0RbQFs8W0BbRFtIW0xbSFtEW1BbVFtYW1RbUFtcW2BbXFtQW1xbYFtkW2hbbFtwW3RbcFtsW3BbdFt4W3xbeFt0W4BbhFuIW4RbgFuMW5BbjFuAW4xbkFuUW5hbnFugW6RboFucW6BbpFuoW6xbqFukW7BbtFu4W7RbsFu8W8BbvFuwW7xbwFvEW8hbzFvQW9Rb0FvMW9Bb1FvYW9xb2FvUW+Bb5FvoW+Rb4FvsW/Bb7FvgW+xb8Fv0W/hb/FgAXARcAF/8WABcBFwIXAxcCFwEXBBcFFwYXBRcEFwcXCBcHFwQXBxcIFwkXChcLFwwXDRcMFwsXDBcNFw4XDxcOFw0XEBcRFxIXERcQFxMXFBcTFxAXExcUFxUXFhcXFxgXGRcYFxcXGBcZFxoXGxcaFxkXHBcdFx4XHRccFx8XIBcfFxwXHxcgFyEXIhcjFyQXJRckFyMXJBclFyYXJxcmFyUXKBcpFyoXKRcoFysXLBcrFygXKxcsFy0XLhcvFzAXMRcwFy8XMBcxFzIXMxcyFzEXNBc1FzYXNRc0FzcXOBc3FzQXNxc4FzkXOhc7FzwXPRc8FzsXPBc9Fz4XPxc+Fz0XQBdBF0IXQRdAF0MXRBdDF0AXQxdEF0UXRhdHF0gXSRdIF0cXSBdJF0oXSxdKF0kXTBdNF04XTRdMF08XUBdPF0wXTxdQF1EXUhdTF1QXVRdUF1MXVBdVF1YXVxdWF1UXWBdZF1oXWRdYF1sXXBdbF1gXWxdcF10XXhdfF2AXYRdgF18XYBdhF2IXYxdiF2EXZBdlF2YXZRdkF2cXaBdnF2QXZxdoF2kXahdrF2wXbRdsF2sXbBdtF24XbxduF20XcBdxF3IXcRdwF3MXdBdzF3AXcxd0F3UXdhd3F3gXeRd4F3cXeBd5F3oXexd6F3kXfBd9F34XfRd8F38XgBd/F3wXfxeAF4EXgheDF4QXhReEF4MXhBeFF4YXhxeGF4UXiBeJF4oXiReIF4sXjBeLF4gXixeMF40XjhePF5AXkReQF48XkBeRF5IXkxeSF5EXlBeVF5YXlReUF5cXmBeXF5QXlxeYF5kXmhebF5wXnRecF5sXnBedF54XnxeeF50XoBehF6IXoRegF6MXpBejF6AXoxekF6UXphenF6gXqReoF6cXqBepF6oXqxeqF6kXrBetF64XrResF68XsBevF6wXrxewF7EXshezF7QXtRe0F7MXtBe1F7YXtxe2F7UXuBe5F7oXuRe4F7sXvBe7F7gXuxe8F70Xvhe/F8AXwRfAF78XwBfBF8IXwxfCF8EXxBfFF8YXxRfEF8cXyBfHF8QXxxfIF8kXyhfLF8wXzRfMF8sXzBfNF84XzxfOF80X0BfRF9IX0RfQF9MX1BfTF9AX0xfUF9UX1hfXF9gX2RfYF9cX2BfZF9oX2xfaF9kX3BfdF94X3RfcF98X4BffF9wX3xfgF+EX4hfjF+QX5RfkF+MX5BflF+YX5xfmF+UX6BfpF+oX6RfoF+sX7BfrF+gX6xfsF+0X7hfvF/AX8RfwF+8X8BfxF/IX8xfyF/EX9Bf1F/YX9Rf0F/cX+Bf3F/QX9xf4F/kX+hf7F/wX/Rf8F/sX/Bf9F/4X/xf+F/0XABgBGAIYARgAGAMYBBgDGAAYAxgEGAUYBhgHGAgYCRgIGAcYCBgJGAoYCxgKGAkYDBgNGA4YDRgMGA8YEBgPGAwYDxgQGBEYEhgTGBQYFRgUGBMYFBgVGBYYFxgWGBUYGBgZGBoYGRgYGBsYHBgbGBgYGxgcGB0YHhgfGCAYIRggGB8YIBghGCIYIxgiGCEYJBglGCYYJRgkGCcYKBgnGCQYJxgoGCkYKhgrGCwYLRgsGCsYLBgtGC4YLxguGC0YMBgxGDIYMRgwGDMYNBgzGDAYMxg0GDUYNhg3GDgYORg4GDcYOBg5GDoYOxg6GDkYPBg9GD4YPRg8GD8YQBg/GDwYPxhAGEEYQhhDGEQYRRhEGEMYRBhFGEYYRxhGGEUYSBhJGEoYSRhIGEsYTBhLGEgYSxhMGE0YThhPGFAYURhQGE8YUBhRGFIYUxhSGFEYVBhVGFYYVRhUGFcYWBhXGFQYVxhYGFkYWhhbGFwYXRhcGFsYXBhdGF4YXxheGF0YYBhhGGIYYRhgGGMYZBhjGGAYYxhkGGUYZhhnGGgYaRhoGGcYaBhpGGoYaxhqGGkYbBhtGG4YbRhsGG8YcBhvGGwYbxhwGHEYchhzGHQYdRh0GHMYdBh1GHYYdxh2GHUYeBh5GHoYeRh4GHsYfBh7GHgYexh8GH0Yfhh/GIAYgRiAGH8YgBiBGIIYgxiCGIEYhBiFGIYYhRiEGIcYiBiHGIQYhxiIGIkYihiLGIwYjRiMGIsYjBiNGI4YjxiOGI0YkBiRGJIYkRiQGJMYlBiTGJAYkxiUGJUYlhiXGJgYmRiYGJcYmBiZGJoYmxiaGJkYnBidGJ4YnRicGJ8YoBifGJwYnxigGKEYohijGKQYpRikGKMYpBilGKYYpximGKUYqBipGKoYqRioGKsYrBirGKgYqxisGK0YrhivGLAYsRiwGK8YsBixGLIYsxiyGLEYtBi1GLYYtRi0GLcYuBi3GLQYtxi4GLkYuhi7GLwYvRi8GLsYvBi9GL4Yvxi+GL0YwBjBGMIYwRjAGMMYxBjDGMAYwxjEGMUYxhjHGMgYyRjIGMcYyBjJGMoYyxjKGMkYzBjNGM4YzRjMGM8Y0BjPGMwYzxjQGNEY0hjTGNQY1RjUGNMY1BjVGNYY1xjWGNUY2BjZGNoY2RjYGNsY3BjbGNgY2xjcGN0Y3hjfGOAY4RjgGN8Y4BjhGOIY4xjiGOEY5BjlGOYY5RjkGOcY6BjnGOQY5xjoGOkY6hjrGOwY7RjsGOsY7BjtGO4Y7xjuGO0Y8BjxGPIY8RjwGPMY9BjzGPAY8xj0GPUY9hj3GPgY+Rj4GPcY+Bj5GPoY+xj6GPkY/Bj9GP4Y/Rj8GP8YABn/GPwY/xgAGQEZAhkDGQQZBRkEGQMZBBkFGQYZBxkGGQUZCBkJGQoZCRkIGQsZDBkLGQgZCxkMGQ0ZDhkPGRAZERkQGQ8ZEBkRGRIZExkSGREZFBkVGRYZFRkUGRcZGBkXGRQZFxkYGRkZGhkbGRwZHRkcGRsZHBkdGR4ZHxkeGR0ZIBkhGSIZIRkgGSMZJBkjGSAZIxkkGSUZJhknGSgZKRkoGScZKBkpGSoZKxkqGSkZLBktGS4ZLRksGS8ZMBkvGSwZLxkwGTEZMhkzGTQZNRk0GTMZNBk1GTYZNxk2GTUZOBk5GToZORk4GTsZPBk7GTgZOxk8GT0ZPhk/GUAZQRlAGT8ZQBlBGUIZQxlCGUEZRBlFGUYZRRlEGUcZSBlHGUQZRxlIGUkZShlLGUwZTRlMGUsZTBlNGU4ZTxlOGU0ZUBlRGVIZURlQGVMZVBlTGVAZUxlUGVUZVhlXGVgZWRlYGVcZWBlZGVoZWxlaGVkZXBldGV4ZXRlcGV8ZYBlfGVwZXxlgGWEZYhljGWQZZRlkGWMZZBllGWYZZxlmGWUZaBlpGWoZaRloGWsZbBlrGWgZaxlsGW0ZbhlvGXAZcRlwGW8ZcBlxGXIZcxlyGXEZdBl1GXYZdRl0GXcZeBl3GXQZdxl4GXkZehl7GXwZfRl8GXsZfBl9GX4Zfxl+GX0ZgBmBGYIZgRmAGYMZhBmDGYAZgxmEGYUZhhmHGYgZiRmIGYcZiBmJGYoZixmKGYkZjBmNGY4ZjRmMGY8ZkBmPGYwZjxmQGZEZkhmTGZQZlRmUGZMZlBmVGZYZlxmWGZUZmBmZGZoZmRmYGZsZnBmbGZgZmxmcGZ0ZnhmfGaAZoRmgGZ8ZoBmhGaIZoxmiGaEZpBmlGaYZpRmkGacZqBmnGaQZpxmoGakZqhmrGawZrRmsGasZrBmtGa4ZrxmuGa0ZsBmxGbIZsRmwGbMZtBmzGbAZsxm0GbUZthm3GbgZuRm4GbcZuBm5GboZuxm6GbkZvBm9Gb4ZvRm8Gb8ZwBm/GbwZvxnAGcEZwhnDGcQZxRnEGcMZxBnFGcYZxxnGGcUZyBnJGcoZyRnIGcsZzBnLGcgZyxnMGc0ZzhnPGdAZ0RnQGc8Z0BnRGdIZ0xnSGdEZ1BnVGdYZ1RnUGdcZ2BnXGdQZ1xnYGdkZ2hnbGdwZ3RncGdsZ3BndGd4Z3xneGd0Z4BnhGeIZ4RngGeMZ5BnjGeAZ4xnkGeUZ5hnnGegZ6RnoGecZ6BnpGeoZ6xnqGekZ7BntGe4Z7RnsGe8Z8BnvGewZ7xnwGfEZ8hnzGfQZ9Rn0GfMZ9Bn1GfYZ9xn2GfUZ+Bn5GfoZ+Rn4GfsZ/Bn7GfgZ+xn8Gf0Z/hn/GQAaARoAGv8ZABoBGgIaAxoCGgEaBBoFGgYaBRoEGgcaCBoHGgQaBxoIGgkaChoLGgwaDRoMGgsaDBoNGg4aDxoOGg0aEBoRGhIaERoQGhMaFBoTGhAaExoUGhUaFhoXGhgaGRoYGhcaGBoZGhoaGxoaGhkaHBodGh4aHRocGh8aIBofGhwaHxogGiEaIhojGiQaJRokGiMaJBolGiYaJxomGiUaKBopGioaKRooGisaLBorGigaKxosGi0aLhovGjAaMRowGi8aMBoxGjIaMxoyGjEaNBo1GjYaNRo0GjcaOBo3GjQaNxo4GjkaOho7GjwaPRo8GjsaPBo9Gj4aPxo+Gj0aQBpBGkIaQRpAGkMaRBpDGkAaQxpEGkUaRhpHGkgaSRpIGkcaSBpJGkoaSxpKGkkaTBpNGk4aTRpMGk8aUBpPGkwaTxpQGlEaUhpTGlQaVRpUGlMaVBpVGlYaVxpWGlUaWBpZGloaWRpYGlsaXBpbGlgaWxpcGl0aXhpfGmAaYRpgGl8aYBphGmIaYxpiGmEaZBplGmYaZRpkGmcaaBpnGmQaZxpoGmkaahprGmwabRpsGmsabBptGm4abxpuGm0acBpxGnIacRpwGnMadBpzGnAacxp0GnUadhp3GngaeRp4GncaeBp5Gnoaexp6GnkafBp9Gn4afRp8Gn8agBp/GnwafxqAGoEaghqDGoQahRqEGoMahBqFGoYahxqGGoUaiBqJGooaiRqIGosajBqLGogaixqMGo0ajhqPGpAakRqQGo8akBqRGpIakxqSGpEalBqVGpYalRqUGpcamBqXGpQalxqYGpkamhqbGpwanRqcGpsanBqdGp4anxqeGp0aoBqhGqIaoRqgGqMapBqjGqAaoxqkGqUaphqnGqgaqRqoGqcaqBqpGqoaqxqqGqka"), -"material": SubResource("StandardMaterial3D_mfkwq"), +"material": ExtResource("5_5t3l0"), "primitive": 3, "uv_scale": Vector4(0, 0, 0, 0), "vertex_count": 6828, @@ -168,6 +166,73 @@ transparency = 1 albedo_color = Color(0.24600002, 0.6, 0.42300004, 1) albedo_texture = SubResource("GradientTexture2D_2sheh") +[sub_resource type="PlaneMesh" id="PlaneMesh_uf0ka"] + +[sub_resource type="Resource" id="Resource_pnqf3"] +script = ExtResource("7_t1nin") +filter = 2 + +[sub_resource type="Resource" id="Resource_6d5b4"] +script = ExtResource("8_4ne5c") +mode = 1 +metadata/_custom_type_script = "uid://biqus8elamaeo" + +[sub_resource type="Resource" id="Resource_1ugfg"] +script = ExtResource("9_ke8ef") +fadingModifiers = [SubResource("Resource_6d5b4")] +metadata/_custom_type_script = "uid://bqk5po80nylsk" + +[sub_resource type="Resource" id="Resource_lch3i"] +script = ExtResource("10_arbfg") + +[sub_resource type="Resource" id="Resource_x4581"] +script = ExtResource("11_oh33d") + +[sub_resource type="Resource" id="Resource_8365n"] +script = ExtResource("12_rk6tm") + +[sub_resource type="Resource" id="Resource_0fsj1"] +script = ExtResource("13_m86la") + +[sub_resource type="Resource" id="Resource_6usmv"] +script = ExtResource("14_2gdgn") + +[sub_resource type="Resource" id="Resource_xvf4n"] +script = ExtResource("15_hnu45") + +[sub_resource type="Resource" id="Resource_jvnt2"] +script = ExtResource("17_cx3v3") + +[sub_resource type="Resource" id="Resource_oqbay"] +script = ExtResource("18_gapgh") +domainMode = 0 + +[sub_resource type="Resource" id="Resource_ernb2"] +script = ExtResource("19_k8smg") + +[sub_resource type="Resource" id="Resource_mh8kj"] +script = ExtResource("20_35yur") + +[sub_resource type="Resource" id="Resource_agel1"] +script = ExtResource("21_7ufu3") + +[sub_resource type="Resource" id="Resource_wr8kx"] +script = ExtResource("16_do5fr") +transparency = SubResource("Resource_ernb2") +shading = SubResource("Resource_jvnt2") +uv = SubResource("Resource_mh8kj") +geometry = SubResource("Resource_lch3i") +varying = SubResource("Resource_agel1") +masks = SubResource("Resource_x4581") +albedo = SubResource("Resource_pnqf3") +fading = SubResource("Resource_1ugfg") +normalMap = SubResource("Resource_0fsj1") +roughness = SubResource("Resource_xvf4n") +metallic = SubResource("Resource_8365n") +specular = SubResource("Resource_oqbay") +occlusion = SubResource("Resource_6usmv") +layers = [] + [node name="Fir-Group" type="Node3D"] [node name="Fir-Tree" type="StaticBody3D" parent="."] @@ -180,6 +245,10 @@ shape = SubResource("CapsuleShape3D_3jsax") [node name="Fir-Tree2" parent="Fir-Tree" instance=ExtResource("1_ojc8e")] transform = Transform3D(1.9628266, 0, 0, 0, 1.9628266, 0, 0, 0, 1.9628266, 0, 0, 0) +[node name="Fir-Tree" parent="Fir-Tree/Fir-Tree2" index="0"] +surface_material_override/0 = ExtResource("2_gr4uy") +surface_material_override/1 = ExtResource("3_5t3l0") + [node name="Fir-Tree2" type="StaticBody3D" parent="."] transform = Transform3D(0.6540956, 0.076034315, 0, -0.076034315, 0.6540956, 0, 0, 0, 0.6585, 2.051654, 0.19738604, -0.03106308) @@ -190,6 +259,10 @@ shape = SubResource("CapsuleShape3D_ojc8e") [node name="Fir-Tree2" parent="Fir-Tree2" instance=ExtResource("1_ojc8e")] transform = Transform3D(1.9628266, 0, 0, 0, 1.9628266, 0, 0, 0, 1.9628266, 0, 0, 0) +[node name="Fir-Tree" parent="Fir-Tree2/Fir-Tree2" index="0"] +surface_material_override/0 = ExtResource("2_gr4uy") +surface_material_override/1 = ExtResource("3_5t3l0") + [node name="Fir-Tree3" type="StaticBody3D" parent="."] transform = Transform3D(0.7900405, 0.09086897, -0.044621587, -0.09780733, 0.7757176, -0.15201366, 0.026114782, 0.15626022, 0.7805851, -0.18325019, -0.40480185, 1.311768) @@ -199,12 +272,15 @@ shape = SubResource("CapsuleShape3D_5ep8c") [node name="Fir-Tree2" parent="Fir-Tree3" instance=ExtResource("1_ojc8e")] transform = Transform3D(1.2378, 0, 0, 0, 1.6477927, 0, 0, 0, 1.2378, 0, 0, 0) -metadata/_edit_group_ = true + +[node name="Fir-Tree" parent="Fir-Tree3/Fir-Tree2" index="0"] +surface_material_override/0 = ExtResource("2_gr4uy") +surface_material_override/1 = ExtResource("3_5t3l0") [node name="GrassPatch" type="Node3D" parent="." node_paths=PackedStringArray("output")] script = ExtResource("2_3jsax") output = NodePath("MeshInstance3D") -material = SubResource("StandardMaterial3D_mfkwq") +material = ExtResource("5_5t3l0") patchSize = 8.0 centerPatch = true blades = 25 @@ -240,9 +316,40 @@ highCurve = SubResource("Curve_2gdgn") metadata/_custom_type_script = "uid://bo0awqfi5eqg4" [node name="MeshInstance3D" type="MeshInstance3D" parent="GrassPatch"] -mesh = SubResource("ArrayMesh_3jsax") +mesh = SubResource("ArrayMesh_5t3l0") [node name="MeshInstance3D" type="MeshInstance3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0) mesh = SubResource("PlaneMesh_3jsax") surface_material_override/0 = SubResource("StandardMaterial3D_2ba48") + +[node name="Map Geometry" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.2740593, 4.7683716e-07, 0.003993213) +layers = 8 +mesh = SubResource("PlaneMesh_uf0ka") +surface_material_override/0 = ExtResource("3_5ep8c") + +[node name="Map Geometry 2" type="MeshInstance3D" parent="."] +transform = Transform3D(1.8367388, 0, 0, 0, 1, 0, 0, 0, 1.8367388, -1.0960741, 4.7683716e-07, -0.026505917) +layers = 8 +mesh = SubResource("PlaneMesh_uf0ka") +surface_material_override/0 = ExtResource("3_5ep8c") + +[node name="Map Geometry 3" type="MeshInstance3D" parent="."] +transform = Transform3D(0.6997885, 0, 0, 0, 1, 0, 0, 0, 0.6997885, -0.063928604, 4.7683716e-07, 1.5103611) +layers = 8 +mesh = SubResource("PlaneMesh_uf0ka") +surface_material_override/0 = ExtResource("3_5ep8c") + +[node name="SpatialShaderGenerator" type="Node" parent="."] +script = ExtResource("6_5t3l0") +data = SubResource("Resource_wr8kx") +path = "res://GameObjects/Fir/" +shaderName = "FirShader" +shader = ExtResource("2_6ynax") +numVariants = 1 +metadata/_custom_type_script = "uid://2gudnu1r4pjg" + +[editable path="Fir-Tree/Fir-Tree2"] +[editable path="Fir-Tree2/Fir-Tree2"] +[editable path="Fir-Tree3/Fir-Tree2"] diff --git a/GameObjects/Fir-Group/Fir Material.tres b/GameObjects/Fir-Group/Fir Material.tres new file mode 100644 index 0000000..131f3ef --- /dev/null +++ b/GameObjects/Fir-Group/Fir Material.tres @@ -0,0 +1,35 @@ +[gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://dplmpayvtx62x"] + +[ext_resource type="Shader" uid="uid://b734lcqo4dptn" path="res://GameObjects/Fir/FirShader.gdshader" id="1_27ek3"] +[ext_resource type="Texture2D" uid="uid://bniw13xtlvdln" path="res://GameObjects/Fir/fir-side.jpg" id="2_bjaxi"] + +[resource] +resource_name = "Fir" +render_priority = 0 +shader = ExtResource("1_27ek3") +shader_parameter/albedo = Color(1, 1, 1, 1) +shader_parameter/albedoTexture = ExtResource("2_bjaxi") +shader_parameter/hslVariance = Vector3(0, 0, 0) +shader_parameter/hslOffset = Vector3(0, 0, 0) +shader_parameter/localYMapping = Vector2(0, 0) +shader_parameter/localYHSLOffset = Vector3(0, 0, 0) +shader_parameter/localYOcclusionAmount = 0.0 +shader_parameter/localYOcclusionPower = 0.0 +shader_parameter/localYOcclusionValues = Vector2(0, 1) +shader_parameter/noiseScale = 1.0 +shader_parameter/noiseOffset = Vector2(0, 0) +shader_parameter/windOcclusionAmount = 0.0 +shader_parameter/windMaxStrength = 0.0 +shader_parameter/windMaxRotation = 0.0 +shader_parameter/windStrengthCurve = 0.0 +shader_parameter/windStart = 0.0 +shader_parameter/windEnd = 0.0 +shader_parameter/windWeightCurve = 0.0 +shader_parameter/windHeightCompensation = 0.0 +shader_parameter/windNormalBending = 0.0 +shader_parameter/worldCameraLineDistanceFadeInnerRadius = 0.0 +shader_parameter/worldCameraLineDistanceFadeOuterRadius = 1.5 +shader_parameter/worldLineFadeMin = 0.0 +shader_parameter/roughness = 0.5 +shader_parameter/albedoToRoughness = Vector3(0, 0, 0) +shader_parameter/specular = 0.5 diff --git a/GameObjects/Fir/.fir-side.jpg-autosave.kra b/GameObjects/Fir/.fir-side.jpg-autosave.kra deleted file mode 100644 index b6066d9..0000000 Binary files a/GameObjects/Fir/.fir-side.jpg-autosave.kra and /dev/null differ diff --git a/GameObjects/Fir/Fir Ice Material.tres b/GameObjects/Fir/Fir Ice Material.tres new file mode 100644 index 0000000..1ac9793 --- /dev/null +++ b/GameObjects/Fir/Fir Ice Material.tres @@ -0,0 +1,52 @@ +[gd_resource type="ShaderMaterial" load_steps=4 format=3 uid="uid://bukxgehx43byh"] + +[ext_resource type="Shader" uid="uid://b734lcqo4dptn" path="res://GameObjects/Fir/FirShader.gdshader" id="1_6wdmi"] +[ext_resource type="Texture2D" uid="uid://bw1bmbr0wb445" path="res://GameObjects/Fir/fir-side-ice.jpg" id="2_6wdmi"] +[ext_resource type="Texture2D" uid="uid://c30nul6romace" path="res://addons/rokojori_action_library/Runtime/Procedural/Noise/RGB 3D Noise.png" id="3_dv1pj"] + +[resource] +resource_name = "Fir" +render_priority = 0 +shader = ExtResource("1_6wdmi") +shader_parameter/albedo = Color(1, 1, 1, 1) +shader_parameter/albedoTexture = ExtResource("2_6wdmi") +shader_parameter/hslVariance = Vector3(0.01, -0.06, 0.1) +shader_parameter/hslOffset = Vector3(0, 0.0876, -0.0266) +shader_parameter/localYMapping = Vector2(0, 2.2) +shader_parameter/localYHSLOffset = Vector3(-0.009, -0.0685, 0.018) +shader_parameter/localYOcclusionAmount = 0.57600002736 +shader_parameter/localYOcclusionPower = -1.41199992457 +shader_parameter/localYOcclusionValues = Vector2(0.2, 1) +shader_parameter/noise = ExtResource("3_dv1pj") +shader_parameter/noiseScale = 10.0 +shader_parameter/noiseOffset = Vector2(0.7413, 0) +shader_parameter/playerDeformRange = 0.125 +shader_parameter/playerDeformAmount = 0.1 +shader_parameter/playerDeformPower = 1.0 +shader_parameter/playerDeformYStart = 1.0 +shader_parameter/playerDeformYMax = 0.0 +shader_parameter/windWeights = Vector2(0.05, 0.95) +shader_parameter/windSeedSize = 25.0 +shader_parameter/windMaxStrength = 8.0 +shader_parameter/windMaxRotation = 2.0 +shader_parameter/windStrengthCurve = 0.596 +shader_parameter/windStart = 0.0 +shader_parameter/windEnd = 5.0 +shader_parameter/windWeightCurve = 0.5 +shader_parameter/windHeightCompensation = 0.02 +shader_parameter/windNormalBending = 0.0 +shader_parameter/windOcclusionAmount = 0.0 +shader_parameter/worldCameraLineDistanceFadeInnerRadius = 0.2 +shader_parameter/worldCameraLineDistanceFadeOuterRadius = 2.5 +shader_parameter/worldLineFadeMin = 0.2 +shader_parameter/roughness = 0.582000027645 +shader_parameter/albedoToRoughness = Vector3(0, -0.8165, 0.337) +shader_parameter/specular = 1.0 +shader_parameter/snowFadeLocalYStart = 1.3 +shader_parameter/snowFadeLocalYEnd = 1.8 +shader_parameter/snowFadeNoise = -0.5 +shader_parameter/snowFadePower = 0.25 +shader_parameter/snowOpacity = 0.8 +shader_parameter/snowRoughness = 1.0 +shader_parameter/snowSpecular = 0.0 +shader_parameter/snowLightMix = 0.5 diff --git a/GameObjects/Fir/Fir Material.tres b/GameObjects/Fir/Fir Material.tres new file mode 100644 index 0000000..dea0237 --- /dev/null +++ b/GameObjects/Fir/Fir Material.tres @@ -0,0 +1,53 @@ +[gd_resource type="ShaderMaterial" load_steps=4 format=3 uid="uid://c5gv2ud526j04"] + +[ext_resource type="Shader" uid="uid://b734lcqo4dptn" path="res://GameObjects/Fir/FirShader.gdshader" id="1_t54fj"] +[ext_resource type="Texture2D" uid="uid://bniw13xtlvdln" path="res://GameObjects/Fir/fir-side.jpg" id="2_yvg8l"] +[ext_resource type="Texture2D" uid="uid://c30nul6romace" path="res://addons/rokojori_action_library/Runtime/Procedural/Noise/RGB 3D Noise.png" id="3_yvg8l"] + +[resource] +resource_name = "Fir" +render_priority = 0 +shader = ExtResource("1_t54fj") +shader_parameter/albedo = Color(1, 1, 1, 1) +shader_parameter/albedoTexture = ExtResource("2_yvg8l") +shader_parameter/hslVariance = Vector3(0.0608, 0.0111, -0.0459) +shader_parameter/hslOffset = Vector3(0, 0, 0.0515) +shader_parameter/localYMapping = Vector2(0.2275, 2.2) +shader_parameter/localYHSLOffset = Vector3(0, -0.2775, 0.178) +shader_parameter/localYOcclusionAmount = 0.3170000150575 +shader_parameter/localYOcclusionPower = -0.2119998675699999 +shader_parameter/localYOcclusionValues = Vector2(0.2, 2.2) +shader_parameter/noise = ExtResource("3_yvg8l") +shader_parameter/noiseScale = 22.0 +shader_parameter/noiseOffset = Vector2(0.3635, 0) +shader_parameter/playerDeformRange = 0.125 +shader_parameter/playerDeformAmount = 0.1 +shader_parameter/playerDeformPower = 1.0 +shader_parameter/playerDeformYStart = 1.0 +shader_parameter/playerDeformYMax = 0.0 +shader_parameter/windWeights = Vector2(0.05, 0.95) +shader_parameter/windSeedSize = 25.0 +shader_parameter/windMaxStrength = 8.0 +shader_parameter/windMaxRotation = 2.0 +shader_parameter/windStrengthCurve = 0.596 +shader_parameter/windStart = 0.0 +shader_parameter/windEnd = 5.0 +shader_parameter/windWeightCurve = 0.5 +shader_parameter/windHeightCompensation = 0.02 +shader_parameter/windNormalBending = 0.0 +shader_parameter/windOcclusionAmount = 0.0 +shader_parameter/worldCameraLineDistanceFadeInnerRadius = 0.2 +shader_parameter/worldCameraLineDistanceFadeOuterRadius = 2.5 +shader_parameter/worldLineFadeMin = 0.2 +shader_parameter/roughness = 0.1750000083125 +shader_parameter/albedoToRoughness = Vector3(0, 0, -0.5) +shader_parameter/specular = 1.0 +shader_parameter/snowFadeLocalYStart = 1.3 +shader_parameter/snowFadeLocalYEnd = 1.8 +shader_parameter/snowFadeNoise = -0.5 +shader_parameter/snowFadePower = 0.25 +shader_parameter/snowOpacity = 0.8 +shader_parameter/snowAlbedo = 1.3 +shader_parameter/snowRoughness = 1.0 +shader_parameter/snowSpecular = 0.0 +shader_parameter/snowLightMix = 0.5 diff --git a/GameObjects/Fir/Fir Trunk Material.tres b/GameObjects/Fir/Fir Trunk Material.tres new file mode 100644 index 0000000..664d3d0 --- /dev/null +++ b/GameObjects/Fir/Fir Trunk Material.tres @@ -0,0 +1,49 @@ +[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://w7gdgytbe1d1"] + +[ext_resource type="Shader" uid="uid://b734lcqo4dptn" path="res://GameObjects/Fir/FirShader.gdshader" id="1_lbd55"] + +[resource] +resource_name = "Fir" +render_priority = 0 +shader = ExtResource("1_lbd55") +shader_parameter/albedo = Color(0.7919124, 0.7133407, 0.48449263, 1) +shader_parameter/hslVariance = Vector3(0, 0, 0) +shader_parameter/hslOffset = Vector3(0, 0, 0) +shader_parameter/localYMapping = Vector2(-0.5, 0.5) +shader_parameter/localYHSLOffset = Vector3(0, 0, 0) +shader_parameter/localYOcclusionAmount = 0.0 +shader_parameter/localYOcclusionPower = 1.424999998000942e-07 +shader_parameter/localYOcclusionValues = Vector2(1, 1) +shader_parameter/noiseScale = 1.0 +shader_parameter/noiseOffset = Vector2(0, 0) +shader_parameter/playerDeformRange = 2.0 +shader_parameter/playerDeformAmount = 0.5 +shader_parameter/playerDeformPower = 1.0 +shader_parameter/playerDeformYStart = 0.2 +shader_parameter/playerDeformYMax = 1.0 +shader_parameter/windWeights = Vector2(0.5, 0.5) +shader_parameter/windSeedSize = 1.0 +shader_parameter/windMaxStrength = 0.2 +shader_parameter/windMaxRotation = 0.1 +shader_parameter/windStrengthCurve = 0.0 +shader_parameter/windStart = 0.1 +shader_parameter/windEnd = 2.0 +shader_parameter/windWeightCurve = 0.5 +shader_parameter/windHeightCompensation = 0.0 +shader_parameter/windNormalBending = 0.0 +shader_parameter/windOcclusionAmount = 0.0 +shader_parameter/worldCameraLineDistanceFadeInnerRadius = 0.2 +shader_parameter/worldCameraLineDistanceFadeOuterRadius = 2.5 +shader_parameter/worldLineFadeMin = 0.2 +shader_parameter/roughness = 0.92400004389 +shader_parameter/albedoToRoughness = Vector3(0, 0, 0) +shader_parameter/specular = 0.67600003211 +shader_parameter/snowFadeLocalYStart = 0.5 +shader_parameter/snowFadeLocalYEnd = 1.5 +shader_parameter/snowFadeNoise = 0.3 +shader_parameter/snowFadePower = 1.0 +shader_parameter/snowOpacity = 0.8 +shader_parameter/snowAlbedo = 1.3 +shader_parameter/snowRoughness = 0.1 +shader_parameter/snowSpecular = 1.0 +shader_parameter/snowLightMix = 0.5 diff --git a/GameObjects/Fir/Fir-Tree.bin b/GameObjects/Fir/Fir-Tree.bin index 1aa6110..4155c8d 100644 Binary files a/GameObjects/Fir/Fir-Tree.bin and b/GameObjects/Fir/Fir-Tree.bin differ diff --git a/GameObjects/Fir/Fir-Tree.gltf b/GameObjects/Fir/Fir-Tree.gltf index 314711d..94dcec3 100644 --- a/GameObjects/Fir/Fir-Tree.gltf +++ b/GameObjects/Fir/Fir-Tree.gltf @@ -87,7 +87,7 @@ { "bufferView":0, "componentType":5126, - "count":72, + "count":134, "max":[ 0.9999999403953552, 2.1936826705932617, @@ -103,19 +103,19 @@ { "bufferView":1, "componentType":5126, - "count":72, + "count":134, "type":"VEC3" }, { "bufferView":2, "componentType":5126, - "count":72, + "count":134, "type":"VEC2" }, { "bufferView":3, "componentType":5123, - "count":72, + "count":291, "type":"SCALAR" }, { @@ -156,50 +156,50 @@ "bufferViews":[ { "buffer":0, - "byteLength":864, + "byteLength":1608, "byteOffset":0, "target":34962 }, { "buffer":0, - "byteLength":864, - "byteOffset":864, + "byteLength":1608, + "byteOffset":1608, "target":34962 }, { "buffer":0, - "byteLength":576, - "byteOffset":1728, + "byteLength":1072, + "byteOffset":3216, "target":34962 }, { "buffer":0, - "byteLength":144, - "byteOffset":2304, + "byteLength":582, + "byteOffset":4288, "target":34963 }, { "buffer":0, "byteLength":120, - "byteOffset":2448, + "byteOffset":4872, "target":34962 }, { "buffer":0, "byteLength":120, - "byteOffset":2568, + "byteOffset":4992, "target":34962 }, { "buffer":0, "byteLength":80, - "byteOffset":2688, + "byteOffset":5112, "target":34962 }, { "buffer":0, "byteLength":48, - "byteOffset":2768, + "byteOffset":5192, "target":34963 } ], @@ -211,7 +211,7 @@ ], "buffers":[ { - "byteLength":2816, + "byteLength":5240, "uri":"Fir-Tree.bin" } ] diff --git a/GameObjects/Fir/Fir.blend b/GameObjects/Fir/Fir.blend index b431db2..a780340 100644 Binary files a/GameObjects/Fir/Fir.blend and b/GameObjects/Fir/Fir.blend differ diff --git a/GameObjects/Fir/Fir.blend1 b/GameObjects/Fir/Fir.blend1 index aff48e2..9d93fd8 100644 Binary files a/GameObjects/Fir/Fir.blend1 and b/GameObjects/Fir/Fir.blend1 differ diff --git a/GameObjects/Fir/FirShader.gdshader b/GameObjects/Fir/FirShader.gdshader new file mode 100644 index 0000000..e54c061 --- /dev/null +++ b/GameObjects/Fir/FirShader.gdshader @@ -0,0 +1,274 @@ + + +shader_type spatial; + +// Rokojori Shader @alb.382-fad.255-geo.20-met.376-nor.278-occ.376-rou.390-sha.391-spa.20-spa.24-spe.376-tra.402-tra.402-uvm.19: +/* +[ Rokojori.TransparencyModule ] { "alphaScissorTreshold":0.009999999776482582, "blendMode":{"__class__": "Godot.BaseMaterial3D+BlendModeEnum","value__": 0}, "cullMode":{"__class__": "Godot.BaseMaterial3D+CullModeEnum","value__": 0}, "depthDraw":{"__class__": "Godot.BaseMaterial3D+DepthDrawModeEnum","value__": 0}, "noDepthTest":false, "transparency":{"__class__": "Godot.BaseMaterial3D+TransparencyEnum","value__": 0} } +[ Rokojori.ShadingModule ] { "diffuseMode":{"__class__": "Godot.BaseMaterial3D+DiffuseModeEnum","value__": 0}, "disableAmbientLight":false, "disableFog":false, "disableReceivingShadows":false, "shadingMode":{"__class__": "Godot.BaseMaterial3D+ShadingModeEnum","value__": 1}, "shadowToOpacity":false, "specularMode":{"__class__": "Godot.BaseMaterial3D+SpecularModeEnum","value__": 0}, "wireFrameMode":false } +[ Rokojori.UVModule ] { "channels":[] } +[ Rokojori.GeometryModule ] { "modifiers":[] } +[ Rokojori.SpatialVarying ] { "variables":[] } +[ Rokojori.SpatialMasksModule ] { "maskVariables":[] } +[ Rokojori.AlbedoModule ] { "assignmentType":{"__class__": "Rokojori.TextureModule+AssignmentType","value__": 0}, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 2}, "overlayLayers":[], "repeat":true, "srgb":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "tintVarying":"", "useTint":true, "uvChannel":"UV", "writeAlpha":false } +[ Rokojori.TransparencyModule ] { "alphaScissorTreshold":0.009999999776482582, "blendMode":{"__class__": "Godot.BaseMaterial3D+BlendModeEnum","value__": 0}, "cullMode":{"__class__": "Godot.BaseMaterial3D+CullModeEnum","value__": 0}, "depthDraw":{"__class__": "Godot.BaseMaterial3D+DepthDrawModeEnum","value__": 0}, "noDepthTest":false, "transparency":{"__class__": "Godot.BaseMaterial3D+TransparencyEnum","value__": 0} } +[ Rokojori.FadingModule ] { "alphaFadeMode":{"__class__": "Rokojori.AlphaFadeMode","value__": 2}, "fadingModifiers":[{ "__class__": "Rokojori.LineFading", "mode": 1, "alphaFadeMode": 0, "createUniformGroup": false, "sortableCode": true, "uniformGroup": null}] } +[ Rokojori.NormalMapModule ] { "allowNegativeStrength":false, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "maximumStrength":5, "repeat":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "useStrength":true, "uvChannel":"UV" } +[ Rokojori.OcclusionModule ] { "assignmentType":{"__class__": "Rokojori.TextureModule+AssignmentType","value__": 0}, "domainMode":{"__class__": "Rokojori.TextureModule+DomainMode","value__": 3}, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "repeat":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "uvChannel":"UV" } +[ Rokojori.RoughnessModule ] { "assignmentType":{"__class__": "Rokojori.TextureModule+AssignmentType","value__": 0}, "clamp":true, "domainMode":{"__class__": "Rokojori.TextureModule+DomainMode","value__": 3}, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "repeat":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "uvChannel":"UV" } +[ Rokojori.MetallicModule ] { "assignmentType":{"__class__": "Rokojori.TextureModule+AssignmentType","value__": 0}, "domainMode":{"__class__": "Rokojori.TextureModule+DomainMode","value__": 3}, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "repeat":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "uvChannel":"UV" } +[ Rokojori.SpecularModule ] { "assignmentType":{"__class__": "Rokojori.TextureModule+AssignmentType","value__": 0}, "domainMode":{"__class__": "Rokojori.TextureModule+DomainMode","value__": 0}, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "repeat":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "uvChannel":"UV" } +*/ + +render_mode blend_mix, cull_back, depth_draw_opaque, diffuse_burley, specular_schlick_ggx; + +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Noise.gdshaderinc" +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Transform.gdshaderinc" +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Line3.gdshaderinc" +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/SDF.gdshaderinc" +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Math.gdshaderinc" +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Colors.gdshaderinc" +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Wind.gdshaderinc" + +// [ A L B E D O ] +group_uniforms albedo; + +uniform vec4 albedo:source_color = vec4( 1.0, 1.0, 1.0, 1.0); +uniform sampler2D albedoTexture:source_color, hint_default_white, repeat_enable, filter_nearest_mipmap_anisotropic; +uniform vec3 hslVariance = vec3( 0, 0, 0 ); +uniform vec3 hslOffset = vec3( 0, 0, 0 ); +uniform vec2 localYMapping = vec2( 0, 0 ); +varying float localYMappingAmount; +uniform vec3 localYHSLOffset = vec3( 0, 0, 0 ); +uniform float localYOcclusionAmount:hint_range( 0.0, 1.0 ) = 0; +uniform float localYOcclusionPower:hint_range( -3.0, 3.0 ) = 0; +uniform vec2 localYOcclusionValues = vec2( 0, 1 ); + +uniform sampler2D noise: hint_default_white, repeat_enable, filter_linear_mipmap_anisotropic; +uniform float noiseScale = 1; +uniform vec2 noiseOffset = vec2( 0, 0 ); + +// [ PLAYER DEFROM ] +group_uniforms playerDeform; + +uniform float playerDeformRange = 2.0; +uniform float playerDeformAmount = 0.5; +uniform float playerDeformPower:hint_range( 0.25, 4 ) = 1; +uniform float playerDeformYStart = 0.2; +uniform float playerDeformYMax = 1; + +// [ WIND ] +group_uniforms wind; + +// Texture for close wind: grass/foliage +global uniform sampler2D rj_GlobalWindNoiseTextureClose; + +// Texture for far wind: trees +global uniform sampler2D rj_GlobalWindNoiseTextureFar; + +// Windposition close +global uniform vec2 rj_GlobalWindPositionClose; + +// Windposition far +global uniform vec2 rj_GlobalWindPositionFar; + +// Wind direction for both +global uniform vec2 rj_GlobalWindDirection; + +// Wind speed for both +global uniform float rj_GlobalWindSpeed; + +// Weights for x: close and y: far +uniform vec2 windWeights = vec2( 0.5, 0.5 ); + +// Scales the world-vertex based variance +uniform float windSeedSize = 1.0; + +// Max xz bending +uniform float windMaxStrength = 0.2; + +// Max yaw rotation +uniform float windMaxRotation = 0.1; + +// Linear/Inv-Quadratic mapping for the strength +uniform float windStrengthCurve:hint_range( 0.0, 1.0 ); + +// Influence start in local Y +uniform float windStart = 0.1; + +// Influence max in local Y +uniform float windEnd = 2.0; + +// Influence mapping over local Y +uniform float windWeightCurve:hint_range( 0.0,1.0 ) = 0.5; + +// Ducking in y for amount, strong wind => vertices lower +uniform float windHeightCompensation; + +// Normal incluence +uniform float windNormalBending; + +// AO influence +uniform float windOcclusionAmount; +varying float vertexWindAO; + +// [ F A D I N G ] +group_uniforms Fading; + +global uniform vec3 playerPosition = vec3( 0.0, 0.0, 0.0); +varying vec3 worldCameraLineDistanceFadeViewPosition; +uniform float worldCameraLineDistanceFadeInnerRadius = 0.10000000149011612; +uniform float worldCameraLineDistanceFadeOuterRadius = 0.15000000596046448; +uniform float worldLineFadeMin = 0.0; + + + + + +// // [ N O R M A L ] +// group_uniforms normal; + +// uniform float normalStrength:hint_range( 0.0, 5.0) = 1.0; +// uniform sampler2D normalTexture:hint_normal, repeat_enable, filter_linear_mipmap_anisotropic; + + + +// [ R O U G H N E S S ] +group_uniforms roughness; +uniform float roughness:hint_range( 0.0, 1.0 ) = 1.0; +uniform vec3 albedoToRoughness = vec3( 0, 0, 0 ); + +// [ S P E C U L A R ] +group_uniforms specular; +uniform float specular:hint_range( 0.0, 1.0) = 0.5; + +varying vec4 noiseValue; + + +// [ S N O W ] +group_uniforms snow; +global uniform float globalSnowAmount; +uniform float snowFadeLocalYStart = 0.5; +uniform float snowFadeLocalYEnd = 1.5; +uniform float snowFadeNoise = 0.3; +uniform float snowFadePower = 1; +uniform float snowOpacity = 0.8; +uniform float snowAlbedo = 1.3; +uniform float snowRoughness = 0.1; +uniform float snowSpecular = 1.0; +uniform float snowLightMix = 0.5; + +varying float snowAmount; + + +void vertex() +{ + + vec3 worldVertex = localToWorld( VERTEX, MODEL_MATRIX ); + vec2 worldUV = ( worldVertex.xz ) / ( 1000.0 * noiseScale ) + noiseOffset; + noiseValue = textureLod( noise, worldUV, 0 ); + worldCameraLineDistanceFadeViewPosition = worldToView( playerPosition, VIEW_MATRIX ); + + float maxSnowAmount = mapClamped( VERTEX.y, snowFadeLocalYStart + snowFadeNoise * noiseValue.r, snowFadeLocalYEnd + snowFadeNoise * noiseValue.r, 0.0, snowOpacity ); + maxSnowAmount = clamp01( pow( maxSnowAmount, snowFadePower ) ); + snowAmount = maxSnowAmount * globalSnowAmount; + + localYMappingAmount = map( VERTEX.y, localYMapping.x, localYMapping.y, 0.0, 1.0 ); + + // PLAYER DEFORM + + vec3 localPlayerPosition = worldToLocal( playerPosition, MODEL_MATRIX ) - VERTEX; + localPlayerPosition.y = 0.0; + + float length = length( localPlayerPosition ); + + if ( length == 0.0 ) + { + localPlayerPosition = vec3( 0.0001, 0, 0 ); + } + + vec3 dir = normalize( localPlayerPosition ); + + float amount = mapClamped( length, 0.0, playerDeformRange, playerDeformAmount, 0 ); + amount = clamp01( pow( amount, playerDeformPower ) ); + float yAmount = mapClamped( VERTEX.y, playerDeformYStart, playerDeformYMax, 0.0, 1.0 ); + VERTEX += dir * - amount * yAmount; + + // WIND + + float windAO = 0.0; + applyGlobalWind( + MODEL_MATRIX, + VERTEX, + NORMAL, + windAO, + windOcclusionAmount, + rj_GlobalWindNoiseTextureClose, + rj_GlobalWindNoiseTextureFar, + rj_GlobalWindPositionClose, + rj_GlobalWindPositionFar, + rj_GlobalWindDirection, + rj_GlobalWindSpeed, + windWeights, + windSeedSize, + windMaxStrength, + windMaxRotation, + windStrengthCurve, + windStart, + windEnd, + windWeightCurve, + windHeightCompensation, + windNormalBending + ); + + vertexWindAO = windAO; + +} + +void fragment() +{ + + float worldLineDistanceFadeDistance = + sdRoundCone( VERTEX, vec3( 0.0, 0.0, 0.0), + worldCameraLineDistanceFadeViewPosition, 0, + worldCameraLineDistanceFadeInnerRadius + ); + + + float worldRadius = worldCameraLineDistanceFadeOuterRadius - worldCameraLineDistanceFadeInnerRadius; + float worldLineDistanceFadeAmount = smoothstep( 0, worldRadius, worldLineDistanceFadeDistance ); + worldLineDistanceFadeAmount = clamp( worldLineDistanceFadeAmount, worldLineFadeMin, 1.0 ); + + vec3 objectNormal = normalize( worldCameraLineDistanceFadeViewPosition - VERTEX ); + vec3 cameraNormal = NORMAL; + float worldLineDistanceDot = dot( cameraNormal, objectNormal ); + worldLineDistanceDot = max( 0, sign( worldLineDistanceDot ) ); + + if ( worldLineDistanceDot == 0.0 && ditherDiscard( worldLineDistanceFadeAmount, FRAGCOORD ) ) + { + discard; + } + + vec4 sampledAlbedo = texture( albedoTexture, UV ); + ALBEDO = sampledAlbedo.rgb * albedo.rgb; + + vec3 hslAmount = ( noiseValue.rgb - 0.5 ) * 2.0; + vec3 localYHSL = localYMappingAmount * localYHSLOffset; + ALBEDO = adjustHSL( ALBEDO, hslAmount * hslVariance + hslOffset + localYHSL ); + + ALBEDO = mix( ALBEDO, vec3( snowAlbedo ), snowAmount ); + + float localYocclusion = pow( max( 0.0, localYMappingAmount ), pow( 2.0, localYOcclusionPower ) ); + AO = mix( 1.0, mix( localYOcclusionValues.x, localYOcclusionValues.y, localYocclusion ), localYOcclusionAmount ); + AO *= vertexWindAO; + + vec3 albedoRoughnessRGB = sampledAlbedo.rgb * albedoToRoughness; + float albedoRoughness = albedoRoughnessRGB.r + albedoRoughnessRGB.g + albedoRoughnessRGB.b; + ROUGHNESS = roughness + albedoRoughness; + SPECULAR = specular; + + ROUGHNESS = mix( ROUGHNESS, snowRoughness, snowLightMix * snowAmount ); + SPECULAR = mix( SPECULAR, snowSpecular, snowLightMix * snowAmount ); + + +} diff --git a/GameObjects/Fir/FirShader.gdshader.uid b/GameObjects/Fir/FirShader.gdshader.uid new file mode 100644 index 0000000..b506452 --- /dev/null +++ b/GameObjects/Fir/FirShader.gdshader.uid @@ -0,0 +1 @@ +uid://b734lcqo4dptn diff --git a/GameObjects/Foliage/Bush Material.tres b/GameObjects/Foliage/Bush Material.tres new file mode 100644 index 0000000..978a6ac --- /dev/null +++ b/GameObjects/Foliage/Bush Material.tres @@ -0,0 +1,49 @@ +[gd_resource type="ShaderMaterial" load_steps=5 format=3 uid="uid://1h5s2dr4bpx6"] + +[ext_resource type="Shader" uid="uid://n0tejd04fnib" path="res://GameObjects/Foliage/Foliage-Shader.gdshader" id="1_cj42g"] +[ext_resource type="Texture2D" uid="uid://cmcm5evl0ifj3" path="res://assets/rokojori-houses/bush.png" id="2_fyrw4"] + +[sub_resource type="Gradient" id="Gradient_xa56p"] +colors = PackedColorArray(0.33707213, 0.33707213, 0.33707213, 1, 1, 1, 1, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_getpf"] +gradient = SubResource("Gradient_xa56p") +fill_from = Vector2(0, 0.93048126) +fill_to = Vector2(0, 0.44385028) + +[resource] +render_priority = 0 +shader = ExtResource("1_cj42g") +shader_parameter/albedo = Color(1, 1, 1, 1) +shader_parameter/texture_albedo = ExtResource("2_fyrw4") +shader_parameter/alpha_scissor_threshold = 0.50000002375 +shader_parameter/albedo_texture_size = Vector2i(8, 8) +shader_parameter/point_size = 1.0 +shader_parameter/roughness = 1.0 +shader_parameter/metallic_texture_channel = Vector4(1, 0, 0, 0) +shader_parameter/specular = 0.5 +shader_parameter/metallic = 0.0 +shader_parameter/texture_ambient_occlusion = SubResource("GradientTexture2D_getpf") +shader_parameter/ao_texture_channel = Vector4(1, 0, 0, 0) +shader_parameter/ao_light_affect = 1.0 +shader_parameter/subsurface_scattering_strength = 1.0 +shader_parameter/transmittance_color = Color(1, 1, 1, 1) +shader_parameter/transmittance_depth = 4.656 +shader_parameter/transmittance_boost = 0.999999977648 +shader_parameter/backlight = Color(0.73081446, 0.72161514, 0.6009116, 1) +shader_parameter/uv1_scale = Vector3(1, 1, 1) +shader_parameter/uv1_offset = Vector3(0, 0, 0) +shader_parameter/maxSnowV = 0.8 +shader_parameter/topSnowOpacity = 1.0 +shader_parameter/bottomSnowOpacity = 0.0 +shader_parameter/snowWaveFrequency = 10.0 +shader_parameter/snowWaveFrequencySeedAmount = 5.0 +shader_parameter/snowWaveAmount = 0.0295 +shader_parameter/snowWaveSeedStrength = 321.0 +shader_parameter/rotationZ = 0.0 +shader_parameter/rotationZSeed = 5.0 +shader_parameter/playerDeformRange = 1.0 +shader_parameter/playerDeformAmount = 0.5 +shader_parameter/playerDeformPower = 1.0 +shader_parameter/playerDeformYStart = 0.1 +shader_parameter/playerDeformYMax = 0.3 diff --git a/GameObjects/Foliage/Flower Bush Material.tres b/GameObjects/Foliage/Flower Bush Material.tres new file mode 100644 index 0000000..c9f295b --- /dev/null +++ b/GameObjects/Foliage/Flower Bush Material.tres @@ -0,0 +1,40 @@ +[gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://cankc44hv7xty"] + +[ext_resource type="Shader" uid="uid://n0tejd04fnib" path="res://GameObjects/Foliage/Foliage-Shader.gdshader" id="1_5fitk"] +[ext_resource type="Texture2D" uid="uid://bs28luuyuhx3n" path="res://assets/rokojori-houses/flower-bush.png" id="2_5fitk"] + +[resource] +render_priority = 0 +shader = ExtResource("1_5fitk") +shader_parameter/albedo = Color(1, 1, 1, 1) +shader_parameter/texture_albedo = ExtResource("2_5fitk") +shader_parameter/alpha_scissor_threshold = 0.50000002375 +shader_parameter/albedo_texture_size = Vector2i(0, 0) +shader_parameter/point_size = 0.0 +shader_parameter/roughness = 0.56400002679 +shader_parameter/metallic_texture_channel = Vector4(0, 0, 1, 0) +shader_parameter/specular = 0.72999998368304 +shader_parameter/metallic = 0.45999998971808 +shader_parameter/ao_texture_channel = Vector4(1, 0, 0, 0) +shader_parameter/ao_light_affect = 0.999999977648 +shader_parameter/subsurface_scattering_strength = 0.999999977648 +shader_parameter/transmittance_color = Color(1, 1, 1, 1) +shader_parameter/transmittance_depth = 8.0 +shader_parameter/transmittance_boost = 0.999999977648 +shader_parameter/backlight = Color(0.7579691, 0.576351, 0.015094581, 1) +shader_parameter/uv1_scale = Vector3(1, 1, 0) +shader_parameter/uv1_offset = Vector3(0, 0, 0) +shader_parameter/maxSnowV = 0.8 +shader_parameter/topSnowOpacity = 1.0 +shader_parameter/bottomSnowOpacity = 0.0 +shader_parameter/snowWaveFrequency = 6.0 +shader_parameter/snowWaveFrequencySeedAmount = 4.0 +shader_parameter/snowWaveAmount = 0.086 +shader_parameter/snowWaveSeedStrength = 346.0 +shader_parameter/rotationZ = 0.0 +shader_parameter/rotationZSeed = 0.0 +shader_parameter/playerDeformRange = 2.0 +shader_parameter/playerDeformAmount = 0.5 +shader_parameter/playerDeformPower = 1.0 +shader_parameter/playerDeformYStart = 0.2 +shader_parameter/playerDeformYMax = 1.0 diff --git a/GameObjects/Foliage/Foliage-Shader.gdshader b/GameObjects/Foliage/Foliage-Shader.gdshader new file mode 100644 index 0000000..75b8e47 --- /dev/null +++ b/GameObjects/Foliage/Foliage-Shader.gdshader @@ -0,0 +1,168 @@ + +shader_type spatial; +render_mode blend_mix, depth_draw_opaque, cull_disabled, diffuse_burley, specular_schlick_ggx, sss_mode_skin; + +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Math.gdshaderinc" +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Transform.gdshaderinc" + +uniform vec4 albedo : source_color; +uniform sampler2D texture_albedo : source_color, filter_nearest_mipmap_anisotropic, repeat_enable; +uniform float alpha_scissor_threshold : hint_range(0.0, 1.0, 0.001); +uniform ivec2 albedo_texture_size; +uniform float point_size : hint_range(0.1, 128.0, 0.1); + +uniform float roughness : hint_range(0.0, 1.0); +uniform sampler2D texture_metallic : hint_default_white, filter_nearest_mipmap_anisotropic, repeat_enable; +uniform vec4 metallic_texture_channel; +uniform sampler2D texture_roughness : hint_roughness_r, filter_nearest_mipmap_anisotropic, repeat_enable; + +uniform float specular : hint_range(0.0, 1.0, 0.01); +uniform float metallic : hint_range(0.0, 1.0, 0.01); + +uniform sampler2D texture_ambient_occlusion : hint_default_white, filter_nearest_mipmap_anisotropic, repeat_enable; +uniform vec4 ao_texture_channel; +uniform float ao_light_affect : hint_range(0.0, 1.0, 0.01); + +uniform float subsurface_scattering_strength : hint_range(0.0, 1.0, 0.01); +uniform sampler2D texture_subsurface_scattering : hint_default_white, filter_nearest_mipmap_anisotropic, repeat_enable; + +uniform vec4 transmittance_color : source_color; +uniform float transmittance_depth : hint_range(0.001, 8.0, 0.001); +uniform sampler2D texture_subsurface_transmittance : hint_default_white, filter_nearest_mipmap_anisotropic, repeat_enable; +uniform float transmittance_boost : hint_range(0.0, 1.0, 0.01); + +uniform vec4 backlight : source_color; +uniform sampler2D texture_backlight : hint_default_black, filter_nearest_mipmap_anisotropic, repeat_enable; + +uniform vec3 uv1_scale; +uniform vec3 uv1_offset; + +// [ SNOW ] +group_uniforms snow; +uniform float maxSnowV = 0.8; +uniform float topSnowOpacity = 1; +uniform float bottomSnowOpacity = 0; +uniform float snowWaveFrequency = 2; +uniform float snowWaveFrequencySeedAmount = 7; +uniform float snowWaveAmount = 0; +uniform float snowWaveSeedStrength = 1; +global uniform float globalSnowAmount; + +// [ VARIANCE ] +group_uniforms variance; +varying float worldSeedXZ; + +uniform float rotationZ = 0; +uniform float rotationZSeed = 0; +varying float combinedRotationZ; + + + +// [ PLAYER DEFROM ] +group_uniforms playerDeform; + +global uniform vec3 playerPosition; +uniform float playerDeformRange = 2.0; +uniform float playerDeformAmount = 0.5; +uniform float playerDeformPower:hint_range( 0.25, 4 ) = 1; +uniform float playerDeformYStart = 0.2; +uniform float playerDeformYMax = 1; + +void vertex() +{ + UV = UV * uv1_scale.xy + uv1_offset.xy; + worldSeedXZ = fract( 123.94444 * fract( NODE_POSITION_WORLD.x * 42130.323 ) + 3.35 * fract( NODE_POSITION_WORLD.z * 13435.124 ) ); + + // PLAYER DEFORM + vec3 localPlayerPosition = worldToLocal( playerPosition, MODEL_MATRIX ); + localPlayerPosition.y = 0.0; + + float positionLength = length( localPlayerPosition ); + + if ( positionLength == 0.0 ) + { + localPlayerPosition = vec3( 0.0001, 0, 0 ); + } + + vec3 dir = normalize( localPlayerPosition ); + + float amount = mapClamped( positionLength, 0.0, playerDeformRange, playerDeformAmount, 0 ); + amount = clamp01( pow( amount, playerDeformPower ) ); + float yAmount = mapClamped( VERTEX.y, playerDeformYStart, playerDeformYMax, 0.0, 1.0 ); + VERTEX += dir * - amount * yAmount; + + + + // Billboard Mode: Enabled + MODELVIEW_MATRIX = VIEW_MATRIX * mat4( + MAIN_CAM_INV_VIEW_MATRIX[0], + MAIN_CAM_INV_VIEW_MATRIX[1], + MAIN_CAM_INV_VIEW_MATRIX[2], + MODEL_MATRIX[3]); + + // Billboard Keep Scale: Enabled + MODELVIEW_MATRIX = MODELVIEW_MATRIX * mat4( + vec4( + length(MODEL_MATRIX[0].xyz), 0.0, 0.0, 0.0 + ), + vec4(0.0, length(MODEL_MATRIX[1].xyz), 0.0, 0.0), + vec4(0.0, 0.0, length(MODEL_MATRIX[2].xyz), 0.0), + vec4(0.0, 0.0, 0.0, 1.0) + ); + + combinedRotationZ = rotationZ + ( worldSeedXZ * 2.0 - 1.0 ) * rotationZSeed; + combinedRotationZ = combinedRotationZ / 180.0 * PI; + MODELVIEW_MATRIX = MODELVIEW_MATRIX * rotationZ_m4( combinedRotationZ ); + MODELVIEW_NORMAL_MATRIX = mat3(MODELVIEW_MATRIX); +} + +void fragment() +{ + vec2 tSize = vec2( textureSize( texture_albedo, 0 ) ); + vec2 quantizedUV = round( rotateAround_v2( UV, -combinedRotationZ, vec2( 0.5, 0.5 ) ) * tSize ) / tSize; + float snowV = mix( 0.0, maxSnowV, globalSnowAmount ); + //float vOffset = sin( quantizedUV.x * snowWaveFrequency + worldSeedXZ * snowWaveSeedStrength ) * snowWaveAmount; + float vOffset = sin( quantizedUV.x * ( snowWaveFrequency + ( worldSeedXZ * 2.0 - 1.0 ) * snowWaveFrequencySeedAmount ) + worldSeedXZ * snowWaveSeedStrength ) * snowWaveAmount; + + float inSnow = mapClamped( quantizedUV.y + vOffset, 0.0, snowV, 1.0, 0.0 ); + float snowCoverage = mix( bottomSnowOpacity, topSnowOpacity, inSnow ); + snowCoverage = clamp01( snowCoverage ); + snowCoverage *= mapClamped( globalSnowAmount, 0, 0.4, 0, 1.0 ); + + vec2 base_uv = UV; + + + + vec4 albedo_tex = texture(texture_albedo, base_uv); + ALBEDO = albedo.rgb * albedo_tex.rgb; + + ALBEDO = mix( ALBEDO, vec3( 1.0 ), snowCoverage ); + + float metallic_tex = dot(texture(texture_metallic, base_uv), metallic_texture_channel); + METALLIC = metallic_tex * metallic; + SPECULAR = specular; + + vec4 roughness_texture_channel = vec4(1.0, 0.0, 0.0, 0.0); + float roughness_tex = dot(texture(texture_roughness, base_uv), roughness_texture_channel); + ROUGHNESS = roughness_tex * roughness; + ALPHA *= albedo.a * albedo_tex.a; + ALPHA_SCISSOR_THRESHOLD = alpha_scissor_threshold; + + // Ambient Occlusion: Enabled + AO = dot(texture(texture_ambient_occlusion, base_uv), ao_texture_channel); + AO_LIGHT_AFFECT = ao_light_affect; + + // Subsurface Scattering: Enabled + float sss_tex = texture(texture_subsurface_scattering, base_uv).r; + SSS_STRENGTH = subsurface_scattering_strength * sss_tex; + + // Subsurface Scattering Transmittance: Enabled + vec4 trans_color_tex = texture(texture_subsurface_transmittance, base_uv); + SSS_TRANSMITTANCE_COLOR = transmittance_color * trans_color_tex; + SSS_TRANSMITTANCE_DEPTH = transmittance_depth; + SSS_TRANSMITTANCE_BOOST = transmittance_boost; + + // Backlight: Enabled + vec3 backlight_tex = texture(texture_backlight, base_uv).rgb; + BACKLIGHT = (backlight.rgb + backlight_tex); +} diff --git a/GameObjects/Foliage/Foliage-Shader.gdshader.uid b/GameObjects/Foliage/Foliage-Shader.gdshader.uid new file mode 100644 index 0000000..27a24d2 --- /dev/null +++ b/GameObjects/Foliage/Foliage-Shader.gdshader.uid @@ -0,0 +1 @@ +uid://n0tejd04fnib diff --git a/GameObjects/Foliage/Leave Material.tres b/GameObjects/Foliage/Leave Material.tres new file mode 100644 index 0000000..03e3cc8 --- /dev/null +++ b/GameObjects/Foliage/Leave Material.tres @@ -0,0 +1,43 @@ +[gd_resource type="ShaderMaterial" load_steps=5 format=3 uid="uid://2ki3b6e0p6uq"] + +[ext_resource type="Shader" uid="uid://n0tejd04fnib" path="res://GameObjects/Foliage/Foliage-Shader.gdshader" id="1_ajbl0"] +[ext_resource type="Texture2D" uid="uid://dm43hafifngr5" path="res://assets/rokojori-houses/pink-bush.png" id="2_tkla7"] + +[sub_resource type="Gradient" id="Gradient_yhip2"] +colors = PackedColorArray(0.33707213, 0.33707213, 0.33707213, 1, 1, 1, 1, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_2ejjq"] +gradient = SubResource("Gradient_yhip2") +fill_from = Vector2(0, 0.93048126) +fill_to = Vector2(0, 0.44385028) + +[resource] +render_priority = 0 +shader = ExtResource("1_ajbl0") +shader_parameter/albedo = Color(1, 1, 1, 1) +shader_parameter/texture_albedo = ExtResource("2_tkla7") +shader_parameter/alpha_scissor_threshold = 0.5 +shader_parameter/albedo_texture_size = Vector2i(8, 8) +shader_parameter/point_size = 1.0 +shader_parameter/roughness = 1.0 +shader_parameter/metallic_texture_channel = Vector4(1, 0, 0, 0) +shader_parameter/specular = 0.5 +shader_parameter/metallic = 0.0 +shader_parameter/texture_ambient_occlusion = SubResource("GradientTexture2D_2ejjq") +shader_parameter/ao_texture_channel = Vector4(1, 0, 0, 0) +shader_parameter/ao_light_affect = 0.0 +shader_parameter/subsurface_scattering_strength = 1.0 +shader_parameter/transmittance_color = Color(1, 1, 1, 1) +shader_parameter/transmittance_depth = 4.656 +shader_parameter/transmittance_boost = 1.0 +shader_parameter/backlight = Color(0.73081446, 0.72161514, 0.6009116, 1) +shader_parameter/uv1_scale = Vector3(1, 1, 1) +shader_parameter/uv1_offset = Vector3(0, 0, 0) +shader_parameter/maxSnowV = 0.8 +shader_parameter/topSnowOpacity = 0.8 +shader_parameter/bottomSnowOpacity = 0.0 +shader_parameter/snowWaveFrequency = 10.4515 +shader_parameter/snowWaveAmount = 0.0565 +shader_parameter/snowWaveSeedStrength = 200.0 +shader_parameter/rotationZ = 0.0 +shader_parameter/rotationZSeed = 0.0 diff --git a/GameObjects/Foliage/Leave.material b/GameObjects/Foliage/Leave.material new file mode 100644 index 0000000..0cd1521 Binary files /dev/null and b/GameObjects/Foliage/Leave.material differ diff --git a/GameObjects/Foliage/Pink Bush Material.tres b/GameObjects/Foliage/Pink Bush Material.tres new file mode 100644 index 0000000..0e0434d --- /dev/null +++ b/GameObjects/Foliage/Pink Bush Material.tres @@ -0,0 +1,40 @@ +[gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://oe6d0lu68ia2"] + +[ext_resource type="Shader" uid="uid://n0tejd04fnib" path="res://GameObjects/Foliage/Foliage-Shader.gdshader" id="1_ivy6j"] +[ext_resource type="Texture2D" uid="uid://dm43hafifngr5" path="res://assets/rokojori-houses/pink-bush.png" id="2_ivy6j"] + +[resource] +render_priority = 0 +shader = ExtResource("1_ivy6j") +shader_parameter/albedo = Color(1, 1, 1, 1) +shader_parameter/texture_albedo = ExtResource("2_ivy6j") +shader_parameter/alpha_scissor_threshold = 0.50000002375 +shader_parameter/albedo_texture_size = Vector2i(0, 0) +shader_parameter/point_size = 0.0 +shader_parameter/roughness = 1.0 +shader_parameter/metallic_texture_channel = Vector4(0, 0, 0, 0) +shader_parameter/specular = 0.499999988824 +shader_parameter/metallic = 0.0 +shader_parameter/ao_texture_channel = Vector4(0, 0, 1, 0) +shader_parameter/ao_light_affect = 0.999999977648 +shader_parameter/subsurface_scattering_strength = 0.999999977648 +shader_parameter/transmittance_color = Color(1, 1, 1, 1) +shader_parameter/transmittance_depth = 8.0 +shader_parameter/transmittance_boost = 0.0 +shader_parameter/backlight = Color(0.6900825, 0.18473934, 0.15443109, 1) +shader_parameter/uv1_scale = Vector3(1, 1, 0) +shader_parameter/uv1_offset = Vector3(0, 0, 0) +shader_parameter/maxSnowV = 0.8 +shader_parameter/topSnowOpacity = 1.0 +shader_parameter/bottomSnowOpacity = 0.0 +shader_parameter/snowWaveFrequency = 5.757 +shader_parameter/snowWaveFrequencySeedAmount = 3.0 +shader_parameter/snowWaveAmount = 0.178 +shader_parameter/snowWaveSeedStrength = 34534.0 +shader_parameter/rotationZ = 0.0 +shader_parameter/rotationZSeed = 0.0 +shader_parameter/playerDeformRange = 2.0 +shader_parameter/playerDeformAmount = 0.5 +shader_parameter/playerDeformPower = 1.0 +shader_parameter/playerDeformYStart = 0.2 +shader_parameter/playerDeformYMax = 1.0 diff --git a/GameObjects/Foliage/Yellow Bush.material b/GameObjects/Foliage/Yellow Bush.material new file mode 100644 index 0000000..302ae5a Binary files /dev/null and b/GameObjects/Foliage/Yellow Bush.material differ diff --git a/GameObjects/Forest-Group/Forest Group.tscn b/GameObjects/Forest-Group/Forest Group.tscn index b5a2553..fc5e54d 100644 --- a/GameObjects/Forest-Group/Forest Group.tscn +++ b/GameObjects/Forest-Group/Forest Group.tscn @@ -1,10 +1,23 @@ -[gd_scene load_steps=3 format=3 uid="uid://bg8ypdl6k85ri"] +[gd_scene load_steps=6 format=3 uid="uid://bg8ypdl6k85ri"] [ext_resource type="PackedScene" uid="uid://d3brugocci17o" path="res://GameObjects/Fir-Group/Fir Group Ice.tscn" id="1_8q2ot"] +[ext_resource type="PackedScene" uid="uid://dawxe3jm1j1ei" path="res://GameObjects/Present/Present.tscn" id="1_44yth"] [ext_resource type="PackedScene" uid="uid://cysnvy387qi38" path="res://GameObjects/Fir-Group/Fir Group.tscn" id="2_4qffx"] +[ext_resource type="Material" uid="uid://dbqr1iev2b5t4" path="res://UI/Map/Map Vegetation Circle.tres" id="3_4qffx"] + +[sub_resource type="PlaneMesh" id="PlaneMesh_44yth"] [node name="Forest Group" type="Node3D"] +[node name="Present" parent="." instance=ExtResource("1_44yth")] +transform = Transform3D(0.4108638, 0, -0.91169673, 0, 1, 0, 0.91169673, 0, 0.4108638, 2.5577374, 0, -2.2148113) + +[node name="Present2" parent="." instance=ExtResource("1_44yth")] +transform = Transform3D(0.4108638, 0, -0.91169673, 0, 1, 0, 0.91169673, 0, 0.4108638, 22.174994, 0, -12.391151) + +[node name="Present3" parent="." instance=ExtResource("1_44yth")] +transform = Transform3D(-0.5215799, 0, -0.85320234, 0, 1, 0, 0.85320234, 0, -0.5215799, 28.674747, 0, -32.675495) + [node name="Fir-Group-Ice" parent="." instance=ExtResource("1_8q2ot")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.040007, 0, -29.891865) @@ -28,6 +41,24 @@ transform = Transform3D(0.84413, 0, -1.8254168, 0, 2.0111442, 0, 1.8254168, 0, 0 [node name="Fir-Group" parent="." instance=ExtResource("2_4qffx")] +[node name="Map Geometry 4" type="MeshInstance3D" parent="Fir-Group"] +transform = Transform3D(27.44629, 0, 0, 0, 1, 0, 0, 0, 34.13384, 25.866308, -2.8980765, -20.222918) +layers = 8 +mesh = SubResource("PlaneMesh_44yth") +surface_material_override/0 = ExtResource("3_4qffx") + +[node name="Map Geometry 5" type="MeshInstance3D" parent="Fir-Group"] +transform = Transform3D(6.809019, 0, 2.7083173, 0, 1, 0, -2.0247078, 0, 9.107973, -1.8502192, -2.8980765, -3.199451) +layers = 8 +mesh = SubResource("PlaneMesh_44yth") +surface_material_override/0 = ExtResource("3_4qffx") + +[node name="Map Geometry 6" type="MeshInstance3D" parent="Fir-Group"] +transform = Transform3D(13.654733, 0, 4.101728, 0, 1, 0, -4.060327, 0, 13.793963, -0.67935324, -2.8980765, -37.652992) +layers = 8 +mesh = SubResource("PlaneMesh_44yth") +surface_material_override/0 = ExtResource("3_4qffx") + [node name="Fir-Group2" parent="." instance=ExtResource("2_4qffx")] transform = Transform3D(0.5618113, 0, 0.47460607, 0, 0.7354474, 0, -0.47460607, 0, 0.5618113, 0.88123584, 0, -4.286784) diff --git a/GameObjects/Grass/Grass Ice.tres b/GameObjects/Grass/Grass Ice.tres new file mode 100644 index 0000000..fd99a09 --- /dev/null +++ b/GameObjects/Grass/Grass Ice.tres @@ -0,0 +1,53 @@ +[gd_resource type="ShaderMaterial" load_steps=6 format=3 uid="uid://675ynr6grow8"] + +[ext_resource type="Shader" uid="uid://b3upbrj3uyf4j" path="res://GameObjects/Grass/Grass.gdshader" id="1_pok7a"] + +[sub_resource type="Gradient" id="Gradient_n270a"] +offsets = PackedFloat32Array(0, 0.3968254, 0.8249158) +colors = PackedColorArray(0.793656, 0.89374226, 0.8721277, 1, 0.48921365, 0.7511804, 0.6489605, 1, 0.73337173, 0.8258557, 0.79009736, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_ru2n6"] +gradient = SubResource("Gradient_n270a") +fill_from = Vector2(0, 0.74358976) +fill_to = Vector2(0, 0) + +[sub_resource type="Gradient" id="Gradient_s8tmj"] +colors = PackedColorArray(0.6561392, 0.6561392, 0.6561392, 1, 1, 1, 1, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_aqryr"] +gradient = SubResource("Gradient_s8tmj") +fill_from = Vector2(0, 1) +fill_to = Vector2(0, 0) + +[resource] +render_priority = 0 +shader = ExtResource("1_pok7a") +shader_parameter/albedo = Color(1, 1, 1, 1) +shader_parameter/texture_albedo = SubResource("GradientTexture2D_ru2n6") +shader_parameter/albedoToBacklight = 1.0 +shader_parameter/albedoToEmission = 0.06000000285 +shader_parameter/roughness = 1.0 +shader_parameter/metallic_texture_channel = Vector4(1, 0, 0, 0) +shader_parameter/specular = 0.58999998681232 +shader_parameter/metallic = 0.0 +shader_parameter/texture_ambient_occlusion = SubResource("GradientTexture2D_aqryr") +shader_parameter/ao_texture_channel = Vector4(1, 0, 0, 0) +shader_parameter/ao_light_affect = 0.999999977648 +shader_parameter/uv1_scale = Vector3(1, 1, 1) +shader_parameter/uv1_offset = Vector3(0, 0, 0) +shader_parameter/playerDeformRange = 1.0 +shader_parameter/playerDeformAmount = 0.1 +shader_parameter/playerDeformPower = 0.500000011875 +shader_parameter/playerDeformYStart = 0.1 +shader_parameter/playerDeformYMax = 0.5 +shader_parameter/windWeights = Vector2(1, 0) +shader_parameter/windSeedSize = 0.5 +shader_parameter/windMaxStrength = 1.0 +shader_parameter/windMaxRotation = 1.0 +shader_parameter/windStrengthCurve = 0.0 +shader_parameter/windStart = 0.0654 +shader_parameter/windEnd = 0.5805 +shader_parameter/windWeightCurve = 0.5 +shader_parameter/windHeightCompensation = 0.2088 +shader_parameter/windNormalBending = 0.573 +shader_parameter/windOcclusionAmount = 0.2 diff --git a/GameObjects/Grass/Grass.gdshader b/GameObjects/Grass/Grass.gdshader new file mode 100644 index 0000000..b27485a --- /dev/null +++ b/GameObjects/Grass/Grass.gdshader @@ -0,0 +1,207 @@ + +shader_type spatial; +render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_burley, specular_schlick_ggx; + +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Math.gdshaderinc" +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Transform.gdshaderinc" +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Wind.gdshaderinc" +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Line3.gdshaderinc" + +uniform vec4 albedo : source_color; +uniform sampler2D texture_albedo : source_color, filter_linear_mipmap, repeat_enable; +uniform float albedoToBacklight:hint_range( 0.0, 1.0 ) = 0.2; +uniform float albedoToEmission:hint_range( 0.0, 1.0 ) = 0.2; +uniform float roughness : hint_range(0.0, 1.0); +uniform sampler2D texture_metallic : hint_default_white, filter_linear_mipmap, repeat_enable; +uniform vec4 metallic_texture_channel; +uniform sampler2D texture_roughness : hint_roughness_r, filter_linear_mipmap, repeat_enable; + +uniform float specular : hint_range(0.0, 1.0, 0.01); +uniform float metallic : hint_range(0.0, 1.0, 0.01); + +uniform sampler2D texture_ambient_occlusion : hint_default_white, filter_linear_mipmap, repeat_enable; +uniform vec4 ao_texture_channel; +uniform float ao_light_affect : hint_range(0.0, 1.0, 0.01); + +uniform vec3 uv1_scale; +uniform vec3 uv1_offset; + + +// [ PLAYER DEFROM ] +group_uniforms playerDeform; + +global uniform vec3 playerPosition; +global uniform vec3 smoothedPlayerPosition; +uniform float playerDeformRange = 2.0; +uniform float playerDeformAmount = 0.5; +uniform float playerDeformPower:hint_range( 0.25, 4 ) = 1; +uniform float playerDeformYStart = 0.2; +uniform float playerDeformYMax = 1; + +// [ WIND ] +group_uniforms wind; + +// Texture for close wind: grass/foliage +global uniform sampler2D rj_GlobalWindNoiseTextureClose; + +// Texture for far wind: trees +global uniform sampler2D rj_GlobalWindNoiseTextureFar; + +// Windposition close +global uniform vec2 rj_GlobalWindPositionClose; + +// Windposition far +global uniform vec2 rj_GlobalWindPositionFar; + +// Wind direction for both +global uniform vec2 rj_GlobalWindDirection; + +// Wind speed for both +global uniform float rj_GlobalWindSpeed; + +// Weights for x: close and y: far +uniform vec2 windWeights = vec2( 0.5, 0.5 ); + +// Scales the world-vertex based variance +uniform float windSeedSize = 1.0; + +// Max xz bending +uniform float windMaxStrength = 0.2; + +// Max yaw rotation +uniform float windMaxRotation = 0.1; + +// Linear/Inv-Quadratic mapping for the strength +uniform float windStrengthCurve:hint_range( 0.0, 1.0 ); + +// Influence start in local Y +uniform float windStart = 0.1; + +// Influence max in local Y +uniform float windEnd = 2.0; + +// Influence mapping over local Y +uniform float windWeightCurve:hint_range( 0.0,1.0 ) = 0.5; + +// Ducking in y for amount, strong wind => vertices lower +uniform float windHeightCompensation; + +// Normal incluence +uniform float windNormalBending; + +// AO influence +uniform float windOcclusionAmount; +varying float vertexWindAO; + +// + +void vertex() +{ + UV = UV * uv1_scale.xy + uv1_offset.xy; + + // PLAYER DEFORM + + vec3 playerPositionLocal = worldToLocal( playerPosition, MODEL_MATRIX ); + vec3 smoothedPlayerPositionLocal = worldToLocal( smoothedPlayerPosition, MODEL_MATRIX ); + playerPositionLocal.y = 0.0; + smoothedPlayerPositionLocal.y = 0.0; + + vec3 flatVertex = VERTEX; flatVertex.y = 0.0; + + Line3 line; + line.start = playerPositionLocal; + line.end = smoothedPlayerPositionLocal; + + float distance = Line3_getDistance( line, flatVertex ); + + vec3 dir = vec3( 1.0, 0, 0 ); + + if ( distance != 0.0 ) + { + dir = playerPositionLocal - VERTEX; + dir.y = 0.0; + + + // vec3 closestPoint = Line3_closestPointToPoint( line, flatVertex ); + // dir = closestPoint - flatVertex; + } + + dir = normalize( dir ); + + + // vec3 localPlayerPosition = worldToLocal( playerPosition, MODEL_MATRIX ) - VERTEX; + // localPlayerPosition.y = 0.0; + + // float distance = length( localPlayerPosition ); + + // if ( distance == 0.0 ) + // { + // localPlayerPosition = vec3( 0.0001, 0, 0 ); + // } + + // vec3 dir = normalize( localPlayerPosition ); + + + float amount = mapClamped( distance, 0.0, playerDeformRange, playerDeformAmount, 0 ); + amount = clamp01( pow( amount, playerDeformPower ) ); + float yAmount = mapClamped( VERTEX.y, playerDeformYStart, playerDeformYMax, 0.0, 1.0 ); + + // vec3 worldDir = localToWorldDirection( dir, MODEL_MATRIX ); + // worldDir = normalize( worldDir ); + // vec3 worldVertex = localToWorld( VERTEX, MODEL_MATRIX ); + // worldVertex += worldDir * - amount * yAmount; + // VERTEX = worldToLocal( worldVertex, MODEL_MATRIX ); + VERTEX += dir * - amount * yAmount; + + // WIND + + float windAO = 0.0; + applyGlobalWind( + MODEL_MATRIX, + VERTEX, + NORMAL, + windAO, + windOcclusionAmount, + rj_GlobalWindNoiseTextureClose, + rj_GlobalWindNoiseTextureFar, + rj_GlobalWindPositionClose, + rj_GlobalWindPositionFar, + rj_GlobalWindDirection, + rj_GlobalWindSpeed, + windWeights, + windSeedSize, + windMaxStrength, + windMaxRotation, + windStrengthCurve, + windStart, + windEnd, + windWeightCurve, + windHeightCompensation, + windNormalBending + ); + + vertexWindAO = windAO; + +} + +void fragment() { + vec2 base_uv = UV; + + vec4 albedo_tex = texture(texture_albedo, base_uv); + ALBEDO = albedo.rgb * albedo_tex.rgb; + + float metallic_tex = dot(texture(texture_metallic, base_uv), metallic_texture_channel); + METALLIC = metallic_tex * metallic; + SPECULAR = specular; + + vec4 roughness_texture_channel = vec4(1.0, 0.0, 0.0, 0.0); + float roughness_tex = dot(texture(texture_roughness, base_uv), roughness_texture_channel); + ROUGHNESS = roughness_tex * roughness; + + // Ambient Occlusion: Enabled + AO = dot(texture(texture_ambient_occlusion, base_uv), ao_texture_channel) * vertexWindAO; + AO_LIGHT_AFFECT = ao_light_affect; + + BACKLIGHT = ALBEDO * albedoToBacklight; + EMISSION = ALBEDO * albedoToEmission; +} diff --git a/GameObjects/Grass/Grass.gdshader.uid b/GameObjects/Grass/Grass.gdshader.uid new file mode 100644 index 0000000..a956678 --- /dev/null +++ b/GameObjects/Grass/Grass.gdshader.uid @@ -0,0 +1 @@ +uid://b3upbrj3uyf4j diff --git a/GameObjects/Grass/Grass.material b/GameObjects/Grass/Grass.material new file mode 100644 index 0000000..68df3a2 Binary files /dev/null and b/GameObjects/Grass/Grass.material differ diff --git a/GameObjects/Ground/Ground.gdshader b/GameObjects/Ground/Ground.gdshader new file mode 100644 index 0000000..f149d26 --- /dev/null +++ b/GameObjects/Ground/Ground.gdshader @@ -0,0 +1,107 @@ +// NOTE: Shader automatically converted from Godot Engine 4.5.stable.mono's StandardMaterial3D. + +shader_type spatial; +render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_burley, specular_schlick_ggx; + +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Transform.gdshaderinc" +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Math.gdshaderinc" +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Normals.gdshaderinc" + +uniform vec4 albedo : source_color; +uniform sampler2D texture_albedo : source_color, filter_linear_mipmap, repeat_enable; +uniform ivec2 albedo_texture_size; +uniform float point_size : hint_range(0.1, 128.0, 0.1); + +uniform float roughness : hint_range(0.0, 1.0); +uniform sampler2D texture_metallic : hint_default_white, filter_linear_mipmap, repeat_enable; +uniform vec4 metallic_texture_channel; +uniform sampler2D texture_roughness : hint_roughness_r, filter_linear_mipmap, repeat_enable; + +uniform float specular : hint_range(0.0, 1.0, 0.01); +uniform float metallic : hint_range(0.0, 1.0, 0.01); + +uniform sampler2D texture_normal : hint_roughness_normal, filter_linear_mipmap, repeat_enable; +uniform float normal_scale : hint_range(-16.0, 16.0); + +uniform sampler2D texture_ambient_occlusion : hint_default_white, filter_linear_mipmap, repeat_enable; +uniform vec4 ao_texture_channel; +uniform float ao_light_affect : hint_range(0.0, 1.0, 0.01); + +uniform vec3 uv1_scale; +uniform vec3 uv1_offset; + + + +global uniform float globalSnowAmount; +uniform float snowFadeIn = 0; +uniform float snowMax = 0.5; +uniform float snowTestOffset = 0; +uniform float snowLayerMax = 0.2; +uniform float snowLayerMin = -0.1; +uniform float snowLayerUVScale = 1.0; +uniform float snowOcclusionAmount = 1.0; +uniform float snowNormalSize = 1.0; +uniform float snowNormalStrength = 1.0; +uniform float snowNormalAmount:hint_range( 0.0, 1.0 ) = 1.0; + +varying vec3 snowNormal; + +varying float snowOcclusion; + + +uniform sampler2D noiseTexture; +uniform float noiseScale; +uniform vec2 noiseOffset; +uniform float noiseAmount; +varying vec2 noiseUV; + + +void vertex() +{ + UV = UV * uv1_scale.xy + uv1_offset.xy; + + vec3 worldVertex = localToWorld( VERTEX, MODEL_MATRIX ); + noiseUV = worldVertex.xz / noiseScale + noiseOffset; + + vec2 snowLayerUV = worldVertex.xz / snowLayerUVScale; + + float snowLayerNoise = textureLod( noiseTexture, snowLayerUV, 0 ).r; + VERTEX.y += mix( snowLayerMin, snowLayerMax, snowLayerNoise ) * globalSnowAmount; + + snowNormal = computeNormalFromHeightMap( noiseTexture, snowLayerUV, snowNormalSize, snowNormalStrength ); + + snowOcclusion = clamp01( mix( 1.0, snowLayerNoise, snowOcclusionAmount * globalSnowAmount ) ); + +} + +void fragment() +{ + vec2 base_uv = UV; + + float snowCoverage = mapClamped( globalSnowAmount + snowTestOffset, snowFadeIn, snowMax, 0.0, 1.0 ); + vec4 noise = texture( noiseTexture, noiseUV ); + + vec4 albedo_tex = texture(texture_albedo, base_uv); + ALBEDO = albedo.rgb * albedo_tex.rgb; + + float nAmount = noiseAmount * mapClamped( globalSnowAmount, 0.0, 0.2, 0.0, 1.0 ) ; + ALBEDO = mix( ALBEDO, vec3( 1.0 ), clamp01( snowCoverage + noise.r * nAmount ) ); + + float metallic_tex = dot(texture(texture_metallic, base_uv), metallic_texture_channel); + METALLIC = metallic_tex * metallic; + SPECULAR = specular; + + vec4 roughness_texture_channel = vec4(1.0, 0.0, 0.0, 0.0); + float roughness_tex = dot(texture(texture_roughness, base_uv), roughness_texture_channel); + ROUGHNESS = roughness_tex * roughness; + + // Normal Map: Enabled + NORMAL_MAP = mix( texture(texture_normal, base_uv).rgb, snowNormal, snowNormalAmount ); + NORMAL_MAP_DEPTH = normal_scale; + + // Ambient Occlusion: Enabled + AO = dot(texture(texture_ambient_occlusion, base_uv), ao_texture_channel); + AO *= snowOcclusion; + + AO_LIGHT_AFFECT = ao_light_affect; +} diff --git a/GameObjects/Ground/Ground.gdshader.uid b/GameObjects/Ground/Ground.gdshader.uid new file mode 100644 index 0000000..0006d05 --- /dev/null +++ b/GameObjects/Ground/Ground.gdshader.uid @@ -0,0 +1 @@ +uid://ck6k3e47rfj83 diff --git a/GameObjects/Ground/Ground.material b/GameObjects/Ground/Ground.material new file mode 100644 index 0000000..94c5a46 Binary files /dev/null and b/GameObjects/Ground/Ground.material differ diff --git a/GameObjects/House/Door Closed.material b/GameObjects/House/Door Closed.material new file mode 100644 index 0000000..e53bfe0 Binary files /dev/null and b/GameObjects/House/Door Closed.material differ diff --git a/GameObjects/House/House Wall.gdshader b/GameObjects/House/House Wall.gdshader new file mode 100644 index 0000000..5488b8a --- /dev/null +++ b/GameObjects/House/House Wall.gdshader @@ -0,0 +1,102 @@ +// NOTE: Shader automatically converted from Godot Engine 4.5.stable.mono's StandardMaterial3D. + +shader_type spatial; +render_mode blend_mix, depth_draw_opaque, cull_disabled, diffuse_burley, specular_schlick_ggx; + +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Math.gdshaderinc" +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Transform.gdshaderinc" + +uniform vec4 albedo : source_color; +uniform sampler2D texture_albedo : source_color, filter_nearest_mipmap_anisotropic, repeat_enable; +uniform float alpha_scissor_threshold : hint_range(0.0, 1.0, 0.001); +uniform ivec2 albedo_texture_size; +uniform float point_size : hint_range(0.1, 128.0, 0.1); + +uniform float roughness : hint_range(0.0, 1.0); +uniform sampler2D texture_metallic : hint_default_white, filter_nearest_mipmap_anisotropic, repeat_enable; +uniform vec4 metallic_texture_channel; +uniform sampler2D texture_roughness : hint_roughness_r, filter_nearest_mipmap_anisotropic, repeat_enable; + +uniform float specular : hint_range(0.0, 1.0, 0.01); +uniform float metallic : hint_range(0.0, 1.0, 0.01); + +uniform sampler2D texture_emission : source_color, hint_default_black, filter_nearest_mipmap_anisotropic, repeat_enable; +uniform vec4 emission : source_color; +uniform float emission_energy : hint_range(0.0, 100.0, 0.01); + +uniform sampler2D texture_normal : hint_roughness_normal, filter_nearest_mipmap_anisotropic, repeat_enable; +uniform float normal_scale : hint_range(-16.0, 16.0); + +uniform vec4 backlight : source_color; +uniform sampler2D texture_backlight : hint_default_black, filter_nearest_mipmap_anisotropic, repeat_enable; + +uniform vec3 uv1_scale; +uniform vec3 uv1_offset; + + +group_uniforms snow; +uniform float maxSnowV = 0.8; +uniform float topSnowOpacity = 1; +uniform float bottomSnowOpacity = 0; +uniform float snowWaveFrequency = 2; +uniform float snowWaveFrequencySeedAmount = 7; +uniform float snowWaveAmount = 0; +uniform float snowWaveSeedStrength = 1; +uniform float snowUVFadeOut = 1.0; +uniform float snowUVFadeIn = 0.0; +varying float worldSeedXZ; + +global uniform float globalSnowAmount; + +varying vec2 snowUV; + +void vertex() +{ + UV = UV * uv1_scale.xy + uv1_offset.xy; + worldSeedXZ = fract( 123.94444 * fract( NODE_POSITION_WORLD.x * 42130.323 ) + 3.35 * fract( NODE_POSITION_WORLD.z * 13435.124 ) ); + + vec3 worldPosition = localToWorld( VERTEX, MODEL_MATRIX ); + snowUV = vec2( UV.x, mapClamped( worldPosition.y, snowUVFadeIn, snowUVFadeOut, 0.0, 1.0 ) ); +} + +void fragment() +{ + vec2 tSize = vec2( textureSize( texture_albedo, 0 ) ); + + vec2 quantizedUV = round( snowUV * tSize ) / tSize; + float snowV = mix( 0.0, maxSnowV, globalSnowAmount ); + float vOffset = sin( quantizedUV.x * ( snowWaveFrequency + ( worldSeedXZ * 2.0 - 1.0 ) * snowWaveFrequencySeedAmount ) + worldSeedXZ * snowWaveSeedStrength ) * snowWaveAmount; + float inSnow = mapClamped( quantizedUV.y + vOffset, 0.0, snowV, 1.0, 0.0 ); + float snowCoverage = mix( bottomSnowOpacity, topSnowOpacity, inSnow ); + // snowCoverage = max( snowCoverage, worldNormalAmount ); + snowCoverage *= mapClamped( globalSnowAmount, 0, 0.4, 0, 1.0 ); + + vec2 base_uv = UV; + + vec4 albedo_tex = texture(texture_albedo, base_uv); + ALBEDO = albedo.rgb * albedo_tex.rgb; + ALBEDO = mix( ALBEDO, vec3( 1 ), snowCoverage ); + + float metallic_tex = dot(texture(texture_metallic, base_uv), metallic_texture_channel); + METALLIC = metallic_tex * metallic; + SPECULAR = specular; + + vec4 roughness_texture_channel = vec4(1.0, 0.0, 0.0, 0.0); + float roughness_tex = dot(texture(texture_roughness, base_uv), roughness_texture_channel); + ROUGHNESS = roughness_tex * roughness; + + // Normal Map: Enabled + NORMAL_MAP = texture(texture_normal, base_uv).rgb; + NORMAL_MAP_DEPTH = normal_scale; + + // Emission: Enabled + vec3 emission_tex = texture(texture_emission, base_uv).rgb; + // Emission Operator: Add + EMISSION = (emission.rgb + emission_tex) * emission_energy; + ALPHA *= albedo.a * albedo_tex.a; + ALPHA_SCISSOR_THRESHOLD = alpha_scissor_threshold; + + // Backlight: Enabled + vec3 backlight_tex = texture(texture_backlight, base_uv).rgb; + BACKLIGHT = (backlight.rgb + backlight_tex); +} diff --git a/GameObjects/House/House Wall.gdshader.uid b/GameObjects/House/House Wall.gdshader.uid new file mode 100644 index 0000000..c133e41 --- /dev/null +++ b/GameObjects/House/House Wall.gdshader.uid @@ -0,0 +1 @@ +uid://db2t105b157ko diff --git a/GameObjects/House/Lit Window.material b/GameObjects/House/Lit Window.material new file mode 100644 index 0000000..2cbdef6 Binary files /dev/null and b/GameObjects/House/Lit Window.material differ diff --git a/GameObjects/House/Round Entry.material b/GameObjects/House/Round Entry.material new file mode 100644 index 0000000..c1aa7fa Binary files /dev/null and b/GameObjects/House/Round Entry.material differ diff --git a/GameObjects/House/Unlit Window.material b/GameObjects/House/Unlit Window.material new file mode 100644 index 0000000..7dddd97 Binary files /dev/null and b/GameObjects/House/Unlit Window.material differ diff --git a/GameObjects/House/Wall.material b/GameObjects/House/Wall.material new file mode 100644 index 0000000..75b9bba Binary files /dev/null and b/GameObjects/House/Wall.material differ diff --git a/GameObjects/Pink Bush/Pink Bush.tscn b/GameObjects/Pink Bush/Pink Bush.tscn new file mode 100644 index 0000000..e8a8e69 --- /dev/null +++ b/GameObjects/Pink Bush/Pink Bush.tscn @@ -0,0 +1,58 @@ +[gd_scene load_steps=5 format=3 uid="uid://beh68ly34coau"] + +[ext_resource type="Material" uid="uid://oe6d0lu68ia2" path="res://GameObjects/Foliage/Pink Bush Material.tres" id="1_eo20v"] +[ext_resource type="Material" uid="uid://dxabe6g13cxfy" path="res://GameObjects/Foliage/Leave.material" id="2_tlsnn"] + +[sub_resource type="SphereShape3D" id="SphereShape3D_i3v8b"] +radius = 0.43 + +[sub_resource type="QuadMesh" id="QuadMesh_uqrk0"] + +[node name="Pink Bush" type="RigidBody3D"] +transform = Transform3D(0.652943, 0, 0.9098152, 0, 1.1198653, 0, -0.9098152, 0, 0.652943, 0, 0, 0) + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +transform = Transform3D(0.99999994, 0, 0, 0, 1.0000001, 0, 0, 0, 0.99999994, 0, 0.15148893, 0) +shape = SubResource("SphereShape3D_i3v8b") + +[node name="Pink Bush" type="MeshInstance3D" parent="."] +transform = Transform3D(0.99999994, 0, 0, 0, 1.0000001, 0, 0, 0, 0.99999994, 7.1525574e-07, 0.33457842, 1.1368684e-13) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = ExtResource("1_eo20v") + +[node name="Leave" type="MeshInstance3D" parent="Pink Bush"] +transform = Transform3D(0.4209132, 0, -7.450581e-09, 0, 0.4209132, 0, 7.450581e-09, 0, 0.4209132, -0.5514574, -0.25912705, -0.112205505) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../..") +surface_material_override/0 = ExtResource("2_tlsnn") + +[node name="Leave2" type="MeshInstance3D" parent="Pink Bush"] +transform = Transform3D(0.5892416, 0, 2.9802322e-08, 0, 0.5892416, 0, -2.9802322e-08, 0, 0.5892416, -0.12290502, -0.25912702, -0.40677547) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../..") +surface_material_override/0 = ExtResource("2_tlsnn") + +[node name="Leave3" type="MeshInstance3D" parent="Pink Bush"] +transform = Transform3D(0.4113829, 0, 1.4901161e-08, 0, 0.4113829, 0, -1.4901161e-08, 0, 0.4113829, -0.42022324, -0.25912702, 0.28161144) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../..") +surface_material_override/0 = ExtResource("2_tlsnn") + +[node name="Leave4" type="MeshInstance3D" parent="Pink Bush"] +transform = Transform3D(0.5031539, 1.4901161e-08, 2.9802322e-08, -7.953029e-09, 0.43969527, 0.2446056, -1.4901161e-08, -0.24460566, 0.4396953, -0.012327656, -0.25912702, 0.45400715) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../..") +surface_material_override/0 = ExtResource("2_tlsnn") + +[node name="Leave5" type="MeshInstance3D" parent="Pink Bush"] +transform = Transform3D(0.42091322, 2.2351742e-08, 4.4703484e-08, -6.6531034e-09, 0.3678269, 0.20462473, -2.9802322e-08, -0.20462474, 0.36782688, 0.3821206, -0.2710159, -0.2581148) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../..") +surface_material_override/0 = ExtResource("2_tlsnn") + +[node name="Leave6" type="MeshInstance3D" parent="Pink Bush"] +transform = Transform3D(0.32817093, 1.4901161e-08, 2.9802322e-08, -5.187186e-09, 0.28678143, 0.15953855, -4.4703484e-08, -0.15953855, 0.28678143, 0.32683218, -0.26701188, 0.32003498) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../..") +surface_material_override/0 = ExtResource("2_tlsnn") diff --git a/GameObjects/Pole/Pole.bin b/GameObjects/Pole/Pole.bin new file mode 100644 index 0000000..8a352d5 Binary files /dev/null and b/GameObjects/Pole/Pole.bin differ diff --git a/GameObjects/Pole/Pole.blend b/GameObjects/Pole/Pole.blend new file mode 100644 index 0000000..74186d4 Binary files /dev/null and b/GameObjects/Pole/Pole.blend differ diff --git a/GameObjects/Pole/Pole.blend.import b/GameObjects/Pole/Pole.blend.import new file mode 100644 index 0000000..969098e --- /dev/null +++ b/GameObjects/Pole/Pole.blend.import @@ -0,0 +1,59 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://dnlmp7hjlmg3d" +path="res://.godot/imported/Pole.blend-333460871946389228a094c223745eaa.scn" + +[deps] + +source_file="res://GameObjects/Pole/Pole.blend" +dest_files=["res://.godot/imported/Pole.blend-333460871946389228a094c223745eaa.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/root_script=null +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_name_suffixes=true +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +materials/extract=0 +materials/extract_format=0 +materials/extract_path="" +_subresources={} +blender/nodes/visible=0 +blender/nodes/active_collection_only=false +blender/nodes/punctual_lights=true +blender/nodes/cameras=true +blender/nodes/custom_properties=true +blender/nodes/modifiers=1 +blender/meshes/colors=false +blender/meshes/uvs=true +blender/meshes/normals=true +blender/meshes/export_geometry_nodes_instances=false +blender/meshes/tangents=true +blender/meshes/skins=2 +blender/meshes/export_bones_deforming_mesh_only=false +blender/materials/unpack_enabled=true +blender/materials/export_materials=1 +blender/animation/limit_playback=true +blender/animation/always_sample=true +blender/animation/group_tracks=true +gltf/naming_version=2 diff --git a/GameObjects/Pole/Pole.blend1 b/GameObjects/Pole/Pole.blend1 new file mode 100644 index 0000000..4b80153 Binary files /dev/null and b/GameObjects/Pole/Pole.blend1 differ diff --git a/GameObjects/Pole/Pole.gltf b/GameObjects/Pole/Pole.gltf new file mode 100644 index 0000000..306b1ce --- /dev/null +++ b/GameObjects/Pole/Pole.gltf @@ -0,0 +1,137 @@ +{ + "asset":{ + "generator":"Khronos glTF Blender I/O v4.0.44", + "version":"2.0" + }, + "extensionsUsed":[ + "KHR_materials_specular", + "KHR_materials_ior" + ], + "scene":0, + "scenes":[ + { + "name":"Scene", + "nodes":[ + 0 + ] + } + ], + "nodes":[ + { + "mesh":0, + "name":"Pole" + } + ], + "materials":[ + { + "doubleSided":true, + "extensions":{ + "KHR_materials_specular":{ + "specularColorFactor":[ + 2.0, + 2.0, + 2.0 + ] + }, + "KHR_materials_ior":{ + "ior":1.4500000476837158 + } + }, + "name":"Material", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0.04862872138619423, + 0.028119998052716255, + 0.028119998052716255, + 1 + ], + "metallicFactor":0.484375, + "roughnessFactor":0.671875 + } + } + ], + "meshes":[ + { + "name":"Cube.008", + "primitives":[ + { + "attributes":{ + "POSITION":0, + "NORMAL":1, + "TEXCOORD_0":2 + }, + "indices":3, + "material":0 + } + ] + } + ], + "accessors":[ + { + "bufferView":0, + "componentType":5126, + "count":136, + "max":[ + 0.1384594440460205, + 1.3861937522888184, + 0.1384594440460205 + ], + "min":[ + -0.1384594440460205, + -0.12018048763275146, + -0.1384594440460205 + ], + "type":"VEC3" + }, + { + "bufferView":1, + "componentType":5126, + "count":136, + "type":"VEC3" + }, + { + "bufferView":2, + "componentType":5126, + "count":136, + "type":"VEC2" + }, + { + "bufferView":3, + "componentType":5123, + "count":192, + "type":"SCALAR" + } + ], + "bufferViews":[ + { + "buffer":0, + "byteLength":1632, + "byteOffset":0, + "target":34962 + }, + { + "buffer":0, + "byteLength":1632, + "byteOffset":1632, + "target":34962 + }, + { + "buffer":0, + "byteLength":1088, + "byteOffset":3264, + "target":34962 + }, + { + "buffer":0, + "byteLength":384, + "byteOffset":4352, + "target":34963 + } + ], + "buffers":[ + { + "byteLength":4736, + "uri":"Pole.bin" + } + ] +} diff --git a/GameObjects/Pole/Pole.gltf.import b/GameObjects/Pole/Pole.gltf.import new file mode 100644 index 0000000..22d11df --- /dev/null +++ b/GameObjects/Pole/Pole.gltf.import @@ -0,0 +1,42 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://bqnu853bay13i" +path="res://.godot/imported/Pole.gltf-14ba61d4497b8e1add5361f2ca3b6808.scn" + +[deps] + +source_file="res://GameObjects/Pole/Pole.gltf" +dest_files=["res://.godot/imported/Pole.gltf-14ba61d4497b8e1add5361f2ca3b6808.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/root_script=null +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_name_suffixes=true +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +materials/extract=0 +materials/extract_format=0 +materials/extract_path="" +_subresources={} +gltf/naming_version=2 +gltf/embedded_image_handling=1 diff --git a/GameObjects/Present/Present-Collectable.tres b/GameObjects/Present/Present-Collectable.tres new file mode 100644 index 0000000..326d1b5 --- /dev/null +++ b/GameObjects/Present/Present-Collectable.tres @@ -0,0 +1,24 @@ +[gd_resource type="Resource" script_class="CollectableType" load_steps=7 format=3 uid="uid://d0k8ig2sum1fk"] + +[ext_resource type="Script" uid="uid://b584767duemqk" path="res://addons/rokojori_action_library/Runtime/Localization/LocaleTextEntry.cs" id="1_1g5pm"] +[ext_resource type="Script" uid="uid://doocg3kjxesop" path="res://addons/rokojori_action_library/Runtime/Interactions/Collecting/CollectableType.cs" id="1_fv5mj"] +[ext_resource type="Texture2D" uid="uid://crn8xn3skwu1i" path="res://GameObjects/Present/present-thumbnail.png" id="1_q2gfj"] +[ext_resource type="Script" uid="uid://bvj322mokkq63" path="res://addons/rokojori_action_library/Runtime/Localization/LocaleText.cs" id="2_q2gfj"] + +[sub_resource type="Resource" id="Resource_wic72"] +script = ExtResource("1_1g5pm") +code = 12 +content = "Geschenk" +metadata/_custom_type_script = "uid://b584767duemqk" + +[sub_resource type="Resource" id="Resource_d8sh4"] +script = ExtResource("2_q2gfj") +en = "Present" +entries = [SubResource("Resource_wic72")] +metadata/_custom_type_script = "uid://bvj322mokkq63" + +[resource] +script = ExtResource("1_fv5mj") +collectableName = SubResource("Resource_d8sh4") +collectableIcon = ExtResource("1_q2gfj") +metadata/_custom_type_script = "uid://doocg3kjxesop" diff --git a/GameObjects/Present/Present-Type.tres b/GameObjects/Present/Present-Type.tres new file mode 100644 index 0000000..8b8778b --- /dev/null +++ b/GameObjects/Present/Present-Type.tres @@ -0,0 +1,7 @@ +[gd_resource type="Resource" script_class="SelectorFlag" load_steps=2 format=3 uid="uid://difpg5cx7w8ou"] + +[ext_resource type="Script" uid="uid://dqb1n0314wgdn" path="res://addons/rokojori_action_library/Runtime/Selectors/SelectorFlag.cs" id="1_h6qfl"] + +[resource] +script = ExtResource("1_h6qfl") +metadata/_custom_type_script = "uid://dqb1n0314wgdn" diff --git a/GameObjects/Present/Present.tscn b/GameObjects/Present/Present.tscn new file mode 100644 index 0000000..ff941c3 --- /dev/null +++ b/GameObjects/Present/Present.tscn @@ -0,0 +1,191 @@ +[gd_scene load_steps=39 format=3 uid="uid://dawxe3jm1j1ei"] + +[ext_resource type="Script" uid="uid://bq56bfytlbxq7" path="res://addons/rokojori_action_library/Runtime/GameObjects/GameObject3D.cs" id="1_cei5k"] +[ext_resource type="PackedScene" uid="uid://bbyo1043h1g2w" path="res://assets/kenney_holiday-kit/Models/GLB format/present-a-rectangle.glb" id="2_ierrr"] +[ext_resource type="Script" uid="uid://dbgwebayabwd5" path="res://addons/rokojori_action_library/Runtime/Interactions/Collidable.cs" id="3_kcumc"] +[ext_resource type="Resource" uid="uid://daivy2l77st5v" path="res://GameObjects/Collectable-Collisions.tres" id="4_ku4jk"] +[ext_resource type="Script" uid="uid://b4yjsis2fh64c" path="res://addons/rokojori_action_library/Runtime/Actions/ActionList.cs" id="5_wng1k"] +[ext_resource type="Script" uid="uid://dxra6jao22it4" path="res://addons/rokojori_action_library/Runtime/Actions/ActionReference.cs" id="6_r3hib"] +[ext_resource type="Script" uid="uid://ceaglilesxsi4" path="res://addons/rokojori_action_library/Runtime/Actions/ActionSequence.cs" id="7_wura7"] +[ext_resource type="Script" uid="uid://drak08lej40jc" path="res://addons/rokojori_action_library/Runtime/Actions/Node/SetPhysicsState.cs" id="8_kcumc"] +[ext_resource type="Script" uid="uid://dy65lu5p2yf3j" path="res://addons/rokojori_action_library/Runtime/Actions/Sequence/Parallel.cs" id="9_hxn60"] +[ext_resource type="Script" uid="uid://dnwqkymbre3vb" path="res://addons/rokojori_action_library/Runtime/Animation/Flash/Flash.cs" id="12_ytqhh"] +[ext_resource type="Script" uid="uid://cbtqgliarexam" path="res://addons/rokojori_action_library/Runtime/Animation/Transform/AnimateTransform.cs" id="14_psn5b"] +[ext_resource type="Script" uid="uid://be4oc7tgr55vu" path="res://addons/rokojori_action_library/Runtime/Animation/Transform/TransformCurve.cs" id="15_eo1om"] +[ext_resource type="Script" uid="uid://dncqth3uf3tb3" path="res://addons/rokojori_action_library/Runtime/Animation/HDRColor.cs" id="15_ku4jk"] +[ext_resource type="Script" uid="uid://bqpiwp16h7614" path="res://addons/rokojori_action_library/Runtime/Animation/Transform/TransformAnimations.cs" id="16_s32gq"] +[ext_resource type="Script" uid="uid://c5tm02yj1bhhx" path="res://addons/rokojori_action_library/Runtime/Animation/AnimationCurve.cs" id="16_wng1k"] +[ext_resource type="Resource" uid="uid://ch5nsa6yafs5l" path="res://addons/rokojori_action_library/Runtime/Time/TimeLines/GameTime.tres" id="17_aekgg"] +[ext_resource type="Script" uid="uid://cupnq55n3nimc" path="res://addons/rokojori_action_library/Runtime/Animation/Flash/FlashEffect.cs" id="17_r3hib"] +[ext_resource type="Script" uid="uid://b2g7rycr0ouu4" path="res://addons/rokojori_action_library/Runtime/Actions/Time/Delay.cs" id="18_ntrp1"] +[ext_resource type="Script" uid="uid://dq5kae8x62gre" path="res://addons/rokojori_action_library/Runtime/Actions/RemoveNode.cs" id="19_pvpan"] +[ext_resource type="Script" uid="uid://dla1wn2mlw2d0" path="res://addons/rokojori_action_library/Runtime/Interactions/Pointable.cs" id="20_crydw"] +[ext_resource type="Script" uid="uid://qwprrym288gb" path="res://addons/rokojori_action_library/Runtime/Interactions/Collecting/Collectable.cs" id="21_mhwle"] +[ext_resource type="Resource" uid="uid://dfqc5ainuim21" path="res://Character/Player-Collector.tres" id="22_4h623"] +[ext_resource type="Resource" uid="uid://d0k8ig2sum1fk" path="res://GameObjects/Present/Present-Collectable.tres" id="23_nvl46"] +[ext_resource type="Script" uid="uid://dutnxjwc8dhx7" path="res://addons/rokojori_action_library/Runtime/Interactions/Collecting/CollectableData.cs" id="24_3otbe"] +[ext_resource type="Script" uid="uid://cnp3xr8gawyi6" path="res://addons/rokojori_action_library/Runtime/Actions/Node3D/SetTransform.cs" id="25_ierrr"] +[ext_resource type="Script" uid="uid://dyf6ee3ov3ran" path="res://addons/rokojori_action_library/Runtime/Actions/OnReady.cs" id="25_kcumc"] + +[sub_resource type="BoxShape3D" id="BoxShape3D_u7xow"] +size = Vector3(1.1638184, 0.4765625, 0.8429718) + +[sub_resource type="Curve" id="Curve_y6wps"] +_data = [Vector2(0, 1), 0.0, -0.1246964, 0, 0, Vector2(1, 0), -3.3578954, 0.0, 0, 0] +point_count = 2 + +[sub_resource type="Resource" id="Resource_celbq"] +script = ExtResource("15_eo1om") +transformTarget = 4 +duration = 0.5 +xCurve = SubResource("Curve_y6wps") +yCurve = SubResource("Curve_y6wps") +zCurve = SubResource("Curve_y6wps") +metadata/_custom_type_script = "uid://be4oc7tgr55vu" + +[sub_resource type="Curve" id="Curve_cei5k"] +_limits = [-1.0, 1.0, 0.0, 1.0] +_data = [Vector2(0, 0), 0.0, 0.0, 0, 1, Vector2(1, 0), 0.0, 0.0, 1, 0] +point_count = 2 + +[sub_resource type="Curve" id="Curve_ierrr"] +_limits = [0.0, 2.0, 0.0, 1.0] +_data = [Vector2(0, 0), 0.0, 2.8544617, 0, 0, Vector2(1, 0.9263158), 0.4559212, 0.0, 0, 0] +point_count = 2 + +[sub_resource type="Resource" id="Resource_kcumc"] +script = ExtResource("15_eo1om") +transformTarget = 2 +duration = 0.3 +xCurve = SubResource("Curve_cei5k") +yCurve = SubResource("Curve_ierrr") +zCurve = SubResource("Curve_cei5k") +metadata/_custom_type_script = "uid://be4oc7tgr55vu" + +[sub_resource type="Resource" id="Resource_6q7o7"] +script = ExtResource("16_s32gq") +curves = [SubResource("Resource_celbq"), SubResource("Resource_kcumc")] +timeline = ExtResource("17_aekgg") +metadata/_custom_type_script = "uid://bqpiwp16h7614" + +[sub_resource type="Resource" id="Resource_kfhag"] +script = ExtResource("15_ku4jk") +color = Color(1, 1, 1, 1) +rgbMultiply = 2.0 + +[sub_resource type="Curve" id="Curve_hxn60"] +_data = [Vector2(0, 1), 0.0, 0.0775112, 0, 0, Vector2(0.0779661, 0), 0.0, 0.0, 0, 0, Vector2(0.227119, 0), 0.113556, 0.113556, 0, 0, Vector2(0.244068, 0.913564), 0.0, 0.0, 0, 0, Vector2(0.308475, 0), 0.0, 0.0, 0, 0, Vector2(0.505085, 0), 0.0, 0.0, 0, 0, Vector2(0.518644, 0.697473), 0.0, 0.0, 0, 0, Vector2(0.60339, 0), 0.0, 0.0, 0, 0, Vector2(0.742794, 0), 0.0, 0.0, 0, 0, Vector2(0.749153, 0.438165), 0.0, 0.0, 0, 0, Vector2(0.80678, 0), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0442571, 0.0, 0, 0] +point_count = 12 + +[sub_resource type="Resource" id="Resource_h50g7"] +script = ExtResource("16_wng1k") +duration = 0.7 +curve = SubResource("Curve_hxn60") + +[sub_resource type="Resource" id="Resource_ytqhh"] +script = ExtResource("17_r3hib") +flashCurve = SubResource("Resource_h50g7") +timeline = ExtResource("17_aekgg") +color = SubResource("Resource_kfhag") +lightMode = 1 +lightRange = 3.0 +lightFlashCurveScale = 0.1 + +[sub_resource type="Resource" id="Resource_3o18d"] +script = ExtResource("24_3otbe") +collectableType = ExtResource("23_nvl46") +metadata/_custom_type_script = "uid://dutnxjwc8dhx7" + +[node name="Present" type="Node3D" node_paths=PackedStringArray("body", "origin")] +transform = Transform3D(0.4108638, 0, -0.91169673, 0, 1, 0, 0.91169673, 0, 0.4108638, 0, 0, 0) +script = ExtResource("1_cei5k") +body = NodePath("RigidBody3D") +origin = NodePath("RigidBody3D") +metadata/_custom_type_script = "uid://bq56bfytlbxq7" + +[node name="RigidBody3D" type="RigidBody3D" parent="."] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="RigidBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.01036644, 0.21136475, 0.0071907043) +shape = SubResource("BoxShape3D_u7xow") + +[node name="Animation Container" type="Node3D" parent="RigidBody3D"] + +[node name="present-a-rectangle2" parent="RigidBody3D/Animation Container" instance=ExtResource("2_ierrr")] +transform = Transform3D(1.7903701, 0, 0, 0, 1.7903696, 0, 0, 0, 1.7903701, 0, 0, 0) + +[node name="Collectable Collidable" type="Node3D" parent="RigidBody3D" node_paths=PackedStringArray("onEntered")] +script = ExtResource("3_kcumc") +collisionTypes = [ExtResource("4_ku4jk")] +onEntered = NodePath("On Collected") +metadata/_custom_type_script = "uid://dbgwebayabwd5" + +[node name="On Collected" type="Node" parent="RigidBody3D/Collectable Collidable"] +script = ExtResource("5_wng1k") +metadata/_custom_type_script = "uid://b4yjsis2fh64c" + +[node name="Collectable" type="Node" parent="RigidBody3D/Collectable Collidable/On Collected" node_paths=PackedStringArray("referencedAction")] +script = ExtResource("6_r3hib") +referencedAction = NodePath("../../../Collectable") +metadata/_custom_type_script = "uid://dxra6jao22it4" + +[node name="ActionSequence" type="Node" parent="RigidBody3D/Collectable Collidable/On Collected"] +script = ExtResource("7_wura7") +metadata/_custom_type_script = "uid://ceaglilesxsi4" + +[node name="SetPhysicsState" type="Node" parent="RigidBody3D/Collectable Collidable/On Collected/ActionSequence" node_paths=PackedStringArray("physicsBody")] +script = ExtResource("8_kcumc") +physicsBody = NodePath("../../../..") +setCollisions = true +metadata/_custom_type_script = "uid://drak08lej40jc" + +[node name="Parallel" type="Node" parent="RigidBody3D/Collectable Collidable/On Collected/ActionSequence"] +script = ExtResource("9_hxn60") +metadata/_custom_type_script = "uid://dy65lu5p2yf3j" + +[node name="AnimateTransform" type="Node" parent="RigidBody3D/Collectable Collidable/On Collected/ActionSequence/Parallel" node_paths=PackedStringArray("target")] +script = ExtResource("14_psn5b") +animations = SubResource("Resource_6q7o7") +target = NodePath("../../../../../Animation Container") +metadata/_custom_type_script = "uid://cbtqgliarexam" + +[node name="Flash" type="Node" parent="RigidBody3D/Collectable Collidable/On Collected/ActionSequence/Parallel" node_paths=PackedStringArray("targets")] +script = ExtResource("12_ytqhh") +flashEffect = SubResource("Resource_ytqhh") +targets = [NodePath("../../../../../Animation Container/present-a-rectangle2")] +includeChildren = true +metadata/_custom_type_script = "uid://dnwqkymbre3vb" + +[node name="Delay" type="Node" parent="RigidBody3D/Collectable Collidable/On Collected/ActionSequence/Parallel"] +script = ExtResource("18_ntrp1") +duration = 1.0 +timeLine = ExtResource("17_aekgg") +metadata/_custom_type_script = "uid://b2g7rycr0ouu4" + +[node name="RemoveNode" type="Node" parent="RigidBody3D/Collectable Collidable/On Collected/ActionSequence" node_paths=PackedStringArray("target")] +script = ExtResource("19_pvpan") +target = NodePath("../../../../..") +metadata/_custom_type_script = "uid://dq5kae8x62gre" + +[node name="Pointable" type="Node3D" parent="RigidBody3D" node_paths=PackedStringArray("highlightTargets")] +script = ExtResource("20_crydw") +highlightTargets = [null] +metadata/_custom_type_script = "uid://dla1wn2mlw2d0" + +[node name="Collectable" type="Node" parent="RigidBody3D" node_paths=PackedStringArray("collidable")] +script = ExtResource("21_mhwle") +collectorTypeFlags = [ExtResource("22_4h623")] +collidable = NodePath("../Collectable Collidable") +collectableData = SubResource("Resource_3o18d") +metadata/_custom_type_script = "uid://qwprrym288gb" + +[node name="OnReady" type="Node" parent="."] +script = ExtResource("25_kcumc") +metadata/_custom_type_script = "uid://dyf6ee3ov3ran" + +[node name="Reset Transform" type="Node" parent="OnReady" node_paths=PackedStringArray("target")] +script = ExtResource("25_ierrr") +target = NodePath("../../RigidBody3D/Animation Container") +positionMode = 2 +scaleMode = 1 +metadata/_custom_type_script = "uid://cnp3xr8gawyi6" diff --git a/GameObjects/Present/present-thumbnail.png b/GameObjects/Present/present-thumbnail.png new file mode 100644 index 0000000..681ad32 Binary files /dev/null and b/GameObjects/Present/present-thumbnail.png differ diff --git a/GameObjects/Present/present-thumbnail.png.import b/GameObjects/Present/present-thumbnail.png.import new file mode 100644 index 0000000..01d5ef3 --- /dev/null +++ b/GameObjects/Present/present-thumbnail.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://crn8xn3skwu1i" +path="res://.godot/imported/present-thumbnail.png-7963ef45d7d46371a27405eb0387ecd8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://GameObjects/Present/present-thumbnail.png" +dest_files=["res://.godot/imported/present-thumbnail.png-7963ef45d7d46371a27405eb0387ecd8.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 diff --git a/GameObjects/Roof/Roof 2.material b/GameObjects/Roof/Roof 2.material new file mode 100644 index 0000000..12c95d7 Binary files /dev/null and b/GameObjects/Roof/Roof 2.material differ diff --git a/GameObjects/Roof/Roof Spiky.material b/GameObjects/Roof/Roof Spiky.material new file mode 100644 index 0000000..aed7995 Binary files /dev/null and b/GameObjects/Roof/Roof Spiky.material differ diff --git a/GameObjects/Roof/Roof.gdshader b/GameObjects/Roof/Roof.gdshader new file mode 100644 index 0000000..9f78b94 --- /dev/null +++ b/GameObjects/Roof/Roof.gdshader @@ -0,0 +1,88 @@ +// NOTE: Shader automatically converted from Godot Engine 4.5.stable.mono's StandardMaterial3D. + +shader_type spatial; +render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_burley, specular_schlick_ggx; + +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Math.gdshaderinc" +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Transform.gdshaderinc" + +uniform vec4 albedo : source_color; +uniform sampler2D texture_albedo : source_color, filter_nearest_mipmap_anisotropic, repeat_enable; +uniform ivec2 albedo_texture_size; +uniform float point_size : hint_range(0.1, 128.0, 0.1); + +uniform float roughness : hint_range(0.0, 1.0); +uniform sampler2D texture_metallic : hint_default_white, filter_nearest_mipmap_anisotropic, repeat_enable; +uniform vec4 metallic_texture_channel; +uniform sampler2D texture_roughness : hint_roughness_r, filter_nearest_mipmap_anisotropic, repeat_enable; + +uniform float specular : hint_range(0.0, 1.0, 0.01); +uniform float metallic : hint_range(0.0, 1.0, 0.01); + +uniform sampler2D texture_normal : hint_roughness_normal, filter_nearest_mipmap_anisotropic, repeat_enable; +uniform float normal_scale : hint_range(-16.0, 16.0); + +uniform vec3 uv1_scale; +uniform vec3 uv1_offset; + +// [ SNOW ] +group_uniforms snow; +uniform float maxSnowV = 0.8; +uniform float topSnowOpacity = 1; +uniform float bottomSnowOpacity = 0; +uniform float snowWaveFrequency = 2; +uniform float snowWaveFrequencySeedAmount = 1; +uniform float snowWaveAmount = 0; +uniform float snowWaveSeedStrength = 1; +uniform float snowNormalOffset = -0.5; +uniform float snowNormalScale = -0.5; + +uniform float snowRoughness = 0.3; +uniform float snowNormalMixAmount = 0.5; +uniform float snowAlbedo = 1.0; +global uniform float globalSnowAmount; + +varying float worldSeedXZ; +varying float worldNormalAmount; + +void vertex() +{ + UV = UV * uv1_scale.xy + uv1_offset.xy; + worldSeedXZ = fract( 123.94444 * fract( NODE_POSITION_WORLD.x * 42130.323 ) + 3.35 * fract( NODE_POSITION_WORLD.z * 13435.124 ) ); + + vec3 worldNormal = localToWorldDirection( NORMAL, MODEL_MATRIX ); + worldNormalAmount = clamp01( snowNormalScale * ( dot( worldNormal, vec3( 0, 1, 0 ) ) + snowNormalOffset ) ); +} + +void fragment() +{ + vec2 tSize = vec2( textureSize( texture_albedo, 0 ) ); + vec2 quantizedUV = round( UV * tSize ) / tSize; + float snowV = mix( 0.0, maxSnowV, globalSnowAmount ); + float vOffset = sin( quantizedUV.x * ( snowWaveFrequency + ( worldSeedXZ * 2.0 - 1.0 ) * snowWaveFrequencySeedAmount ) + worldSeedXZ * snowWaveSeedStrength ) * snowWaveAmount; + float inSnow = mapClamped( quantizedUV.y + vOffset, 0.0, snowV, 1.0, 0.0 ); + float snowCoverage = mix( bottomSnowOpacity, topSnowOpacity, inSnow ); + snowCoverage = max( snowCoverage, worldNormalAmount ); + snowCoverage *= mapClamped( globalSnowAmount, 0, 0.4, 0, 1.0 ); + + vec2 base_uv = UV; + + vec4 albedo_tex = texture(texture_albedo, base_uv); + ALBEDO = albedo.rgb * albedo_tex.rgb; + + ALBEDO = mix( ALBEDO, vec3( snowAlbedo ), snowCoverage ); + + float metallic_tex = dot(texture(texture_metallic, base_uv), metallic_texture_channel); + METALLIC = metallic_tex * metallic; + SPECULAR = specular; + + vec4 roughness_texture_channel = vec4(1.0, 0.0, 0.0, 0.0); + float roughness_tex = dot(texture(texture_roughness, base_uv), roughness_texture_channel); + ROUGHNESS = roughness_tex * roughness; + ROUGHNESS = mix( ROUGHNESS, snowRoughness, snowCoverage ); + + // Normal Map: Enabled + NORMAL_MAP = texture(texture_normal, base_uv).rgb; + NORMAL_MAP = mix( NORMAL_MAP, vec3( 0.5 ), snowCoverage * snowNormalMixAmount ); + NORMAL_MAP_DEPTH = normal_scale; +} diff --git a/GameObjects/Roof/Roof.gdshader.uid b/GameObjects/Roof/Roof.gdshader.uid new file mode 100644 index 0000000..c839cc5 --- /dev/null +++ b/GameObjects/Roof/Roof.gdshader.uid @@ -0,0 +1 @@ +uid://bkf8eqhq37lpm diff --git a/GameObjects/Roof/Roof.material b/GameObjects/Roof/Roof.material new file mode 100644 index 0000000..68796f3 Binary files /dev/null and b/GameObjects/Roof/Roof.material differ diff --git a/GameObjects/Snow/.snow-flake.png-autosave.kra b/GameObjects/Snow/.snow-flake.png-autosave.kra deleted file mode 100644 index 665362b..0000000 Binary files a/GameObjects/Snow/.snow-flake.png-autosave.kra and /dev/null differ diff --git a/GameObjects/Snow/Snow.gdshader b/GameObjects/Snow/Snow.gdshader new file mode 100644 index 0000000..7f6babd --- /dev/null +++ b/GameObjects/Snow/Snow.gdshader @@ -0,0 +1,89 @@ +// NOTE: Shader automatically converted from Godot Engine 4.5.stable.mono's StandardMaterial3D. + +shader_type spatial; +render_mode blend_mix, depth_draw_never, cull_disabled, diffuse_burley, specular_schlick_ggx, unshaded; + +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Transform.gdshaderinc" +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Math.gdshaderinc" +#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Noise.gdshaderinc" + +uniform vec4 albedo : source_color; +uniform sampler2D texture_albedo : source_color, filter_linear_mipmap_anisotropic, repeat_enable; +uniform float alpha_scissor_thresholdClose : hint_range(0.0, 1.0, 0.001); +uniform float alpha_scissor_thresholdFar : hint_range(0.0, 1.0, 0.001); +uniform float alpha_scissor_distance : hint_range(1.0, 100.0); +uniform ivec2 albedo_texture_size; +uniform float point_size : hint_range(0.1, 128.0, 0.1); + +uniform float roughness : hint_range(0.0, 1.0); +uniform sampler2D texture_metallic : hint_default_white, filter_linear_mipmap_anisotropic, repeat_enable; +uniform vec4 metallic_texture_channel; +uniform sampler2D texture_roughness : hint_roughness_r, filter_linear_mipmap_anisotropic, repeat_enable; + +uniform float specular : hint_range(0.0, 1.0, 0.01); +uniform float metallic : hint_range(0.0, 1.0, 0.01); + +uniform vec3 uv1_scale; +uniform vec3 uv1_offset; +uniform vec3 uv2_scale; +uniform vec3 uv2_offset; +varying float alphaTreshold; + +global uniform float globalSnowAmount; +uniform float noiseScale = 1; +varying float noiseXZ; + +void vertex() +{ + vec3 worldVertex = localToWorld( VERTEX, MODEL_MATRIX ); + vec2 noisePosition = vec2( worldVertex.x, worldVertex.z ); + noiseXZ = mod( noisePosition.x * noiseScale, 1.0 ) ; + + float cameraDistance = length( localToWorld( VERTEX, MODEL_MATRIX ) - CAMERA_POSITION_WORLD ); + alphaTreshold = mapClamped( cameraDistance, 0, alpha_scissor_distance, alpha_scissor_thresholdClose, alpha_scissor_thresholdFar ); + + UV = UV * uv1_scale.xy + uv1_offset.xy; + + // Billboard Mode: Enabled + MODELVIEW_MATRIX = VIEW_MATRIX * mat4( + MAIN_CAM_INV_VIEW_MATRIX[0], + MAIN_CAM_INV_VIEW_MATRIX[1], + MAIN_CAM_INV_VIEW_MATRIX[2], + MODEL_MATRIX[3]); + + + + // Billboard Keep Scale: Enabled + MODELVIEW_MATRIX = MODELVIEW_MATRIX * mat4( + vec4(length(MODEL_MATRIX[0].xyz), 0.0, 0.0, 0.0), + vec4(0.0, length(MODEL_MATRIX[1].xyz), 0.0, 0.0), + vec4(0.0, 0.0, length(MODEL_MATRIX[2].xyz), 0.0), + vec4(0.0, 0.0, 0.0, 1.0)); + MODELVIEW_NORMAL_MATRIX = mat3(MODELVIEW_MATRIX); +} + +void fragment() +{ + vec2 base_uv = UV; + + vec4 albedo_tex = texture(texture_albedo, base_uv); + + // Vertex Color Use as Albedo: Enabled + albedo_tex *= COLOR; + + ALBEDO = albedo.rgb * albedo_tex.rgb; + // ALBEDO = mix( ALBEDO, vec3( 1, 0, 0 ), noiseXZ ); + + float metallic_tex = dot(texture(texture_metallic, base_uv), metallic_texture_channel); + METALLIC = metallic_tex * metallic; + SPECULAR = specular; + + vec4 roughness_texture_channel = vec4(1.0, 0.0, 0.0, 0.0); + float roughness_tex = dot(texture(texture_roughness, base_uv), roughness_texture_channel); + ROUGHNESS = roughness_tex * roughness; + ALPHA *= albedo.a * albedo_tex.a; + + float fullAmount = mapClamped( globalSnowAmount, 0.2, 0.6, 0.0, 1.0 ); + ALPHA *= mix( globalSnowAmount * noiseXZ * 2.0, 1.0, fullAmount ) ; + ALPHA_SCISSOR_THRESHOLD = alphaTreshold; +} diff --git a/GameObjects/Snow/Snow.gdshader.uid b/GameObjects/Snow/Snow.gdshader.uid new file mode 100644 index 0000000..4841a2f --- /dev/null +++ b/GameObjects/Snow/Snow.gdshader.uid @@ -0,0 +1 @@ +uid://dtsuja0cfawpf diff --git a/Main/Main.tscn b/Main/Main.tscn index ca71c33..8a4c326 100644 --- a/Main/Main.tscn +++ b/Main/Main.tscn @@ -1,9 +1,8 @@ -[gd_scene load_steps=274 format=4 uid="uid://b5l8s4mmexi0m"] +[gd_scene load_steps=432 format=4 uid="uid://b5l8s4mmexi0m"] [ext_resource type="Script" uid="uid://dedtmhyfax8p0" path="res://addons/rokojori_action_library/Runtime/App/Main.cs" id="1_rii6w"] [ext_resource type="Script" uid="uid://dyf6ee3ov3ran" path="res://addons/rokojori_action_library/Runtime/Actions/OnReady.cs" id="2_bdfmq"] [ext_resource type="Script" uid="uid://cow7sv7kn0moo" path="res://addons/rokojori_action_library/Runtime/Actions/SetTick.cs" id="3_fd6ib"] -[ext_resource type="Script" uid="uid://o1xll543uue3" path="res://addons/rokojori_action_library/Runtime/Cameras/SetCameraFarDOF.cs" id="4_gmaup"] [ext_resource type="Script" uid="uid://edtvlsps4bnc" path="res://addons/rokojori_action_library/Runtime/App/App.cs" id="6_dr2ar"] [ext_resource type="Script" uid="uid://cjie4532uimke" path="res://addons/rokojori_action_library/Runtime/Localization/LocaleManager.cs" id="7_oqc0w"] [ext_resource type="Script" uid="uid://irn5l5pgo176" path="res://addons/rokojori_action_library/Runtime/Sensors/SensorManagerSetup.cs" id="8_5tndj"] @@ -12,92 +11,144 @@ [ext_resource type="Resource" uid="uid://bv40lrpi3831d" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Default - GamePad.tres" id="10_ctjju"] [ext_resource type="Resource" uid="uid://ch5nsa6yafs5l" path="res://addons/rokojori_action_library/Runtime/Time/TimeLines/GameTime.tres" id="10_qfrgw"] [ext_resource type="Resource" uid="uid://h6oi6vkj4c2m" path="res://addons/rokojori_action_library/Runtime/Time/TimeLines/RealTime.tres" id="11_sl01w"] +[ext_resource type="AudioStream" uid="uid://0ws120darbw0" path="res://Audio/Music/WinterTales - New Bells.ogg" id="12_06wgu"] [ext_resource type="Script" uid="uid://dsbph60xvjkaw" path="res://addons/rokojori_action_library/Runtime/Audio/AudioManager/AudioManager.cs" id="12_d1bft"] [ext_resource type="Script" uid="uid://cylo4w2wfqxd1" path="res://addons/rokojori_action_library/Runtime/Audio/AudioManager/AudioManagerData.cs" id="13_rd5ln"] +[ext_resource type="Resource" uid="uid://d1ubyl1qt3nng" path="res://Character/Player Position Shader Property.tres" id="14_dis6l"] [ext_resource type="Script" uid="uid://cvmdx3bhq0i81" path="res://addons/rokojori_action_library/Runtime/Rendering/RenderingManager.cs" id="14_h0lbo"] +[ext_resource type="Script" uid="uid://bhq3wuoierkuq" path="res://addons/rokojori_action_library/Runtime/Shading/Properties/Properties/Vector3Property.cs" id="15_dis6l"] [ext_resource type="Script" uid="uid://db21mjsel81fj" path="res://addons/rokojori_action_library/Runtime/Rendering/RenderingManagerData.cs" id="15_n3ovv"] [ext_resource type="Script" uid="uid://bubc2xm3er1rw" path="res://addons/rokojori_action_library/Runtime/Cameras/CameraSetupIcon.cs" id="16_ctjju"] [ext_resource type="Script" uid="uid://dqgh1ba6suibb" path="res://addons/rokojori_action_library/Runtime/Actions/OnTick.cs" id="16_vo330"] [ext_resource type="Script" uid="uid://b64ylf5cx2514" path="res://addons/rokojori_action_library/Runtime/Cameras/CameraManager.cs" id="17_j7lf3"] +[ext_resource type="Script" uid="uid://cabo4a0q18w2o" path="res://addons/rokojori_action_library/Runtime/Shading/Properties/Properties/FloatProperty.cs" id="17_p5agv"] [ext_resource type="Script" uid="uid://cln7p47awviht" path="res://Utilities/PostProcessingHack.cs" id="17_vo330"] +[ext_resource type="Resource" uid="uid://bssrxwasqgpbd" path="res://addons/rokojori_action_library/Runtime/Physics/Wind/Properties/rj_GlobalWind.tres" id="18_2750v"] +[ext_resource type="Resource" uid="uid://b5gc2rsdvb8x1" path="res://Character/Smoothed Player Position Shader Property.tres" id="18_b71pn"] [ext_resource type="Script" uid="uid://bjo1usdu525m" path="res://addons/rokojori_action_library/Runtime/Sensors/KeySensor.cs" id="18_dk6jw"] -[ext_resource type="Script" uid="uid://bjxayoleund83" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearSimple/TemporalSmearSimpleEffect.cs" id="19_1ajtf"] [ext_resource type="Script" uid="uid://dna13qop6b0na" path="res://addons/rokojori_action_library/Runtime/Cameras/CameraSlot.cs" id="19_nrysi"] [ext_resource type="Script" uid="uid://bgiluy6xgcvb0" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Vignette/VignetteEffect.cs" id="20_jkd0a"] +[ext_resource type="Script" uid="uid://3e3n1jav7rh2" path="res://addons/rokojori_action_library/Runtime/Shading/Properties/Properties/SetGlobalVector3PropertyFromNode.cs" id="23_524ac"] +[ext_resource type="Script" uid="uid://bkcgo0ho1x6ju" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Rim/RimEffect.cs" id="23_rpmi0"] [ext_resource type="Script" uid="uid://bbrqjqs6dc1hy" path="res://addons/rokojori_action_library/Runtime/Cameras/EditorCamera/EditorCamera.cs" id="23_yr58t"] [ext_resource type="Script" uid="uid://crygvwrg2uvvk" path="res://addons/rokojori_action_library/Runtime/Cameras/CameraTypes/ThirdPersonCamera/ThirdPersonCamera.cs" id="24_ntqly"] +[ext_resource type="Script" uid="uid://cl36x2jgfuypo" path="res://addons/rokojori_action_library/Runtime/Actions/OnProcess.cs" id="25_bm7sa"] [ext_resource type="Script" uid="uid://d3d6yud11325f" path="res://addons/rokojori_action_library/Runtime/Sensors/DeviceFilters/DefaultSensorDeviceSelector.cs" id="25_rd5ln"] +[ext_resource type="Script" uid="uid://ljinskwo4rsc" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Pixelation/PixelationEffect.cs" id="26_412gp"] [ext_resource type="Resource" uid="uid://d05w143o644d3" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Right-Joystick Right +X.tres" id="26_h0lbo"] +[ext_resource type="Script" uid="uid://4hkiet2dxff4" path="res://addons/rokojori_action_library/Runtime/Physics/Wind/WindManager.cs" id="27_celbq"] [ext_resource type="Resource" uid="uid://b16mtcrpm1f6i" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Right-Joystick Left -X.tres" id="27_n3ovv"] +[ext_resource type="Script" uid="uid://dqsxgtt4e6vwu" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/BoxBlur/BoxBlurEffect.cs" id="27_ubijs"] +[ext_resource type="Script" uid="uid://bekhujf301q48" path="res://addons/rokojori_action_library/Runtime/Actions/Node3D/CopyYaw.cs" id="27_vnoge"] +[ext_resource type="Resource" uid="uid://cbiy1b6ify6lh" path="res://addons/rokojori_action_library/Runtime/Physics/Wind/Properties/rj_GlobalWindDirection.tres" id="28_6q7o7"] [ext_resource type="Script" uid="uid://8b4s4nw4heif" path="res://addons/rokojori_action_library/Runtime/Cameras/CameraTypes/ThirdPersonCamera/ThirdPersonCameraData.cs" id="28_ctjju"] +[ext_resource type="Resource" uid="uid://cqw5ebx5oq2p0" path="res://addons/rokojori_action_library/Runtime/Physics/Wind/Properties/rj_GlobalWindPositionClose.tres" id="29_6q7o7"] [ext_resource type="Resource" uid="uid://6emg8n3qxhlv" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Right-Joystick Down +Y.tres" id="29_j7lf3"] [ext_resource type="Resource" uid="uid://ck7woerh7mhp" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Right-Joystick Up -Y.tres" id="30_dk6jw"] +[ext_resource type="Resource" uid="uid://bffjivxr8u7wy" path="res://addons/rokojori_action_library/Runtime/Physics/Wind/Properties/rj_GlobalWindSpeed.tres" id="30_jdant"] +[ext_resource type="Resource" uid="uid://qm0sg1s8xaox" path="res://addons/rokojori_action_library/Runtime/Physics/Wind/Properties/rj_GlobalWindPositionFar.tres" id="30_q6b7k"] +[ext_resource type="Script" uid="uid://10mh4s2cbrwu" path="res://addons/rokojori_action_library/Runtime/Physics/Wind/WindManagerData.cs" id="31_goqji"] [ext_resource type="Resource" uid="uid://bu7t2i36n7m2x" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Mouse/Mouse-Motion Left.tres" id="31_nrysi"] +[ext_resource type="Curve" uid="uid://dhaky16xvyxnm" path="res://Utilities/Ease Curve.tres" id="31_t2h31"] +[ext_resource type="Script" uid="uid://bqtjbr3babvd2" path="res://addons/rokojori_action_library/Runtime/Physics/Wind/Speed/TextureKMHWindSpeed.cs" id="32_gwq84"] [ext_resource type="Resource" uid="uid://cljc42e8pggxc" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Mouse/Mouse-Motion Right.tres" id="32_jkd0a"] +[ext_resource type="Script" uid="uid://2ljfg1gg0jkf" path="res://Utilities/Testing/TweenPixels.cs" id="32_ubijs"] [ext_resource type="Resource" uid="uid://dtfgwd1wlk344" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Mouse/Mouse-Motion Down.tres" id="33_4h55j"] [ext_resource type="Resource" uid="uid://u6sevemw8cyi" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Mouse/Mouse-Motion Up.tres" id="34_e5f4v"] [ext_resource type="Script" uid="uid://lhuuedx87rem" path="res://addons/rokojori_action_library/Runtime/Animation/Smoothing/FrameSmoothing.cs" id="35_yr58t"] [ext_resource type="Script" uid="uid://cguitqskambdb" path="res://addons/rokojori_action_library/Runtime/Cameras/CameraTypes/ThirdPersonCamera/ThirdPersonCameraSettings.cs" id="36_ntqly"] +[ext_resource type="Resource" uid="uid://dp57o0ykhkqfj" path="res://addons/rokojori_action_library/Runtime/UI/UI-Settings-Default.tres" id="38_rpmi0"] [ext_resource type="Script" uid="uid://de26c4war5vu1" path="res://addons/rokojori_action_library/Runtime/Interactions/CharacterController/CharacterController.cs" id="39_j7lf3"] +[ext_resource type="Script" uid="uid://c2hicupu28nbi" path="res://addons/rokojori_action_library/Runtime/UI/Nodes/UIRegion.cs" id="39_ji1pb"] [ext_resource type="Script" uid="uid://1hkbhneuwqvf" path="res://addons/rokojori_action_library/Runtime/GameObjects/GameObject.cs" id="40_dk6jw"] [ext_resource type="Script" uid="uid://bwog1ah37vltn" path="res://addons/rokojori_action_library/Runtime/Interactions/CharacterController/GroundReset.cs" id="40_fd6ib"] [ext_resource type="Script" uid="uid://cvpseyll6lrh5" path="res://addons/rokojori_action_library/Runtime/Actions/Node3D/CopyPositionXZ.cs" id="40_getpf"] [ext_resource type="PackedScene" uid="uid://bg8ypdl6k85ri" path="res://GameObjects/Forest-Group/Forest Group.tscn" id="40_gmaup"] -[ext_resource type="PackedScene" uid="uid://bbyo1043h1g2w" path="res://assets/kenney_holiday-kit/Models/GLB format/present-a-rectangle.glb" id="40_hvsi2"] [ext_resource type="Script" uid="uid://ddhwhwos5kkrm" path="res://addons/rokojori_action_library/Runtime/Time/Duration/SecondsDuration.cs" id="40_uqrk0"] +[ext_resource type="Script" uid="uid://cnkyynboxg1qg" path="res://addons/rokojori_action_library/Runtime/UI/Styling/UINumber.cs" id="40_ytrvj"] [ext_resource type="PackedScene" uid="uid://c8qagqph7010b" path="res://assets/kenney_holiday-kit/Models/GLB format/snow-bunker.glb" id="41_1ajtf"] -[ext_resource type="Texture2D" uid="uid://buxiivhd40i86" path="res://GameObjects/Snow/snow-flake.png" id="41_gk02k"] +[ext_resource type="Script" uid="uid://dlu21piejg7w0" path="res://addons/rokojori_action_library/Runtime/UI/Shaders/RoundedRectangle/RoundedRectangleMaterial.cs" id="41_4el3b"] [ext_resource type="PackedScene" uid="uid://bb7srn18pysr7" path="res://assets/rokojori-houses/mountains.gltf" id="41_v3kle"] [ext_resource type="Script" uid="uid://df7kaqvmnho05" path="res://addons/rokojori_action_library/Runtime/Interactions/CharacterController/CharacterMovement.cs" id="41_vo330"] [ext_resource type="Resource" uid="uid://c5ueac4xt7oyb" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Move Back.tres" id="42_ewqk5"] [ext_resource type="Script" uid="uid://bq56bfytlbxq7" path="res://addons/rokojori_action_library/Runtime/GameObjects/GameObject3D.cs" id="42_g5ygy"] +[ext_resource type="Shader" uid="uid://x1a008jxt3ej" path="res://addons/rokojori_action_library/Runtime/UI/Shaders/RoundedRectangle/RoundedRectangle.gdshader" id="42_npu10"] [ext_resource type="PackedScene" uid="uid://dq6anegy5hrjn" path="res://GameObjects/Latern/Latern.tscn" id="42_ruj5i"] [ext_resource type="Script" uid="uid://wgn1jn36geuy" path="res://addons/rokojori_action_library/Runtime/Interactions/CharacterController/Gravity.cs" id="42_vo330"] [ext_resource type="PackedScene" uid="uid://mv3akeh8jdse" path="res://assets/KayKit_DungeonRemastered_1.1_FREE/Assets/gltf/crates_stacked.gltf" id="43_fqgfq"] [ext_resource type="Texture2D" uid="uid://c31r03k3ulqjc" path="res://assets/kenney_holiday-kit/Models/GLB format/Textures/colormap.png" id="43_h5qu5"] +[ext_resource type="Texture2D" uid="uid://1u5uhrctxlih" path="res://Character/Hearts/heart-fill-shape.png" id="43_jrdb7"] [ext_resource type="PackedScene" uid="uid://b2jffb86fmp1r" path="res://assets/kenney_holiday-kit/Models/GLB format/lights-colored.glb" id="43_mql5u"] [ext_resource type="Texture2D" uid="uid://bbdtrr2a72fly" path="res://assets/rokojori-houses/village-center.png" id="43_pld03"] [ext_resource type="PackedScene" uid="uid://b8qire5fyp732" path="res://assets/kenney_holiday-kit/Models/GLB format/lantern-hanging.glb" id="43_rwf7d"] [ext_resource type="Resource" uid="uid://mbnb46tah4i7" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Move Forward.tres" id="43_ytmp3"] +[ext_resource type="Script" uid="uid://bx0bk663u3hj5" path="res://addons/rokojori_action_library/Runtime/UI/Nodes/UIImage.cs" id="44_kqgb3"] [ext_resource type="Script" uid="uid://b37sjsfvphc8b" path="res://addons/rokojori_action_library/Runtime/Interactions/CharacterController/CharacterMovements/StrafeMovementType.cs" id="44_yb73r"] -[ext_resource type="Texture2D" uid="uid://byeibbwgfedmd" path="res://assets/rokojori-houses/door.png" id="45_e8plc"] +[ext_resource type="Script" uid="uid://c4s7kbtpirx6b" path="res://addons/rokojori_action_library/Runtime/Animation/Wipe/Wipe.cs" id="45_loqre"] +[ext_resource type="Script" uid="uid://drqb0pm5ub64g" path="res://addons/rokojori_action_library/Runtime/UI/Styling/UIColor.cs" id="45_p0sg1"] [ext_resource type="Resource" uid="uid://bfxeh1y1vgkiu" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Strafe Left.tres" id="45_v4k1o"] [ext_resource type="Texture2D" uid="uid://c8owbl4funmli" path="res://assets/rokojori-houses/wall.png" id="46_cunny"] +[ext_resource type="Script" uid="uid://dwuimn03cvh3" path="res://addons/rokojori_action_library/Runtime/UI/Nodes/UIImageTypes/RoundedRectangleUIImageType.cs" id="46_er746"] +[ext_resource type="Script" uid="uid://cn05bqaq15tty" path="res://addons/rokojori_action_library/Runtime/Animation/Wipe/WipeSettings.cs" id="46_jhmds"] +[ext_resource type="Script" uid="uid://dcwqfprd63q28" path="res://addons/rokojori_action_library/Runtime/Animation/Wipe/WipeEffects/NoiseWipe.cs" id="46_mseeg"] [ext_resource type="Resource" uid="uid://bm2d6nhevcjel" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Strafe Right.tres" id="46_p2tm2"] [ext_resource type="Script" uid="uid://bw5ivesxk1mgg" path="res://addons/rokojori_action_library/Runtime/Interactions/CharacterController/MoveAndSlide.cs" id="47_hvsi2"] +[ext_resource type="Script" uid="uid://bgxhp10trrmcc" path="res://addons/rokojori_action_library/Runtime/Animation/Wipe/WipeEffects/CircleWipe.cs" id="47_mseeg"] +[ext_resource type="Script" uid="uid://ccehwb78kb6oo" path="res://addons/rokojori_action_library/Runtime/Animation/Wipe/WipeEffects/InOutWipe.cs" id="47_pv02u"] [ext_resource type="Texture2D" uid="uid://cdn5e5nc2qo6s" path="res://assets/rokojori-houses/wall-with-window.png" id="47_xa56p"] +[ext_resource type="Texture2D" uid="uid://bvbq8a0j2ou85" path="res://Character/Hearts/heart-outline-shape.png" id="47_yk3hl"] [ext_resource type="Texture2D" uid="uid://c3mowfwn56wed" path="res://assets/rokojori-houses/roof.png" id="48_e8plc"] [ext_resource type="Resource" uid="uid://cyyy0ycusgil3" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Left-Joystick Down +Y.tres" id="48_p2tm2"] +[ext_resource type="Script" uid="uid://dm4i0s67kio5v" path="res://addons/rokojori_action_library/Runtime/Actions/Visual/TweenFloat.cs" id="48_pp0bs"] +[ext_resource type="Script" uid="uid://cvy3dkicaoqnj" path="res://addons/rokojori_action_library/Runtime/Animation/Wipe/WipeEffects/DirectionalWipe.cs" id="49_412gp"] [ext_resource type="Resource" uid="uid://dbha8dmhxgm05" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Left-Joystick Up -Y.tres" id="49_hvsi2"] [ext_resource type="PackedScene" uid="uid://cjxg5dpwqjb5c" path="res://assets/kenney_holiday-kit/Models/GLB format/bench.glb" id="49_wxqep"] -[ext_resource type="Texture2D" uid="uid://cmcm5evl0ifj3" path="res://assets/rokojori-houses/bush.png" id="49_xa56p"] [ext_resource type="Resource" uid="uid://5gnh5dmv1p21" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Left-Joystick Left -X.tres" id="50_1ajtf"] [ext_resource type="Texture2D" uid="uid://bs28luuyuhx3n" path="res://assets/rokojori-houses/flower-bush.png" id="50_getpf"] [ext_resource type="Resource" uid="uid://dsrf03g6mgu5t" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Left-Joystick Right +X.tres" id="51_cdcpq"] [ext_resource type="Texture2D" uid="uid://bsbq4t1i0g05l" path="res://assets/rokojori-houses/wall-with-lit-window.png" id="51_enjti"] [ext_resource type="Texture2D" uid="uid://ep7ux8k21bl" path="res://assets/rokojori-houses/wall-with-lit-window-emission.png" id="52_gk02k"] -[ext_resource type="Texture2D" uid="uid://bl17xgoso2lyu" path="res://assets/rokojori-houses/roof-2.png" id="52_s6flo"] +[ext_resource type="Script" uid="uid://bbubpsnpa3lq0" path="res://UI/GameUI.cs" id="54_7fsef"] [ext_resource type="Texture2D" uid="uid://byre7jj33qtuu" path="res://assets/rokojori-houses/ivy-1.png" id="54_ap2uv"] [ext_resource type="Script" uid="uid://dykyfwv0qjcbn" path="res://addons/rokojori_action_library/Runtime/Animation/AnimationTree/SetAnimationTreeBool.cs" id="54_cdcpq"] +[ext_resource type="Script" uid="uid://cyicertlwo4m0" path="res://addons/rokojori_action_library/Runtime/Actions/Audio/PlayMusic.cs" id="54_gla4y"] [ext_resource type="PackedScene" uid="uid://bcq7cy8rsymfp" path="res://Character/Hoody Hood/Hoody Hood.tscn" id="54_p2tm2"] -[ext_resource type="Texture2D" uid="uid://lan26wjpar23" path="res://assets/rokojori-houses/roof-spiky.png" id="55_12vd0"] -[ext_resource type="Texture2D" uid="uid://bb6nx70pacf1y" path="res://assets/rokojori-houses/yellow-bush.png" id="55_730hx"] [ext_resource type="Texture2D" uid="uid://cj2by6thadhc2" path="res://assets/rokojori-houses/ivy-2.png" id="55_s6flo"] +[ext_resource type="Material" uid="uid://b24lh737lun5h" path="res://UI/Map/Map Buildings Primary Square.tres" id="56_er746"] [ext_resource type="Texture2D" uid="uid://d3a6jx4b5te68" path="res://assets/rokojori-houses/beet.png" id="56_mql5u"] -[ext_resource type="Texture2D" uid="uid://clumyx1oqlhbu" path="res://assets/rokojori-houses/door-closed.png" id="56_y7gwn"] +[ext_resource type="Script" uid="uid://bwq7e6cx2oy8n" path="res://addons/rokojori_action_library/Runtime/Interactions/CharacterController/Conditions/CharacterIsMoving.cs" id="56_p5agv"] +[ext_resource type="Material" uid="uid://b5fpd1257bng8" path="res://UI/Map/Map Buildings Secondary Circle.tres" id="56_yk3hl"] +[ext_resource type="PackedScene" uid="uid://bxkp71wpnfu0x" path="res://UI/Collectables/Collectable Label.tscn" id="65_nlcvw"] [ext_resource type="PackedScene" uid="uid://bvffeq7sqvrwk" path="res://assets/KayKit_DungeonRemastered_1.1_FREE/Assets/gltf/table_long.gltf" id="68_pld03"] +[ext_resource type="Script" uid="uid://dj6f8ie4bmaim" path="res://addons/rokojori_action_library/Runtime/Actions/Conditional/ConditionalAction.cs" id="70_q0f75"] +[ext_resource type="Script" uid="uid://cwjgw33krmh11" path="res://addons/rokojori_action_library/Runtime/Time/Duration/BeatsDuration.cs" id="71_4wsps"] +[ext_resource type="AudioStream" uid="uid://dltk1xw3s35qw" path="res://Audio/Sounds/Foot Steps/WinterTales - FootSteps.ogg" id="72_dis6l"] +[ext_resource type="Resource" uid="uid://daivy2l77st5v" path="res://GameObjects/Collectable-Collisions.tres" id="72_jguvn"] [ext_resource type="Script" uid="uid://kodskdb1mcd4" path="res://addons/rokojori_action_library/Runtime/Interactions/CharacterController/CharacterMovements/TurnMovementType.cs" id="76_12vd0"] +[ext_resource type="Resource" uid="uid://dfqc5ainuim21" path="res://Character/Player-Collector.tres" id="77_7drkg"] +[ext_resource type="Script" uid="uid://c01nqtwmfostx" path="res://addons/rokojori_action_library/Runtime/GameObjects/Variables/Int/IntVariable.cs" id="77_xoywq"] +[ext_resource type="Resource" uid="uid://d0k8ig2sum1fk" path="res://GameObjects/Present/Present-Collectable.tres" id="78_7drkg"] +[ext_resource type="Script" uid="uid://cd0ikdsdhutn0" path="res://addons/rokojori_action_library/Runtime/Actions/RJLogMessage.cs" id="79_dj82f"] +[ext_resource type="Script" uid="uid://xnupkyu3042b" path="res://addons/rokojori_action_library/Runtime/Interactions/Collider.cs" id="80_3rj3l"] +[ext_resource type="Resource" uid="uid://be5fa1myu3tqs" path="res://Character/Variables/Present-Class.tres" id="80_xkggh"] +[ext_resource type="Script" uid="uid://ctgt20fqo2wqg" path="res://Character/Variables/CollectItem.cs" id="82_nlcvw"] +[ext_resource type="Script" uid="uid://ccfk70dpt7r7r" path="res://addons/rokojori_action_library/Runtime/Interactions/Collecting/Collector.cs" id="83_3o18d"] +[ext_resource type="Script" uid="uid://dxra6jao22it4" path="res://addons/rokojori_action_library/Runtime/Actions/ActionReference.cs" id="88_hq3bi"] [ext_resource type="Script" uid="uid://88u2lx0pssal" path="res://addons/rokojori_action_library/Runtime/Sensors/OnSensor.cs" id="88_nh6ww"] [ext_resource type="Shader" uid="uid://b1h1fpt7uuv1h" path="res://Character/Hoody Hood/FresnelGlow.gdshader" id="88_p8ds5"] [ext_resource type="Script" uid="uid://2gudnu1r4pjg" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/SpatialShaderGenerator.cs" id="89_5o8m6"] [ext_resource type="Resource" uid="uid://dffkdky8iowro" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button A, PS Cross, Nin B.tres" id="89_pgnem"] +[ext_resource type="Script" uid="uid://ddgf2mfdmqywc" path="res://addons/rokojori_action_library/Runtime/Actions/Node3D/PlaySound.cs" id="90_3rj3l"] [ext_resource type="Script" uid="uid://b4yjsis2fh64c" path="res://addons/rokojori_action_library/Runtime/Actions/ActionList.cs" id="90_5p3uc"] +[ext_resource type="Script" uid="uid://nfn3x4l7pcob" path="res://addons/rokojori_action_library/Runtime/Interactions/Collecting/OnCollected.cs" id="90_aiyui"] [ext_resource type="Script" uid="uid://cxev8s3qvg8sq" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Albedo/AlbedoModule.cs" id="90_f6yaf"] [ext_resource type="Script" uid="uid://8a10in76h56n" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Alpha/AlphaModule.cs" id="91_2jvpv"] +[ext_resource type="Script" uid="uid://b3ipr2fudbgyu" path="res://addons/rokojori_action_library/Runtime/Interactions/Collecting/CollectableTypeGroup.cs" id="91_dj82f"] [ext_resource type="Script" uid="uid://ceaglilesxsi4" path="res://addons/rokojori_action_library/Runtime/Actions/ActionSequence.cs" id="91_vgxo8"] [ext_resource type="Script" uid="uid://dpkfvftsk23we" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Fading/Fresnel/FresnelFading.cs" id="92_f4eun"] [ext_resource type="Script" uid="uid://b2g7rycr0ouu4" path="res://addons/rokojori_action_library/Runtime/Actions/Time/Delay.cs" id="92_tr1d7"] [ext_resource type="Script" uid="uid://cuqknlygn6vxe" path="res://addons/rokojori_action_library/Runtime/Interactions/CharacterController/Actions/SetCharacterControllerAction.cs" id="92_vgxo8"] +[ext_resource type="AudioStream" uid="uid://b5uyb53maa0t1" path="res://Audio/Sounds/Collecting/WinterTales - Collect SFX.ogg" id="93_f80vp"] [ext_resource type="Script" uid="uid://bqk5po80nylsk" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Fading/FadingModule.cs" id="93_qrr03"] [ext_resource type="Script" uid="uid://drc5hdnwme7be" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Geometry/GeometryModule.cs" id="94_xwk5p"] [ext_resource type="Script" uid="uid://yoc4tx8ahe6b" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Masks/SpatialMasksModule.cs" id="95_hkpmc"] @@ -111,17 +162,74 @@ [ext_resource type="Script" uid="uid://ckstqai24gfu2" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Transparency/TransparencyModule.cs" id="103_7drkg"] [ext_resource type="Script" uid="uid://7kmku6bld3yt" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/UV/UVScaleOffset.cs" id="104_xkggh"] [ext_resource type="Script" uid="uid://mcu62dbrsoeh" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/UV/UVChannel.cs" id="105_3o18d"] +[ext_resource type="Material" uid="uid://dq5n1bg0tlqvg" path="res://Character/Character.material" id="106_oi8o8"] [ext_resource type="Script" uid="uid://ibhf7a1j2ivl" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/UV/UVSource/MeshUVSource.cs" id="106_xoywq"] [ext_resource type="Script" uid="uid://ocri03glwwv7" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/UV/UVModule.cs" id="107_aiyui"] [ext_resource type="Script" uid="uid://7bnmdhvno7ua" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Varyings/SpatialVarying.cs" id="108_dj82f"] [ext_resource type="Script" uid="uid://b8entq7j3pe3i" path="res://addons/rokojori_action_library/Runtime/Actions/Visual/TweenFloatShaderProperty.cs" id="115_f6yaf"] [ext_resource type="Script" uid="uid://jqgdm3r2u8xq" path="res://addons/rokojori_action_library/Runtime/Shading/Properties/FloatPropertyName.cs" id="116_2jvpv"] +[ext_resource type="Shader" uid="uid://dqj2sqbyq5qoh" path="res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/EllipseFlare/EllipseFlareMix.gdshader" id="123_2750v"] +[ext_resource type="Shader" uid="uid://d05sj7il0tvf" path="res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/EllipseFlare/EllipseFlareAdd.gdshader" id="124_txdr1"] +[ext_resource type="Script" uid="uid://c3c8limywowjv" path="res://addons/rokojori_action_library/Runtime/Procedural/Parametric/Spline/Spline.cs" id="125_yttar"] +[ext_resource type="Script" uid="uid://0wmpolvwadsu" path="res://addons/rokojori_action_library/Runtime/Procedural/Parametric/Spline/SplinePoint.cs" id="126_celbq"] +[ext_resource type="Script" uid="uid://c8svnb3mhfoe7" path="res://addons/rokojori_action_library/Runtime/Procedural/Scatter/Generators/GenerateFence.cs" id="127_yttar"] +[ext_resource type="Script" uid="uid://dma6i63t4myyu" path="res://addons/rokojori_action_library/Runtime/Procedural/Scatter/Generators/GeneratorEntry.cs" id="128_celbq"] +[ext_resource type="PackedScene" uid="uid://dfqfl8iqjfb2h" path="res://GameObjects/Fence/Segment.tscn" id="128_gla4y"] +[ext_resource type="Texture2D" uid="uid://gcffm2ofbvw4" path="res://Character/Foot Steps/foot-step-albedo-l.png" id="128_rp6gr"] +[ext_resource type="Texture2D" uid="uid://bjih5o0et5l1a" path="res://Character/Foot Steps/foot-step-normal-l.png" id="129_205s3"] +[ext_resource type="PackedScene" uid="uid://dbymw68tg0w2g" path="res://GameObjects/Fence/Pole.tscn" id="129_y6wps"] +[ext_resource type="Texture2D" uid="uid://xr1eic8t8v71" path="res://Character/Foot Steps/foot-step-albedo-r.png" id="130_205s3"] +[ext_resource type="Script" uid="uid://de0te7x7feran" path="res://Character/Foot Steps/FootSteps.cs" id="130_b71pn"] +[ext_resource type="Texture2D" uid="uid://du3nk2ko48qq6" path="res://Character/Foot Steps/foot-step-normal-r.png" id="131_b71pn"] +[ext_resource type="Material" uid="uid://5ck45e318x42" path="res://Main/Snow.material" id="144_jdant"] +[ext_resource type="Material" uid="uid://cy50g2213al6b" path="res://GameObjects/Ground/Ground.material" id="145_jdant"] +[ext_resource type="Texture2D" uid="uid://snaptjpwvmdn" path="res://assets/rokojori-houses/bush-cover.png" id="151_txdr1"] +[ext_resource type="Material" uid="uid://clba0ob51hayq" path="res://UI/Map/Map Player Arrow.tres" id="152_31pys"] +[ext_resource type="Material" uid="uid://corl7v1lydilm" path="res://UI/Map/Map Player Camera.tres" id="153_bm7sa"] +[ext_resource type="PackedScene" uid="uid://beh68ly34coau" path="res://GameObjects/Pink Bush/Pink Bush.tscn" id="158_y6wps"] +[ext_resource type="Material" uid="uid://bdjtva08iu7oy" path="res://GameObjects/Roof/Roof Spiky.material" id="160_yttar"] +[ext_resource type="PackedScene" uid="uid://dawxe3jm1j1ei" path="res://GameObjects/Present/Present.tscn" id="161_06wgu"] +[ext_resource type="Material" uid="uid://1h5s2dr4bpx6" path="res://GameObjects/Foliage/Bush Material.tres" id="161_nfrna"] +[ext_resource type="Material" uid="uid://cjs7bg75sj6ta" path="res://GameObjects/Roof/Roof 2.material" id="162_celbq"] +[ext_resource type="Material" uid="uid://cankc44hv7xty" path="res://GameObjects/Foliage/Flower Bush Material.tres" id="162_p5agv"] +[ext_resource type="Material" uid="uid://hywkjwj42o84" path="res://GameObjects/House/Wall.material" id="167_jdant"] +[ext_resource type="Material" uid="uid://dtw4ddi30iu7j" path="res://GameObjects/Roof/Roof.material" id="168_6q7o7"] +[ext_resource type="Material" uid="uid://bx6p3jsh7wr0p" path="res://GameObjects/House/Lit Window.material" id="168_celbq"] +[ext_resource type="Material" uid="uid://bnh44ev42utw3" path="res://GameObjects/House/Unlit Window.material" id="168_goqji"] +[ext_resource type="Material" uid="uid://yrhb27byy0my" path="res://GameObjects/House/Door Closed.material" id="169_q6b7k"] +[ext_resource type="Material" uid="uid://diveiji4bcbii" path="res://GameObjects/House/Round Entry.material" id="170_gwq84"] +[ext_resource type="Material" uid="uid://bpfoudhn8rngn" path="res://GameObjects/Foliage/Yellow Bush.material" id="184_42ic2"] [sub_resource type="Resource" id="Resource_ytmp3"] script = ExtResource("13_rd5ln") +[sub_resource type="Resource" id="Resource_23vqh"] +script = ExtResource("15_dis6l") +propertyName = ExtResource("14_dis6l") +value = Vector3(7.6307917, -0.14941612, 28.152328) +metadata/_custom_type_script = "uid://bhq3wuoierkuq" + +[sub_resource type="Resource" id="Resource_412gp"] +script = ExtResource("15_dis6l") +propertyName = ExtResource("18_b71pn") +value = Vector3(0.2355, 0, 0) +metadata/_custom_type_script = "uid://bhq3wuoierkuq" + +[sub_resource type="Resource" id="Resource_celbq"] +script = ExtResource("116_2jvpv") +propertyName = "globalSnowAmount" +metadata/_custom_type_script = "uid://jqgdm3r2u8xq" + +[sub_resource type="Resource" id="Resource_6q7o7"] +script = ExtResource("17_p5agv") +propertyName = SubResource("Resource_celbq") +value = 0.6225 +metadata/_custom_type_script = "uid://cabo4a0q18w2o" + [sub_resource type="Resource" id="Resource_yb73r"] script = ExtResource("15_n3ovv") +globalShaderPropertyBlocks = [ExtResource("18_2750v")] +globalShaderProperties = [SubResource("Resource_23vqh"), SubResource("Resource_412gp"), SubResource("Resource_6q7o7")] [sub_resource type="Resource" id="Resource_vwon7"] script = ExtResource("40_uqrk0") @@ -137,22 +245,152 @@ effect_callback_type = 4 needs_motion_vectors = false needs_normal_roughness = false script = ExtResource("20_jkd0a") -radius = 0.2669 +radius = 0.5044 power = 0.6125 offset = 1.2295 info = "constants: size:6 internalSize:6 bytes:32 floats:6 ints:0" -[sub_resource type="CompositorEffect" id="CompositorEffect_ruj5i"] +[sub_resource type="CompositorEffect" id="CompositorEffect_31pys"] +resource_local_to_scene = false +resource_name = "" +enabled = true +effect_callback_type = 1 +access_resolved_color = false +access_resolved_depth = false +needs_motion_vectors = false +needs_normal_roughness = false +script = ExtResource("23_rpmi0") +effectStrength = 3.0 +rimOffsetX = 0.0 +rimOffsetY = -3.0 +minDepth = 0.3806 +depthScale = 194.1054 +depthOffset = 0.6 +contrast = 1000.0 +metadata/_custom_type_script = "uid://bkcgo0ho1x6ju" + +[sub_resource type="CompositorEffect" id="CompositorEffect_dq7d0"] resource_local_to_scene = false resource_name = "" enabled = true effect_callback_type = 4 needs_motion_vectors = false needs_normal_roughness = false -script = ExtResource("19_1ajtf") -amount = 0.2 -smearingFrames = 6.0 -metadata/_custom_type_script = "uid://bjxayoleund83" +script = ExtResource("26_412gp") +pixelSizePower = 2.0 +metadata/_custom_type_script = "uid://ljinskwo4rsc" + +[sub_resource type="CompositorEffect" id="CompositorEffect_tdk3c"] +resource_local_to_scene = false +resource_name = "" +enabled = true +effect_callback_type = 4 +needs_motion_vectors = false +needs_normal_roughness = false +script = ExtResource("27_ubijs") +intensity = 0.0 +noise = 33.8028 +kernelOffset = 4 +iterations = 3 +metadata/_custom_type_script = "uid://dqsxgtt4e6vwu" + +[sub_resource type="Resource" id="Resource_t2h31"] +script = ExtResource("35_yr58t") +frames = 120.0 +metadata/_custom_type_script = "uid://lhuuedx87rem" + +[sub_resource type="CapsuleMesh" id="CapsuleMesh_b71pn"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_42ic2"] +transparency = 1 +blend_mode = 1 +shading_mode = 0 +albedo_color = Color(1, 0, 0, 0.5176471) + +[sub_resource type="CompositorEffect" id="CompositorEffect_p7jqt"] +resource_local_to_scene = false +resource_name = "" +enabled = true +effect_callback_type = 4 +needs_motion_vectors = false +needs_normal_roughness = false +script = ExtResource("20_jkd0a") +radius = 0.5044 +power = 0.6125 +offset = 1.2295 +info = "constants: size:6 internalSize:6 bytes:32 floats:6 ints:0" + +[sub_resource type="CompositorEffect" id="CompositorEffect_ioimv"] +resource_local_to_scene = false +resource_name = "" +enabled = true +effect_callback_type = 1 +access_resolved_color = false +access_resolved_depth = false +needs_motion_vectors = false +needs_normal_roughness = false +script = ExtResource("23_rpmi0") +effectStrength = 3.0 +rimOffsetX = 0.0 +rimOffsetY = -3.0 +minDepth = 0.3806 +depthScale = 194.1054 +depthOffset = 0.6 +contrast = 1000.0 +metadata/_custom_type_script = "uid://bkcgo0ho1x6ju" + +[sub_resource type="CompositorEffect" id="CompositorEffect_q8n2a"] +resource_local_to_scene = false +resource_name = "" +enabled = true +effect_callback_type = 4 +needs_motion_vectors = false +needs_normal_roughness = false +script = ExtResource("26_412gp") +pixelSizePower = 2.0 +metadata/_custom_type_script = "uid://ljinskwo4rsc" + +[sub_resource type="CompositorEffect" id="CompositorEffect_aa62o"] +resource_local_to_scene = false +resource_name = "" +enabled = true +effect_callback_type = 4 +needs_motion_vectors = false +needs_normal_roughness = false +script = ExtResource("27_ubijs") +intensity = 0.0 +noise = 33.8028 +kernelOffset = 4 +iterations = 3 +metadata/_custom_type_script = "uid://dqsxgtt4e6vwu" + +[sub_resource type="Compositor" id="Compositor_6esk7"] +compositor_effects = Array[CompositorEffect]([SubResource("CompositorEffect_p7jqt"), SubResource("CompositorEffect_ioimv"), SubResource("CompositorEffect_q8n2a"), SubResource("CompositorEffect_aa62o")]) + +[sub_resource type="Resource" id="Resource_q8n2a"] +script = ExtResource("40_uqrk0") +seconds = 0.5 +timeLine = ExtResource("11_sl01w") +metadata/_custom_type_script = "uid://ddhwhwos5kkrm" + +[sub_resource type="Resource" id="Resource_aa62o"] +script = ExtResource("40_uqrk0") +seconds = 0.1 +timeLine = ExtResource("10_qfrgw") +metadata/_custom_type_script = "uid://ddhwhwos5kkrm" + +[sub_resource type="Resource" id="Resource_pv02u"] +script = ExtResource("32_gwq84") +km_hour = 25.0 + +[sub_resource type="Resource" id="Resource_pp0bs"] +script = ExtResource("31_goqji") +windSpeed = SubResource("Resource_pv02u") +globalWindPositionClosePropertyName = ExtResource("29_6q7o7") +globalWindPositionFarPropertyName = ExtResource("30_q6b7k") +globalWindDirectionPropertyName = ExtResource("28_6q7o7") +globalWindSpeeedPropertyName = ExtResource("30_jdant") +metadata/_custom_type_script = "uid://10mh4s2cbrwu" [sub_resource type="Resource" id="Resource_v4k1o"] script = ExtResource("18_dk6jw") @@ -225,37 +463,83 @@ adjustment_saturation = 1.5 dof_blur_far_distance = 35.0 dof_blur_far_transition = 50.0 dof_blur_near_enabled = true -dof_blur_near_distance = 0.2 -dof_blur_near_transition = 0.1 -dof_blur_amount = 0.05 +dof_blur_near_transition = 2.0 -[sub_resource type="CompositorEffect" id="CompositorEffect_f6yaf"] -resource_local_to_scene = false -resource_name = "" -enabled = true -effect_callback_type = 4 -needs_motion_vectors = false -needs_normal_roughness = false -script = ExtResource("20_jkd0a") -radius = 0.2669 -power = 0.6125 -offset = 1.2295 -info = "constants: size:6 internalSize:6 bytes:32 floats:6 ints:0" +[sub_resource type="Environment" id="Environment_ydkll"] +background_mode = 1 +background_color = Color(0.23524225, 0.23524225, 0.23524225, 1) +glow_blend_mode = 1 +glow_hdr_scale = 1.36 +glow_hdr_luminance_cap = 256.0 +glow_map_strength = 0.0 -[sub_resource type="CompositorEffect" id="CompositorEffect_2jvpv"] -resource_local_to_scene = false -resource_name = "" -enabled = true -effect_callback_type = 4 -needs_motion_vectors = false -needs_normal_roughness = false -script = ExtResource("19_1ajtf") -amount = 0.2 -smearingFrames = 6.0 -metadata/_custom_type_script = "uid://bjxayoleund83" +[sub_resource type="Resource" id="Resource_dq7d0"] +script = ExtResource("40_uqrk0") +seconds = 0.5 +timeLine = ExtResource("11_sl01w") +metadata/_custom_type_script = "uid://ddhwhwos5kkrm" -[sub_resource type="Compositor" id="Compositor_6esk7"] -compositor_effects = Array[CompositorEffect]([SubResource("CompositorEffect_f6yaf"), SubResource("CompositorEffect_2jvpv")]) +[sub_resource type="Gradient" id="Gradient_p7jqt"] +colors = PackedColorArray(1, 0, 0, 1, 1, 0.53257275, 0, 1) + +[sub_resource type="Resource" id="Resource_ioimv"] +script = ExtResource("46_mseeg") +noiseFrequency = 3.2359 +noiseWipeOffset = Vector2(-3, -1) +wipeGradient = SubResource("Gradient_p7jqt") +replace = 0.0 +colorize = 1.0 +metadata/_custom_type_script = "uid://dcwqfprd63q28" + +[sub_resource type="Resource" id="Resource_p7jqt"] +script = ExtResource("46_jhmds") +compositor = SubResource("Compositor_6esk7") +wipeEffect = SubResource("Resource_ioimv") +metadata/_custom_type_script = "uid://cn05bqaq15tty" + +[sub_resource type="Curve" id="Curve_vh1c2"] +_data = [Vector2(0, 0), 0.0, 3.237083, 0, 0, Vector2(1, 1), 0.114375144, 0.0, 0, 0] +point_count = 2 + +[sub_resource type="Resource" id="Resource_tdk3c"] +script = ExtResource("40_uqrk0") +seconds = 1.0 +timeLine = ExtResource("11_sl01w") +metadata/_custom_type_script = "uid://ddhwhwos5kkrm" + +[sub_resource type="Gradient" id="Gradient_aa62o"] +offsets = PackedFloat32Array(1) +colors = PackedColorArray(0, 0, 0, 1) + +[sub_resource type="Resource" id="Resource_vh1c2"] +script = ExtResource("47_mseeg") +fade = 0.007 +wipeGradient = SubResource("Gradient_aa62o") +metadata/_custom_type_script = "uid://bgxhp10trrmcc" + +[sub_resource type="Resource" id="Resource_jtfq4"] +script = ExtResource("49_412gp") +angle = 90.0 +fade = 0.008 +directionType = 1 +wipeGradient = SubResource("Gradient_aa62o") +metadata/_custom_type_script = "uid://cvy3dkicaoqnj" + +[sub_resource type="Resource" id="Resource_mk81p"] +script = ExtResource("47_pv02u") +wipeIn = SubResource("Resource_vh1c2") +wipeOut = SubResource("Resource_jtfq4") +metadata/_custom_type_script = "uid://ccehwb78kb6oo" + +[sub_resource type="Resource" id="Resource_drk6d"] +script = ExtResource("46_jhmds") +compositor = SubResource("Compositor_6esk7") +wipeEffect = SubResource("Resource_mk81p") +metadata/_custom_type_script = "uid://cn05bqaq15tty" + +[sub_resource type="Curve" id="Curve_drk6d"] +_data = [Vector2(0, 0), 0.0, -0.13647318, 0, 0, Vector2(1, 1), 2.4119198, 0.0, 0, 0] +point_count = 2 [sub_resource type="Resource" id="Resource_p2tm2"] script = ExtResource("25_rd5ln") @@ -285,7 +569,7 @@ pitchNegativeAxis = ExtResource("33_4h55j") metadata/_custom_type_script = "uid://8b4s4nw4heif" [sub_resource type="Curve" id="Curve_ruj5i"] -_data = [Vector2(0, 0.5123781), 0.0, 0.4876219, 0, 1, Vector2(1, 1), 0.4876219, 0.0, 1, 0] +_data = [Vector2(0, 0.33012462), 0.0, 0.6698754, 0, 1, Vector2(1, 1), 0.6698754, 0.0, 1, 0] point_count = 2 [sub_resource type="Resource" id="Resource_g5ygy"] @@ -296,6 +580,7 @@ script = ExtResource("35_yr58t") [sub_resource type="Resource" id="Resource_6esk7"] script = ExtResource("35_yr58t") +frames = 5.0 [sub_resource type="Resource" id="Resource_ru76s"] script = ExtResource("36_ntqly") @@ -304,838 +589,315 @@ offset = Vector3(0, 5, 3) yawSmoothing = SubResource("Resource_6esk7") pitchSmoothing = SubResource("Resource_g5ygy") deviceData = [SubResource("Resource_hvsi2"), SubResource("Resource_cdcpq")] -yawSpeed = 200.0 -relativePitchSpeed = 10.0 -minPitch = 30.0 +yawSpeed = 400.0 +relativePitchSpeed = 50.0 +minPitch = 5.0 maxPitch = 50.0 distanceForPitch = SubResource("Curve_ruj5i") distanceScale = 25.0 metadata/_custom_type_script = "uid://cguitqskambdb" -[sub_resource type="Shader" id="Shader_wxqep"] -code = "// NOTE: Shader automatically converted from Godot Engine 4.5.stable.mono's StandardMaterial3D. - -shader_type spatial; -render_mode blend_mix, depth_draw_opaque, cull_disabled, diffuse_burley, specular_schlick_ggx, unshaded; - -#include \"res://addons/rokojori_action_library/Runtime/Shading/Library/Transform.gdshaderinc\" -#include \"res://addons/rokojori_action_library/Runtime/Shading/Library/Math.gdshaderinc\" - - -uniform vec4 albedo : source_color; -uniform sampler2D texture_albedo : source_color, filter_linear_mipmap_anisotropic, repeat_enable; -uniform float alpha_scissor_thresholdClose : hint_range(0.0, 1.0, 0.001); -uniform float alpha_scissor_thresholdFar : hint_range(0.0, 1.0, 0.001); -uniform float alpha_scissor_distance : hint_range(1.0, 100.0); -uniform ivec2 albedo_texture_size; -uniform float point_size : hint_range(0.1, 128.0, 0.1); - -uniform float roughness : hint_range(0.0, 1.0); -uniform sampler2D texture_metallic : hint_default_white, filter_linear_mipmap_anisotropic, repeat_enable; -uniform vec4 metallic_texture_channel; -uniform sampler2D texture_roughness : hint_roughness_r, filter_linear_mipmap_anisotropic, repeat_enable; - -uniform float specular : hint_range(0.0, 1.0, 0.01); -uniform float metallic : hint_range(0.0, 1.0, 0.01); - -uniform vec3 uv1_scale; -uniform vec3 uv1_offset; -uniform vec3 uv2_scale; -uniform vec3 uv2_offset; -varying float alphaTreshold; - -void vertex() -{ - float cameraDistance = length( localToWorld( VERTEX, MODEL_MATRIX ) - CAMERA_POSITION_WORLD ); - alphaTreshold = mapClamped( cameraDistance, 0, alpha_scissor_distance, alpha_scissor_thresholdClose, alpha_scissor_thresholdFar ); - - UV = UV * uv1_scale.xy + uv1_offset.xy; - - // Billboard Mode: Enabled - MODELVIEW_MATRIX = VIEW_MATRIX * mat4( - MAIN_CAM_INV_VIEW_MATRIX[0], - MAIN_CAM_INV_VIEW_MATRIX[1], - MAIN_CAM_INV_VIEW_MATRIX[2], - MODEL_MATRIX[3]); - - // Billboard Keep Scale: Enabled - MODELVIEW_MATRIX = MODELVIEW_MATRIX * mat4( - vec4(length(MODEL_MATRIX[0].xyz), 0.0, 0.0, 0.0), - vec4(0.0, length(MODEL_MATRIX[1].xyz), 0.0, 0.0), - vec4(0.0, 0.0, length(MODEL_MATRIX[2].xyz), 0.0), - vec4(0.0, 0.0, 0.0, 1.0)); - MODELVIEW_NORMAL_MATRIX = mat3(MODELVIEW_MATRIX); -} - -void fragment() { - vec2 base_uv = UV; - - vec4 albedo_tex = texture(texture_albedo, base_uv); - - // Vertex Color Use as Albedo: Enabled - albedo_tex *= COLOR; - - ALBEDO = albedo.rgb * albedo_tex.rgb; - - float metallic_tex = dot(texture(texture_metallic, base_uv), metallic_texture_channel); - METALLIC = metallic_tex * metallic; - SPECULAR = specular; - - vec4 roughness_texture_channel = vec4(1.0, 0.0, 0.0, 0.0); - float roughness_tex = dot(texture(texture_roughness, base_uv), roughness_texture_channel); - ROUGHNESS = roughness_tex * roughness; - ALPHA *= albedo.a * albedo_tex.a; - ALPHA_SCISSOR_THRESHOLD = alphaTreshold; -} -" - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_fqgfq"] -render_priority = 0 -shader = SubResource("Shader_wxqep") -shader_parameter/albedo = Color(1, 1, 1, 1) -shader_parameter/texture_albedo = ExtResource("41_gk02k") -shader_parameter/alpha_scissor_thresholdClose = 0.50000002375 -shader_parameter/alpha_scissor_thresholdFar = 0.130000006175 -shader_parameter/alpha_scissor_distance = 35.686001647585 -shader_parameter/albedo_texture_size = Vector2i(16, 16) -shader_parameter/point_size = 1.0 -shader_parameter/roughness = 1.0 -shader_parameter/metallic_texture_channel = Vector4(1, 0, 0, 0) -shader_parameter/specular = 0.5 -shader_parameter/metallic = 0.0 -shader_parameter/uv1_scale = Vector3(1, 1, 1) -shader_parameter/uv1_offset = Vector3(0, 0, 0) -shader_parameter/uv2_scale = Vector3(1, 1, 1) -shader_parameter/uv2_offset = Vector3(0, 0, 0) - -[sub_resource type="Curve" id="Curve_y7gwn"] -_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.19928828, 1), 0.0, 0.0, 0, 0, Vector2(0.8078292, 1), 0.0, 0.0, 0, 0, Vector2(0.9857652, 0), 0.0, 0.0, 0, 0] -point_count = 4 - -[sub_resource type="CurveTexture" id="CurveTexture_mql5u"] -curve = SubResource("Curve_y7gwn") - -[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_oqlxm"] -lifetime_randomness = 0.9 -emission_shape_scale = Vector3(50, 5, 50) -emission_shape = 3 -emission_box_extents = Vector3(1, 1, 1) -direction = Vector3(0, -1, 0) -initial_velocity_max = 5.0 -gravity = Vector3(0, -1, 0) -scale_min = 0.099999994 -scale_max = 0.19999999 -scale_curve = SubResource("CurveTexture_mql5u") -turbulence_enabled = true -turbulence_noise_strength = 10.65 -turbulence_noise_scale = 5.353 -turbulence_influence_min = 0.010000001 -turbulence_influence_max = 0.05 - -[sub_resource type="QuadMesh" id="QuadMesh_h5qu5"] - -[sub_resource type="Resource" id="Resource_bdfmq"] -script = ExtResource("40_uqrk0") -seconds = 1.0 -timeLine = ExtResource("11_sl01w") -metadata/_custom_type_script = "uid://ddhwhwos5kkrm" - -[sub_resource type="BoxShape3D" id="BoxShape3D_fd6ib"] -size = Vector3(1000, 1, 1000) - -[sub_resource type="BoxMesh" id="BoxMesh_ru76s"] -size = Vector3(1000, 1, 1000) - -[sub_resource type="FastNoiseLite" id="FastNoiseLite_hc41k"] -noise_type = 2 -frequency = 0.0117 -fractal_octaves = 2 - -[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_e8plc"] -width = 1024 -height = 1024 -noise = SubResource("FastNoiseLite_hc41k") -seamless = true -as_normal_map = true -bump_strength = 8.1 - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_cunny"] -albedo_color = Color(0.67160004, 0.6969067, 0.73, 1) -metallic = 0.04 -metallic_specular = 0.67 -roughness = 0.59 -normal_enabled = true -normal_texture = SubResource("NoiseTexture2D_e8plc") -ao_enabled = true -ao_light_affect = 1.0 -uv1_scale = Vector3(500, 500, 500) - -[sub_resource type="PlaneMesh" id="PlaneMesh_qoe36"] -size = Vector2(50, 45) - -[sub_resource type="Gradient" id="Gradient_pld03"] -colors = PackedColorArray(0.85979897, 0.8257131, 0.8257131, 1, 1, 1, 1, 1) - -[sub_resource type="FastNoiseLite" id="FastNoiseLite_v3kle"] -frequency = 0.0301 - -[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_0m5ty"] -width = 128 -height = 128 -noise = SubResource("FastNoiseLite_v3kle") -color_ramp = SubResource("Gradient_pld03") - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vwpba"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -albedo_texture = ExtResource("43_pld03") -metallic = 0.24 -metallic_specular = 1.0 -roughness = 0.56 -roughness_texture = SubResource("NoiseTexture2D_0m5ty") -emission_enabled = true -emission_energy_multiplier = 0.0 -emission_texture = ExtResource("43_pld03") -normal_enabled = true -normal_scale = -1.0 -normal_texture = ExtResource("43_pld03") -texture_filter = 4 - -[sub_resource type="BoxShape3D" id="BoxShape3D_0m5ty"] -size = Vector3(0.9808079, 0.9916992, 1.0625534) - -[sub_resource type="BoxShape3D" id="BoxShape3D_qoe36"] -size = Vector3(1.4232316, 2.085785, 1.3759289) - -[sub_resource type="BoxShape3D" id="BoxShape3D_nh6ww"] -size = Vector3(0.6066759, 1.0033569, 0.6911286) - -[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_fqgfq"] -load_path = "res://.godot/imported/colormap.png-92246f7b6205d2eea7ccb1eb6cbf4ff9.s3tc.ctex" - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ivlrh"] -resource_name = "colormap" -cull_mode = 2 -albedo_texture = SubResource("CompressedTexture2D_fqgfq") -texture_filter = 2 -stencil_mode = 3 -stencil_flags = 2 - -[sub_resource type="CapsuleMesh" id="CapsuleMesh_vwpba"] -radius = 0.158 -height = 0.365 - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qn1m4"] -shading_mode = 0 -albedo_color = Color(1.4206064, 0.8476043, 0.41147977, 1) -stencil_mode = 3 -stencil_flags = 2 - -[sub_resource type="QuadMesh" id="QuadMesh_aw6nk"] - -[sub_resource type="Gradient" id="Gradient_bs08e"] -offsets = PackedFloat32Array(0.030150754, 0.37939698, 0.6532663, 1) -colors = PackedColorArray(1.1852031, 0.92332155, 0.20314768, 1, 1, 0.66999996, 0.100000024, 0.28235295, 0.83, 0.15216666, 0, 0.21960784, 0.26947108, 0, 0.62219584, 0) - -[sub_resource type="GradientTexture2D" id="GradientTexture2D_oeaw5"] -gradient = SubResource("Gradient_bs08e") -fill = 1 -fill_from = Vector2(0.5, 0.5) -fill_to = Vector2(1, 0.5) - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1y0cs"] -render_priority = 2 -transparency = 1 -blend_mode = 1 -cull_mode = 2 -shading_mode = 0 -albedo_texture = SubResource("GradientTexture2D_oeaw5") -billboard_mode = 1 -billboard_keep_scale = true -proximity_fade_enabled = true -proximity_fade_distance = 0.13 -stencil_mode = 3 -stencil_flags = 1 -stencil_compare = 5 - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_wxqep"] -resource_name = "colormap" -cull_mode = 2 -albedo_texture = ExtResource("43_h5qu5") -emission_enabled = true -emission_energy_multiplier = 1.3 -emission_texture = ExtResource("43_h5qu5") -texture_filter = 2 - -[sub_resource type="BoxShape3D" id="BoxShape3D_wdchy"] -size = Vector3(1.1263962, 0.38949585, 0.5920563) - -[sub_resource type="BoxShape3D" id="BoxShape3D_vemra"] -size = Vector3(1.1195068, 0.7865448, 0.20730782) - -[sub_resource type="BoxShape3D" id="BoxShape3D_qlsir"] -size = Vector3(2.8800235, 5.0335083, 9.97258) - -[sub_resource type="BoxShape3D" id="BoxShape3D_rwf7d"] -size = Vector3(2.609571, 5, 7.75) - -[sub_resource type="BoxShape3D" id="BoxShape3D_12vd0"] -size = Vector3(3.063257, 7.5567627, 2.5717773) - -[sub_resource type="BoxShape3D" id="BoxShape3D_wxqep"] -size = Vector3(3.063257, 7.5567627, 2.5717773) - -[sub_resource type="BoxShape3D" id="BoxShape3D_fqgfq"] -size = Vector3(2.5478761, 2.6059875, 2.5717773) - -[sub_resource type="QuadMesh" id="QuadMesh_bdfmq"] -size = Vector2(2.5, 2.5) - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vwon7"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -cull_mode = 2 -albedo_texture = ExtResource("45_e8plc") -roughness = 0.25 -normal_enabled = true -normal_texture = ExtResource("45_e8plc") -backlight_enabled = true -backlight = Color(0.74509805, 0.6745098, 0.59607846, 1) -texture_filter = 4 - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_730hx"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -cull_mode = 2 -albedo_texture = ExtResource("46_cunny") -roughness = 0.25 -normal_enabled = true -normal_texture = ExtResource("46_cunny") -backlight_enabled = true -backlight = Color(0.74509805, 0.6745098, 0.59607846, 1) -texture_filter = 4 - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_fqgfq"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -cull_mode = 2 -albedo_texture = ExtResource("51_enjti") -roughness = 0.25 -emission_enabled = true -emission_energy_multiplier = 1.5 -emission_texture = ExtResource("52_gk02k") -normal_enabled = true -normal_texture = ExtResource("51_enjti") -backlight_enabled = true -backlight = Color(0.7443918, 0.6751514, 0.59738904, 1) -texture_filter = 4 - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ap2uv"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -cull_mode = 2 -albedo_texture = ExtResource("47_xa56p") -roughness = 0.25 -normal_enabled = true -normal_texture = ExtResource("47_xa56p") -backlight_enabled = true -backlight = Color(0.7443918, 0.6751514, 0.59738904, 1) -texture_filter = 4 - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_pld03"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -cull_mode = 2 -albedo_texture = ExtResource("51_enjti") -roughness = 0.25 -emission_enabled = true -emission_energy_multiplier = 1.5 -emission_texture = ExtResource("52_gk02k") -normal_enabled = true -normal_texture = ExtResource("51_enjti") -backlight_enabled = true -backlight = Color(0.7443918, 0.6751514, 0.59738904, 1) -texture_filter = 4 - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_v3kle"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -cull_mode = 2 -albedo_texture = ExtResource("51_enjti") -roughness = 0.25 -emission_enabled = true -emission_energy_multiplier = 1.5 -emission_texture = ExtResource("52_gk02k") -normal_enabled = true -normal_texture = ExtResource("51_enjti") -backlight_enabled = true -backlight = Color(0.7443918, 0.6751514, 0.59738904, 1) -texture_filter = 4 - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_0m5ty"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -cull_mode = 2 -albedo_texture = ExtResource("51_enjti") -roughness = 0.25 -emission_enabled = true -emission_energy_multiplier = 1.5 -emission_texture = ExtResource("52_gk02k") -normal_enabled = true -normal_texture = ExtResource("51_enjti") -backlight_enabled = true -backlight = Color(0.7443918, 0.6751514, 0.59738904, 1) -texture_filter = 4 - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qoe36"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -cull_mode = 2 -albedo_texture = ExtResource("51_enjti") -roughness = 0.25 -emission_enabled = true -emission_energy_multiplier = 1.5 -emission_texture = ExtResource("52_gk02k") -normal_enabled = true -normal_texture = ExtResource("51_enjti") -backlight_enabled = true -backlight = Color(0.7443918, 0.6751514, 0.59738904, 1) -texture_filter = 4 - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vqjw2"] - -[sub_resource type="ArrayMesh" id="ArrayMesh_16rqs"] -_surfaces = [{ -"aabb": AABB(-1.2500001, 0.0009343289, -1.25, 2.5000002, 1.2492443, 2.5), -"format": 34896613377, -"index_count": 12, -"index_data": PackedByteArray("AAABAAIAAwAAAAIABAAFAAIABQAGAAIA"), -"primitive": 3, -"uv_scale": Vector4(0, 0, 0, 0), -"vertex_count": 7, -"vertex_data": PackedByteArray("/v8AAAAAAAD+/wAA//8AAP9/////fwAAAAAAAAAAAAD//wAA//8AAAAAAAD//wAAAAAAAAAAAAA=") -}] -blend_shape_mode = 0 - -[sub_resource type="ArrayMesh" id="ArrayMesh_vjiq0"] -resource_name = "roof-spiky_Cone" -_surfaces = [{ -"aabb": AABB(-1.2500001, 0.0009343289, -1.25, 2.5000002, 1.2492443, 2.5), -"attribute_data": PackedByteArray("AAD/////////fwAAAAD/////////fwAAAAD/////////fwAAAAD/////////fwAA"), -"format": 34896613399, -"index_count": 12, -"index_data": PackedByteArray("AAABAAIAAwAEAAUABgAHAAgACQAKAAsA"), -"material": SubResource("StandardMaterial3D_vqjw2"), -"primitive": 3, -"uv_scale": Vector4(0, 0, 0, 0), -"vertex_count": 12, -"vertex_data": PackedByteArray("/v8AAAAAVhb+/wAA//9WFv9/////f1YWAAAAAAAAAiD+/wAAAAACIP9/////fwIgAAAAAP//VhYAAAAAAABWFv9/////f1YW//8AAP//AAAAAAAA//8AAP9/////fwAAA7X3lQO195UDtfeV////f////3////9/B+oDNQfqAzUH6gM1/39/pf9/f6X/f3+l") -}] -blend_shape_mode = 0 -shadow_mesh = SubResource("ArrayMesh_16rqs") - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ucuw1"] -albedo_texture = ExtResource("55_12vd0") -metallic = 0.5 -metallic_specular = 0.25 -roughness = 0.25 -emission_enabled = true -emission_energy_multiplier = 0.3 -emission_texture = ExtResource("55_12vd0") -normal_enabled = true -normal_texture = ExtResource("55_12vd0") -texture_filter = 4 - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_a77ga"] - -[sub_resource type="ArrayMesh" id="ArrayMesh_hu1x1"] -_surfaces = [{ -"aabb": AABB(-1.25, 0, -1.25, 2.5, 1.25, 2.5), -"format": 34896613377, -"index_count": 30, -"index_data": PackedByteArray("AAABAAIAAQADAAIAAgADAAQAAgAEAAAAAQAFAAMAAAAEAAYABwAFAAEAAAAHAAEABwAGAAUAAAAGAAcA"), -"primitive": 3, -"uv_scale": Vector4(0, 0, 0, 0), -"vertex_count": 8, -"vertex_data": PackedByteArray("/z////+/AAD/v////z8AAP+/////vwAA//8AAP//AAAAAAAA//8AAP//AAAAAAAAAAAAAAAAAAD/P////z8AAA==") -}] -blend_shape_mode = 0 - -[sub_resource type="ArrayMesh" id="ArrayMesh_pms08"] -resource_name = "roof_Plane_001" -_surfaces = [{ -"aabb": AABB(-1.25, 0, -1.25, 2.5, 1.25, 2.5), -"attribute_data": PackedByteArray("D6r3pmn2nVpp9vemD6qdWuqA0DTzDsTM8DTQNOemxMzqgNA08w7EzPA00DTnpsTM6oDQNPMOxMzwNNA056bEzOqA0DTzDsTM8DTQNOemxMw="), -"format": 34896613399, -"index_count": 30, -"index_data": PackedByteArray("AAABAAIAAAADAAEABAAFAAYABAAHAAUACAAJAAoACAALAAkADAANAA4ADAAPAA0AEAARABIAEAATABEA"), -"material": SubResource("StandardMaterial3D_a77ga"), -"primitive": 3, -"uv_scale": Vector4(0, 0, 0, 0), -"vertex_count": 20, -"vertex_data": PackedByteArray("/z////+//7//v////z//v/+/////v/+//z////8//7//P////z//////AAAAAP///7////8///8AAAAAAAD///8/////vybCAAAAAAAAJsL/P////z8mwgAAAAD//ybC/7////+/45IAAAAA///jkv8/////v+OS//8AAP//45L/v////z8mwv//AAD//ybC/7////+/JsL//wAAAAAmwv///3////9/////f////3//f4zn/3+M5/9/jOf/f4znhpTx1oaU8daGlPHWhpTx1v///3////9/////f////38MqYYUDKmGFAyphhQMqYYU") -}] -blend_shape_mode = 0 -shadow_mesh = SubResource("ArrayMesh_hu1x1") - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xa56p"] -albedo_texture = ExtResource("48_e8plc") -metallic_specular = 0.25 -roughness = 0.25 -normal_enabled = true -normal_texture = ExtResource("48_e8plc") -texture_filter = 4 - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_h5qu5"] -albedo_texture = ExtResource("52_s6flo") -metallic_specular = 0.25 -roughness = 0.25 -normal_enabled = true -normal_texture = ExtResource("52_s6flo") -texture_filter = 4 - -[sub_resource type="QuadMesh" id="QuadMesh_oqlxm"] - -[sub_resource type="FastNoiseLite" id="FastNoiseLite_h5qu5"] -noise_type = 2 -frequency = 0.0089 - -[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_enjti"] -width = 64 -height = 64 -noise = SubResource("FastNoiseLite_h5qu5") -seamless = true -as_normal_map = true -seamless_blend_skirt = 0.717 - -[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_gk02k"] -width = 64 -height = 64 -noise = SubResource("FastNoiseLite_h5qu5") - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_12vd0"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -cull_mode = 2 -albedo_texture = ExtResource("54_ap2uv") -metallic = 0.16 -metallic_specular = 0.49 -roughness = 0.89 -roughness_texture = SubResource("NoiseTexture2D_gk02k") -normal_enabled = true -normal_scale = 0.5 -normal_texture = SubResource("NoiseTexture2D_enjti") -subsurf_scatter_strength = 1.0 -subsurf_scatter_skin_mode = true -subsurf_scatter_transmittance_enabled = true -subsurf_scatter_transmittance_depth = 8.0 -subsurf_scatter_transmittance_boost = 1.0 -backlight_enabled = true -backlight = Color(0, 0.35743815, 0.074528545, 1) - -[sub_resource type="FastNoiseLite" id="FastNoiseLite_y7gwn"] -noise_type = 2 -frequency = 0.0089 - -[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_mql5u"] -width = 64 -height = 64 -noise = SubResource("FastNoiseLite_y7gwn") -seamless = true -as_normal_map = true -seamless_blend_skirt = 0.717 - -[sub_resource type="FastNoiseLite" id="FastNoiseLite_oqlxm"] -noise_type = 2 -frequency = 0.0089 - -[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_h5qu5"] -width = 64 -height = 64 -noise = SubResource("FastNoiseLite_oqlxm") - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_enjti"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -cull_mode = 2 -albedo_texture = ExtResource("55_s6flo") -metallic = 0.16 -metallic_specular = 0.49 -roughness = 0.89 -roughness_texture = SubResource("NoiseTexture2D_h5qu5") -normal_enabled = true -normal_scale = 0.5 -normal_texture = SubResource("NoiseTexture2D_mql5u") -subsurf_scatter_strength = 1.0 -subsurf_scatter_skin_mode = true -subsurf_scatter_transmittance_enabled = true -subsurf_scatter_transmittance_depth = 8.0 -subsurf_scatter_transmittance_boost = 1.0 -backlight_enabled = true -backlight = Color(0, 0.35743815, 0.074528545, 1) - -[sub_resource type="BoxShape3D" id="BoxShape3D_enjti"] -size = Vector3(7.5593777, 2.6741943, 2.407074) - -[sub_resource type="BoxShape3D" id="BoxShape3D_h5qu5"] -size = Vector3(4.859543, 2.6741943, 2.407074) - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mql5u"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -cull_mode = 2 -albedo_texture = ExtResource("56_y7gwn") -roughness = 0.25 -normal_enabled = true -normal_texture = ExtResource("56_y7gwn") -backlight_enabled = true -backlight = Color(0.74509805, 0.6745098, 0.59607846, 1) -texture_filter = 4 - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_nh6ww"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -cull_mode = 2 -albedo_texture = ExtResource("51_enjti") -roughness = 0.25 -emission_enabled = true -emission_energy_multiplier = 1.5 -emission_texture = ExtResource("52_gk02k") -normal_enabled = true -normal_texture = ExtResource("51_enjti") -backlight_enabled = true -backlight = Color(0.7443918, 0.6751514, 0.59738904, 1) -texture_filter = 4 - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gk02k"] -albedo_texture = ExtResource("52_s6flo") -metallic_specular = 0.25 -roughness = 0.25 -normal_enabled = true -normal_texture = ExtResource("52_s6flo") -texture_filter = 4 - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qlsir"] -albedo_texture = ExtResource("52_s6flo") -metallic_specular = 0.25 -roughness = 0.25 -normal_enabled = true -normal_texture = ExtResource("52_s6flo") -texture_filter = 4 - -[sub_resource type="QuadMesh" id="QuadMesh_enjti"] - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_rwf7d"] -albedo_texture = ExtResource("56_mql5u") -texture_filter = 4 - -[sub_resource type="BoxShape3D" id="BoxShape3D_pld03"] -size = Vector3(2.4850063, 2.5550842, 2.76231) - -[sub_resource type="BoxShape3D" id="BoxShape3D_v3kle"] -size = Vector3(2.437643, 2.6436157, 0.49477673) - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_pgnem"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -cull_mode = 2 -albedo_texture = ExtResource("51_enjti") -roughness = 0.25 -emission_enabled = true -emission_energy_multiplier = 1.5 -emission_texture = ExtResource("52_gk02k") -normal_enabled = true -normal_texture = ExtResource("51_enjti") -backlight_enabled = true -backlight = Color(0.7443918, 0.6751514, 0.59738904, 1) -texture_filter = 4 - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_5p3uc"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -cull_mode = 2 -albedo_texture = ExtResource("51_enjti") -roughness = 0.25 -emission_enabled = true -emission_energy_multiplier = 1.5 -emission_texture = ExtResource("52_gk02k") -normal_enabled = true -normal_texture = ExtResource("51_enjti") -backlight_enabled = true -backlight = Color(0.7443918, 0.6751514, 0.59738904, 1) -texture_filter = 4 - -[sub_resource type="BoxShape3D" id="BoxShape3D_gk02k"] -size = Vector3(2.6936455, 4.9445496, 5.082571) - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_oqlxm"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -cull_mode = 2 -albedo_texture = ExtResource("56_y7gwn") -roughness = 0.25 -normal_enabled = true -normal_texture = ExtResource("56_y7gwn") -backlight_enabled = true -backlight = Color(0.74509805, 0.6745098, 0.59607846, 1) -texture_filter = 4 - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vgxo8"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -cull_mode = 2 -albedo_texture = ExtResource("51_enjti") -roughness = 0.25 -emission_enabled = true -emission_energy_multiplier = 1.5 -emission_texture = ExtResource("52_gk02k") -normal_enabled = true -normal_texture = ExtResource("51_enjti") -backlight_enabled = true -backlight = Color(0.7443918, 0.6751514, 0.59738904, 1) -texture_filter = 4 - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_tr1d7"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -cull_mode = 2 -albedo_texture = ExtResource("51_enjti") -roughness = 0.25 -emission_enabled = true -emission_energy_multiplier = 1.5 -emission_texture = ExtResource("52_gk02k") -normal_enabled = true -normal_texture = ExtResource("51_enjti") -backlight_enabled = true -backlight = Color(0.7443918, 0.6751514, 0.59738904, 1) -texture_filter = 4 - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ephol"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -cull_mode = 2 -albedo_texture = ExtResource("51_enjti") -roughness = 0.25 -emission_enabled = true -emission_energy_multiplier = 1.5 -emission_texture = ExtResource("52_gk02k") -normal_enabled = true -normal_texture = ExtResource("51_enjti") -backlight_enabled = true -backlight = Color(0.7443918, 0.6751514, 0.59738904, 1) -texture_filter = 4 - -[sub_resource type="QuadMesh" id="QuadMesh_uqrk0"] - -[sub_resource type="Gradient" id="Gradient_xa56p"] -colors = PackedColorArray(0.33707213, 0.33707213, 0.33707213, 1, 1, 1, 1, 1) - -[sub_resource type="GradientTexture2D" id="GradientTexture2D_getpf"] -gradient = SubResource("Gradient_xa56p") -fill_from = Vector2(0, 0.93048126) -fill_to = Vector2(0, 0.44385028) - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_0obc6"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -cull_mode = 2 -albedo_texture = ExtResource("49_xa56p") -ao_enabled = true -ao_texture = SubResource("GradientTexture2D_getpf") -subsurf_scatter_enabled = true -subsurf_scatter_strength = 1.0 -subsurf_scatter_skin_mode = true -subsurf_scatter_transmittance_enabled = true -subsurf_scatter_transmittance_depth = 4.656 -subsurf_scatter_transmittance_boost = 1.0 -backlight_enabled = true -backlight = Color(0.73081446, 0.72161514, 0.6009116, 1) -texture_filter = 4 -billboard_mode = 1 -billboard_keep_scale = true - -[sub_resource type="Gradient" id="Gradient_ap2uv"] -colors = PackedColorArray(0.33707213, 0.33707213, 0.33707213, 1, 1, 1, 1, 1) - -[sub_resource type="GradientTexture2D" id="GradientTexture2D_s6flo"] -gradient = SubResource("Gradient_ap2uv") -fill_from = Vector2(0, 0.93048126) -fill_to = Vector2(0, 0.44385028) - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_y7gwn"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -cull_mode = 2 -albedo_texture = ExtResource("55_730hx") -ao_enabled = true -ao_texture = SubResource("GradientTexture2D_s6flo") -subsurf_scatter_enabled = true -subsurf_scatter_strength = 1.0 -subsurf_scatter_skin_mode = true -subsurf_scatter_transmittance_enabled = true -subsurf_scatter_transmittance_depth = 4.656 -subsurf_scatter_transmittance_boost = 1.0 -backlight_enabled = true -backlight = Color(0.73081446, 0.72161514, 0.6009116, 1) -texture_filter = 4 -billboard_mode = 1 -billboard_keep_scale = true - -[sub_resource type="Gradient" id="Gradient_uqrk0"] -colors = PackedColorArray(0.36422682, 0.36422682, 0.36422682, 1, 1, 1, 1, 1) - -[sub_resource type="GradientTexture2D" id="GradientTexture2D_0obc6"] -gradient = SubResource("Gradient_uqrk0") -fill_from = Vector2(0, 1) -fill_to = Vector2(0, 0.29946524) - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_bdfmq"] -transparency = 2 -alpha_scissor_threshold = 0.5 -alpha_antialiasing_mode = 0 -cull_mode = 2 -albedo_texture = ExtResource("50_getpf") -rim_enabled = true -rim = 0.27 -rim_tint = 0.79 -ao_enabled = true -ao_light_affect = 1.0 -ao_texture = SubResource("GradientTexture2D_0obc6") -subsurf_scatter_enabled = true -subsurf_scatter_strength = 1.0 -subsurf_scatter_skin_mode = true -subsurf_scatter_transmittance_enabled = true -subsurf_scatter_transmittance_depth = 2.53 -subsurf_scatter_transmittance_boost = 1.0 -backlight_enabled = true -backlight = Color(0.6896409, 0.7240258, 0.53819084, 1) -texture_filter = 4 -billboard_mode = 1 -billboard_keep_scale = true - -[sub_resource type="BoxShape3D" id="BoxShape3D_pgnem"] -size = Vector3(2.0499153, 1, 4.1105957) +[sub_resource type="Resource" id="Resource_bm7sa"] +script = ExtResource("40_ytrvj") +value = 1.0 +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_vnoge"] +script = ExtResource("40_ytrvj") +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_06wgu"] +script = ExtResource("40_ytrvj") +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_gla4y"] +script = ExtResource("40_ytrvj") +value = 1.0 +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_y6wps"] +script = ExtResource("40_ytrvj") +value = 1.0 +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_jtfq4"] +shader = ExtResource("42_npu10") +shader_parameter/size = Vector2(11.52, 11.52) +shader_parameter/sharpness = 5.0 +shader_parameter/borderRadius = 0.0 +shader_parameter/strokeSize = 0.0 +shader_parameter/offset = 0.0 +shader_parameter/fillColor = Color(1, 0, 0, 1) +shader_parameter/fillUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenfillMultiplyUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenfillMultiplyUVMovement = Vector2(0, 0) +shader_parameter/strokeColor = Color(1, 1, 1, 1) +shader_parameter/strokeUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenStrokeMultiplyUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenStrokeMultiplyUVMovment = Vector2(0, 0) +shader_parameter/opacity = 1.0 +shader_parameter/fillStateAngle = 0.0 +shader_parameter/fillStateOffset = 0.0 +script = ExtResource("41_4el3b") + +[sub_resource type="Resource" id="Resource_p5agv"] +script = ExtResource("45_p0sg1") +color = Color(1, 0, 0, 1) +metadata/_custom_type_script = "uid://drqb0pm5ub64g" + +[sub_resource type="Resource" id="Resource_q0f75"] +script = ExtResource("46_er746") +fillColor = SubResource("Resource_p5agv") +metadata/_custom_type_script = "uid://dwuimn03cvh3" + +[sub_resource type="Resource" id="Resource_4wsps"] +script = ExtResource("40_ytrvj") +value = 100.0 +unit = "pw" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_dis6l"] +script = ExtResource("40_ytrvj") +value = 100.0 +unit = "ph" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_524ac"] +script = ExtResource("40_ytrvj") +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_2750v"] +script = ExtResource("40_ytrvj") +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_mk81p"] +shader = ExtResource("42_npu10") +shader_parameter/size = Vector2(11.52, 11.52) +shader_parameter/sharpness = 5.0 +shader_parameter/borderRadius = 0.0 +shader_parameter/strokeSize = 0.0 +shader_parameter/offset = 0.0 +shader_parameter/fillColor = Color(1, 1, 1, 1) +shader_parameter/fillUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenfillMultiplyUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenfillMultiplyUVMovement = Vector2(0, 0) +shader_parameter/strokeColor = Color(1, 1, 1, 1) +shader_parameter/strokeUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenStrokeMultiplyUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenStrokeMultiplyUVMovment = Vector2(0, 0) +shader_parameter/opacity = 1.0 +shader_parameter/fillStateAngle = 0.0 +shader_parameter/fillStateOffset = 0.0 +script = ExtResource("41_4el3b") + +[sub_resource type="Resource" id="Resource_bsxpb"] +script = ExtResource("45_p0sg1") +metadata/_custom_type_script = "uid://drqb0pm5ub64g" + +[sub_resource type="Resource" id="Resource_7fsef"] +script = ExtResource("46_er746") +fillColor = SubResource("Resource_bsxpb") +metadata/_custom_type_script = "uid://dwuimn03cvh3" + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_mo0ou"] +shader = ExtResource("42_npu10") +shader_parameter/size = Vector2(11.52, 11.52) +shader_parameter/sharpness = 5.0 +shader_parameter/borderRadius = 0.0 +shader_parameter/strokeSize = 0.0 +shader_parameter/offset = 0.0 +shader_parameter/fillColor = Color(1, 0, 0, 1) +shader_parameter/fillUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenfillMultiplyUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenfillMultiplyUVMovement = Vector2(0, 0) +shader_parameter/strokeColor = Color(1, 1, 1, 1) +shader_parameter/strokeUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenStrokeMultiplyUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenStrokeMultiplyUVMovment = Vector2(0, 0) +shader_parameter/opacity = 1.0 +shader_parameter/fillStateAngle = 0.0 +shader_parameter/fillStateOffset = 0.0 +script = ExtResource("41_4el3b") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_228bp"] +shader = ExtResource("42_npu10") +shader_parameter/size = Vector2(11.52, 11.52) +shader_parameter/sharpness = 5.0 +shader_parameter/borderRadius = 0.0 +shader_parameter/strokeSize = 0.0 +shader_parameter/offset = 0.0 +shader_parameter/fillColor = Color(1, 1, 1, 1) +shader_parameter/fillUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenfillMultiplyUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenfillMultiplyUVMovement = Vector2(0, 0) +shader_parameter/strokeColor = Color(1, 1, 1, 1) +shader_parameter/strokeUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenStrokeMultiplyUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenStrokeMultiplyUVMovment = Vector2(0, 0) +shader_parameter/opacity = 1.0 +shader_parameter/fillStateAngle = 0.0 +shader_parameter/fillStateOffset = 0.0 +script = ExtResource("41_4el3b") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_fs13k"] +shader = ExtResource("42_npu10") +shader_parameter/size = Vector2(11.52, 11.52) +shader_parameter/sharpness = 5.0 +shader_parameter/borderRadius = 0.0 +shader_parameter/strokeSize = 0.0 +shader_parameter/offset = 0.0 +shader_parameter/fillColor = Color(1, 0, 0, 1) +shader_parameter/fillUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenfillMultiplyUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenfillMultiplyUVMovement = Vector2(0, 0) +shader_parameter/strokeColor = Color(1, 1, 1, 1) +shader_parameter/strokeUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenStrokeMultiplyUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenStrokeMultiplyUVMovment = Vector2(0, 0) +shader_parameter/opacity = 1.0 +shader_parameter/fillStateAngle = 0.0 +shader_parameter/fillStateOffset = 0.0 +script = ExtResource("41_4el3b") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_7e4fb"] +shader = ExtResource("42_npu10") +shader_parameter/size = Vector2(11.52, 11.52) +shader_parameter/sharpness = 5.0 +shader_parameter/borderRadius = 0.0 +shader_parameter/strokeSize = 0.0 +shader_parameter/offset = 0.0 +shader_parameter/fillColor = Color(1, 1, 1, 1) +shader_parameter/fillUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenfillMultiplyUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenfillMultiplyUVMovement = Vector2(0, 0) +shader_parameter/strokeColor = Color(1, 1, 1, 1) +shader_parameter/strokeUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenStrokeMultiplyUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenStrokeMultiplyUVMovment = Vector2(0, 0) +shader_parameter/opacity = 1.0 +shader_parameter/fillStateAngle = 0.0 +shader_parameter/fillStateOffset = 0.0 +script = ExtResource("41_4el3b") + +[sub_resource type="Resource" id="Resource_nfrna"] +script = ExtResource("40_ytrvj") +value = 12.0 +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_txdr1"] +script = ExtResource("40_ytrvj") +value = 12.0 +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_nlcvw"] +script = ExtResource("40_ytrvj") +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_yttar"] +script = ExtResource("40_ytrvj") +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_o8r6f"] +shader = ExtResource("42_npu10") +shader_parameter/size = Vector2(138.24002, 138.23999) +shader_parameter/sharpness = 5.0 +shader_parameter/borderRadius = 69.12 +shader_parameter/strokeSize = 0.0 +shader_parameter/offset = 0.0 +shader_parameter/fillColor = Color(1, 1, 1, 0.46666667) +shader_parameter/fillUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenfillMultiplyUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenfillMultiplyUVMovement = Vector2(0, 0) +shader_parameter/strokeColor = Color(1, 1, 1, 1) +shader_parameter/strokeUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenStrokeMultiplyUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenStrokeMultiplyUVMovment = Vector2(0, 0) +shader_parameter/opacity = 1.0 +shader_parameter/fillStateAngle = 0.0 +shader_parameter/fillStateOffset = 0.0 +script = ExtResource("41_4el3b") + +[sub_resource type="ViewportTexture" id="ViewportTexture_31pys"] +viewport_path = NodePath("App/Camera Setup/SubViewport") + +[sub_resource type="Resource" id="Resource_46hce"] +script = ExtResource("40_ytrvj") +value = 6.0 +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_hq3bi"] +script = ExtResource("45_p0sg1") +color = Color(1, 1, 1, 0.46666667) +metadata/_custom_type_script = "uid://drqb0pm5ub64g" + +[sub_resource type="Resource" id="Resource_rp6gr"] +script = ExtResource("46_er746") +fillColor = SubResource("Resource_hq3bi") +borderRadius = SubResource("Resource_46hce") +metadata/_custom_type_script = "uid://dwuimn03cvh3" + +[sub_resource type="Resource" id="Resource_q6b7k"] +script = ExtResource("40_ytrvj") +value = 100.0 +unit = "pw" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_jdant"] +script = ExtResource("40_ytrvj") +value = 100.0 +unit = "ph" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_goqji"] +script = ExtResource("40_ytrvj") +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_gwq84"] +script = ExtResource("40_ytrvj") +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_nxasu"] +script = ExtResource("40_ytrvj") +value = 50.0 +unit = "%" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_ebf7l"] +script = ExtResource("40_ytrvj") +value = 50.0 +unit = "%" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_loqre"] +script = ExtResource("40_ytrvj") +value = 100.0 +unit = "ph" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_jhmds"] +script = ExtResource("40_ytrvj") +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_mseeg"] +script = ExtResource("40_ytrvj") +value = 1.0 +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" [sub_resource type="Resource" id="Resource_ruj5i"] script = ExtResource("35_yr58t") @@ -1149,6 +911,27 @@ metadata/_custom_type_script = "uid://lhuuedx87rem" radius = 0.345 height = 1.7 +[sub_resource type="SphereShape3D" id="SphereShape3D_alp68"] +radius = 2.0 + +[sub_resource type="Resource" id="Resource_3rj3l"] +script = ExtResource("91_dj82f") +types = [ExtResource("78_7drkg")] +metadata/_custom_type_script = "uid://b3ipr2fudbgyu" + +[sub_resource type="Resource" id="Resource_205s3"] +script = ExtResource("40_uqrk0") +seconds = 0.2 +timeLine = ExtResource("10_qfrgw") +metadata/_custom_type_script = "uid://ddhwhwos5kkrm" + +[sub_resource type="Resource" id="Resource_b71pn"] +script = ExtResource("71_4wsps") +beats = 1.0 +bpm = 64.0 +timeLine = ExtResource("10_qfrgw") +metadata/_custom_type_script = "uid://cwjgw33krmh11" + [sub_resource type="Resource" id="Resource_cunny"] script = ExtResource("25_rd5ln") deviceType = 1 @@ -1171,11 +954,12 @@ metadata/_custom_type_script = "uid://d3d6yud11325f" [sub_resource type="Resource" id="Resource_rwf7d"] script = ExtResource("76_12vd0") -directionProcessing = 2 +directionProcessing = 1 up = ExtResource("49_hvsi2") down = ExtResource("48_p2tm2") left = ExtResource("50_1ajtf") right = ExtResource("51_cdcpq") +yDeltaOffset = 0.0 deviceSelector = SubResource("Resource_qlsir") metadata/_custom_type_script = "uid://kodskdb1mcd4" @@ -1194,12 +978,15 @@ strafeDirectionSource = 0 deviceSelector = SubResource("Resource_e8plc") metadata/_custom_type_script = "uid://b37sjsfvphc8b" -[sub_resource type="Resource" id="Resource_getpf"] +[sub_resource type="Resource" id="Resource_42ic2"] script = ExtResource("35_yr58t") -frames = 15.0 +frames = 30.0 +metadata/_custom_type_script = "uid://lhuuedx87rem" -[sub_resource type="Resource" id="Resource_uqrk0"] +[sub_resource type="Resource" id="Resource_oi8o8"] script = ExtResource("35_yr58t") +frames = 30.0 +metadata/_custom_type_script = "uid://lhuuedx87rem" [sub_resource type="Curve" id="Curve_0obc6"] _limits = [0.0, 50.0, 0.0, 1.0] @@ -1337,7 +1124,9 @@ roughness = SubResource("Resource_ytrvj") metallic = SubResource("Resource_1tfgp") specular = SubResource("Resource_npu10") occlusion = SubResource("Resource_ji1pb") -layers = null +layers = [] + +[sub_resource type="PlaneMesh" id="PlaneMesh_q0f75"] [sub_resource type="Resource" id="Resource_qrr03"] script = ExtResource("116_2jvpv") @@ -1354,6 +1143,799 @@ script = ExtResource("40_uqrk0") seconds = 0.7 metadata/_custom_type_script = "uid://ddhwhwos5kkrm" +[sub_resource type="QuadMesh" id="QuadMesh_nlcvw"] + +[sub_resource type="Gradient" id="Gradient_2750v"] +offsets = PackedFloat32Array(0.94285715, 1) +colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_txdr1"] +gradient = SubResource("Gradient_2750v") +fill = 2 +fill_from = Vector2(0.5, 0.5) +fill_to = Vector2(0, 0.5) + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_yttar"] +render_priority = -2 +shader = ExtResource("123_2750v") +shader_parameter/color = Color(0.7327622, 0.45490193, 1, 1) +shader_parameter/alphaScale = 0.34 +shader_parameter/circleAmount = 1.0 +shader_parameter/circleDistortion = 1.471 +shader_parameter/ellipseAmount = 0.2915 +shader_parameter/ellipseDistortion = 1.9675 +shader_parameter/ellipseScale = Vector2(1, 0.5) +shader_parameter/add_vs_max = 0.5 +shader_parameter/centerHSL = Vector4(0.08, 0, 0.18, 1) +shader_parameter/outsideHSL = Vector4(-0.05, 1.65, 0.02, 0) +shader_parameter/sizeX = 10.0 +shader_parameter/sizeY = 1.0 +shader_parameter/scaleAll = 0.667 +shader_parameter/worldSize_vs_screenSize = 1.0 +shader_parameter/usSpectralsNoise = false +shader_parameter/spectralsAmount = Vector3(0.1, 0.05, 0.02) +shader_parameter/nonSpectralAmount = 0.95 +shader_parameter/spectralsSize = Vector3(1, 0.8, 0.5) +shader_parameter/spectralsSharpness = Vector3(0, 0, 0) +shader_parameter/spectralsFrequency = Vector3(50, 200, 500) +shader_parameter/spectralsSpeed = Vector3(5, -3, -2) +shader_parameter/fading = SubResource("GradientTexture2D_txdr1") +shader_parameter/useQuickOcclusionTest = true +shader_parameter/occlusionZOffset = 0.0 +shader_parameter/occlusionTestMaxSteps = 10 +shader_parameter/occlusionTestStepStride = 1.0 +shader_parameter/occlusionTest_ViewDependingScaleAmount = 0.5 +shader_parameter/occlusionTest_ViewDependingDistance = 100.0 + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_bsxpb"] +gradient = SubResource("Gradient_2750v") +fill = 2 +fill_from = Vector2(0.5, 0.5) +fill_to = Vector2(0, 0.5) + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_celbq"] +render_priority = -1 +next_pass = SubResource("ShaderMaterial_yttar") +shader = ExtResource("124_txdr1") +shader_parameter/color = Color(0.5843137, 0.67306423, 0.8, 1) +shader_parameter/alphaScale = 1.0 +shader_parameter/circleAmount = 1.3065 +shader_parameter/circleDistortion = 1.1125 +shader_parameter/ellipseAmount = 0.1 +shader_parameter/ellipseDistortion = 2.537 +shader_parameter/ellipseScale = Vector2(1, 0.904) +shader_parameter/add_vs_max = 0.0 +shader_parameter/centerHSL = Vector4(0.08, 0, 0.18, 1) +shader_parameter/outsideHSL = Vector4(-0.05, 1.65, 0.02, 0) +shader_parameter/sizeX = 100.0 +shader_parameter/sizeY = 1.0 +shader_parameter/scaleAll = 0.071 +shader_parameter/worldSize_vs_screenSize = 1.0 +shader_parameter/usSpectralsNoise = false +shader_parameter/spectralsAmount = Vector3(0.1, 0.05, 0.02) +shader_parameter/nonSpectralAmount = 0.95 +shader_parameter/spectralsSize = Vector3(1, 0.8, 0.5) +shader_parameter/spectralsSharpness = Vector3(0, 0, 0) +shader_parameter/spectralsFrequency = Vector3(50, 200, 500) +shader_parameter/spectralsSpeed = Vector3(5, -3, -2) +shader_parameter/fading = SubResource("GradientTexture2D_bsxpb") +shader_parameter/useQuickOcclusionTest = true +shader_parameter/occlusionZOffset = 0.0 +shader_parameter/occlusionTestMaxSteps = 10 +shader_parameter/occlusionTestStepStride = 1.0 +shader_parameter/occlusionTest_ViewDependingScaleAmount = 0.5 +shader_parameter/occlusionTest_ViewDependingDistance = 100.0 + +[sub_resource type="Curve" id="Curve_celbq"] +_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.19928828, 1), 0.0, 0.0, 0, 0, Vector2(0.8078292, 1), 0.0, 0.0, 0, 0, Vector2(0.9857652, 0), 0.0, 0.0, 0, 0] +point_count = 4 + +[sub_resource type="CurveTexture" id="CurveTexture_6q7o7"] +curve = SubResource("Curve_celbq") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_q6b7k"] +lifetime_randomness = 0.9 +emission_shape_scale = Vector3(50, 5, 50) +emission_shape = 3 +emission_box_extents = Vector3(1, 1, 1) +direction = Vector3(0, -1, 0) +initial_velocity_max = 5.0 +gravity = Vector3(0, -1, 0) +scale_min = 0.099999994 +scale_max = 0.19999999 +scale_curve = SubResource("CurveTexture_6q7o7") +turbulence_enabled = true +turbulence_noise_strength = 10.65 +turbulence_noise_scale = 5.353 +turbulence_influence_min = 0.010000001 +turbulence_influence_max = 0.05 + +[sub_resource type="QuadMesh" id="QuadMesh_h5qu5"] + +[sub_resource type="Resource" id="Resource_bdfmq"] +script = ExtResource("40_uqrk0") +seconds = 0.1 +timeLine = ExtResource("10_qfrgw") +metadata/_custom_type_script = "uid://ddhwhwos5kkrm" + +[sub_resource type="BoxShape3D" id="BoxShape3D_fd6ib"] +size = Vector3(1000, 1, 1000) + +[sub_resource type="BoxMesh" id="BoxMesh_ru76s"] +size = Vector3(1000, 1, 1000) +subdivide_width = 1 +subdivide_depth = 1 + +[sub_resource type="CylinderShape3D" id="CylinderShape3D_gwq84"] +height = 0.1 +radius = 7.048 + +[sub_resource type="PlaneMesh" id="PlaneMesh_qoe36"] +size = Vector2(50, 50) + +[sub_resource type="Gradient" id="Gradient_pld03"] +colors = PackedColorArray(0.85979897, 0.8257131, 0.8257131, 1, 1, 1, 1, 1) + +[sub_resource type="FastNoiseLite" id="FastNoiseLite_v3kle"] +frequency = 0.0301 + +[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_0m5ty"] +width = 128 +height = 128 +noise = SubResource("FastNoiseLite_v3kle") +color_ramp = SubResource("Gradient_pld03") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vwpba"] +transparency = 2 +alpha_scissor_threshold = 0.5 +alpha_antialiasing_mode = 0 +albedo_texture = ExtResource("43_pld03") +metallic = 0.24 +metallic_specular = 1.0 +roughness = 0.56 +roughness_texture = SubResource("NoiseTexture2D_0m5ty") +emission_enabled = true +emission_energy_multiplier = 0.0 +emission_texture = ExtResource("43_pld03") +normal_enabled = true +normal_scale = -1.0 +normal_texture = ExtResource("43_pld03") +texture_filter = 4 + +[sub_resource type="BoxShape3D" id="BoxShape3D_0m5ty"] +size = Vector3(0.9808079, 0.9916992, 1.0625534) + +[sub_resource type="BoxShape3D" id="BoxShape3D_qoe36"] +size = Vector3(1.4232316, 2.085785, 1.3759289) + +[sub_resource type="BoxShape3D" id="BoxShape3D_nh6ww"] +size = Vector3(0.6066759, 1.0033569, 0.6911286) + +[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_fqgfq"] +load_path = "res://.godot/imported/colormap.png-92246f7b6205d2eea7ccb1eb6cbf4ff9.s3tc.ctex" + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ivlrh"] +resource_name = "colormap" +cull_mode = 2 +albedo_texture = SubResource("CompressedTexture2D_fqgfq") +texture_filter = 2 +stencil_mode = 3 +stencil_flags = 2 + +[sub_resource type="CapsuleMesh" id="CapsuleMesh_vwpba"] +radius = 0.158 +height = 0.365 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qn1m4"] +shading_mode = 0 +albedo_color = Color(1.4206064, 0.8476043, 0.41147977, 1) +stencil_mode = 3 +stencil_flags = 2 + +[sub_resource type="QuadMesh" id="QuadMesh_aw6nk"] + +[sub_resource type="Gradient" id="Gradient_bs08e"] +offsets = PackedFloat32Array(0.030150754, 0.37939698, 0.6532663, 1) +colors = PackedColorArray(1.1852031, 0.92332155, 0.20314768, 1, 1, 0.66999996, 0.100000024, 0.28235295, 0.83, 0.15216666, 0, 0.21960784, 0.26947108, 0, 0.62219584, 0) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_oeaw5"] +gradient = SubResource("Gradient_bs08e") +fill = 1 +fill_from = Vector2(0.5, 0.5) +fill_to = Vector2(1, 0.5) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1y0cs"] +render_priority = 2 +transparency = 1 +blend_mode = 1 +cull_mode = 2 +shading_mode = 0 +albedo_texture = SubResource("GradientTexture2D_oeaw5") +billboard_mode = 1 +billboard_keep_scale = true +proximity_fade_enabled = true +proximity_fade_distance = 0.13 +stencil_mode = 3 +stencil_flags = 1 +stencil_compare = 5 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_wxqep"] +resource_name = "colormap" +cull_mode = 2 +albedo_texture = ExtResource("43_h5qu5") +emission_enabled = true +emission_energy_multiplier = 1.3 +emission_texture = ExtResource("43_h5qu5") +texture_filter = 2 + +[sub_resource type="BoxShape3D" id="BoxShape3D_wdchy"] +size = Vector3(1.1263962, 0.38949585, 0.5920563) + +[sub_resource type="BoxShape3D" id="BoxShape3D_vemra"] +size = Vector3(1.1195068, 0.7865448, 0.20730782) + +[sub_resource type="BoxShape3D" id="BoxShape3D_qlsir"] +size = Vector3(2.8800235, 5.0335083, 9.97258) + +[sub_resource type="BoxShape3D" id="BoxShape3D_rwf7d"] +size = Vector3(2.609571, 5, 7.75) + +[sub_resource type="BoxShape3D" id="BoxShape3D_12vd0"] +size = Vector3(3.063257, 7.5567627, 2.5717773) + +[sub_resource type="BoxShape3D" id="BoxShape3D_wxqep"] +size = Vector3(3.063257, 7.5567627, 2.5717773) + +[sub_resource type="BoxShape3D" id="BoxShape3D_fqgfq"] +size = Vector3(2.5478761, 2.6059875, 2.5717773) + +[sub_resource type="QuadMesh" id="QuadMesh_bdfmq"] +size = Vector2(2.5, 2.5) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_730hx"] +transparency = 2 +alpha_scissor_threshold = 0.5 +alpha_antialiasing_mode = 0 +cull_mode = 2 +albedo_texture = ExtResource("46_cunny") +roughness = 0.25 +normal_enabled = true +normal_texture = ExtResource("46_cunny") +backlight_enabled = true +backlight = Color(0.74509805, 0.6745098, 0.59607846, 1) +texture_filter = 4 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ap2uv"] +transparency = 2 +alpha_scissor_threshold = 0.5 +alpha_antialiasing_mode = 0 +cull_mode = 2 +albedo_texture = ExtResource("47_xa56p") +roughness = 0.25 +normal_enabled = true +normal_texture = ExtResource("47_xa56p") +backlight_enabled = true +backlight = Color(0.7443918, 0.6751514, 0.59738904, 1) +texture_filter = 4 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_pld03"] +transparency = 2 +alpha_scissor_threshold = 0.5 +alpha_antialiasing_mode = 0 +cull_mode = 2 +albedo_texture = ExtResource("51_enjti") +roughness = 0.25 +emission_enabled = true +emission_energy_multiplier = 1.5 +emission_texture = ExtResource("52_gk02k") +normal_enabled = true +normal_texture = ExtResource("51_enjti") +backlight_enabled = true +backlight = Color(0.7443918, 0.6751514, 0.59738904, 1) +texture_filter = 4 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_v3kle"] +transparency = 2 +alpha_scissor_threshold = 0.5 +alpha_antialiasing_mode = 0 +cull_mode = 2 +albedo_texture = ExtResource("51_enjti") +roughness = 0.25 +emission_enabled = true +emission_energy_multiplier = 1.5 +emission_texture = ExtResource("52_gk02k") +normal_enabled = true +normal_texture = ExtResource("51_enjti") +backlight_enabled = true +backlight = Color(0.7443918, 0.6751514, 0.59738904, 1) +texture_filter = 4 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_0m5ty"] +transparency = 2 +alpha_scissor_threshold = 0.5 +alpha_antialiasing_mode = 0 +cull_mode = 2 +albedo_texture = ExtResource("51_enjti") +roughness = 0.25 +emission_enabled = true +emission_energy_multiplier = 1.5 +emission_texture = ExtResource("52_gk02k") +normal_enabled = true +normal_texture = ExtResource("51_enjti") +backlight_enabled = true +backlight = Color(0.7443918, 0.6751514, 0.59738904, 1) +texture_filter = 4 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qoe36"] +transparency = 2 +alpha_scissor_threshold = 0.5 +alpha_antialiasing_mode = 0 +cull_mode = 2 +albedo_texture = ExtResource("51_enjti") +roughness = 0.25 +emission_enabled = true +emission_energy_multiplier = 1.5 +emission_texture = ExtResource("52_gk02k") +normal_enabled = true +normal_texture = ExtResource("51_enjti") +backlight_enabled = true +backlight = Color(0.7443918, 0.6751514, 0.59738904, 1) +texture_filter = 4 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vqjw2"] + +[sub_resource type="ArrayMesh" id="ArrayMesh_16rqs"] +_surfaces = [{ +"aabb": AABB(-1.2500001, 0.0009343289, -1.25, 2.5000002, 1.2492443, 2.5), +"format": 34896613377, +"index_count": 12, +"index_data": PackedByteArray("AAABAAIAAwAAAAIABAAFAAIABQAGAAIA"), +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 7, +"vertex_data": PackedByteArray("/v8AAAAAAAD+/wAA//8AAP9/////fwAAAAAAAAAAAAD//wAA//8AAAAAAAD//wAAAAAAAAAAAAA=") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_vjiq0"] +resource_name = "roof-spiky_Cone" +_surfaces = [{ +"aabb": AABB(-1.2500001, 0.0009343289, -1.25, 2.5000002, 1.2492443, 2.5), +"attribute_data": PackedByteArray("AAD/////////fwAAAAD/////////fwAAAAD/////////fwAAAAD/////////fwAA"), +"format": 34896613399, +"index_count": 12, +"index_data": PackedByteArray("AAABAAIAAwAEAAUABgAHAAgACQAKAAsA"), +"material": SubResource("StandardMaterial3D_vqjw2"), +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 12, +"vertex_data": PackedByteArray("/v8AAAAAVhb+/wAA//9WFv9/////f1YWAAAAAAAAAiD+/wAAAAACIP9/////fwIgAAAAAP//VhYAAAAAAABWFv9/////f1YW//8AAP//AAAAAAAA//8AAP9/////fwAAA7X3lQO195UDtfeV////f////3////9/B+oDNQfqAzUH6gM1/39/pf9/f6X/f3+l") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_16rqs") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_a77ga"] + +[sub_resource type="ArrayMesh" id="ArrayMesh_hu1x1"] +_surfaces = [{ +"aabb": AABB(-1.25, 0, -1.25, 2.5, 1.25, 2.5), +"format": 34896613377, +"index_count": 30, +"index_data": PackedByteArray("AAABAAIAAQADAAIAAgADAAQAAgAEAAAAAQAFAAMAAAAEAAYABwAFAAEAAAAHAAEABwAGAAUAAAAGAAcA"), +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 8, +"vertex_data": PackedByteArray("/z////+/AAD/v////z8AAP+/////vwAA//8AAP//AAAAAAAA//8AAP//AAAAAAAAAAAAAAAAAAD/P////z8AAA==") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_pms08"] +resource_name = "roof_Plane_001" +_surfaces = [{ +"aabb": AABB(-1.25, 0, -1.25, 2.5, 1.25, 2.5), +"attribute_data": PackedByteArray("D6r3pmn2nVpp9vemD6qdWuqA0DTzDsTM8DTQNOemxMzqgNA08w7EzPA00DTnpsTM6oDQNPMOxMzwNNA056bEzOqA0DTzDsTM8DTQNOemxMw="), +"format": 34896613399, +"index_count": 30, +"index_data": PackedByteArray("AAABAAIAAAADAAEABAAFAAYABAAHAAUACAAJAAoACAALAAkADAANAA4ADAAPAA0AEAARABIAEAATABEA"), +"material": SubResource("StandardMaterial3D_a77ga"), +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 20, +"vertex_data": PackedByteArray("/z////+//7//v////z//v/+/////v/+//z////8//7//P////z//////AAAAAP///7////8///8AAAAAAAD///8/////vybCAAAAAAAAJsL/P////z8mwgAAAAD//ybC/7////+/45IAAAAA///jkv8/////v+OS//8AAP//45L/v////z8mwv//AAD//ybC/7////+/JsL//wAAAAAmwv///3////9/////f////3//f4zn/3+M5/9/jOf/f4znhpTx1oaU8daGlPHWhpTx1v///3////9/////f////38MqYYUDKmGFAyphhQMqYYU") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_hu1x1") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xa56p"] +albedo_texture = ExtResource("48_e8plc") +metallic_specular = 0.25 +roughness = 0.25 +normal_enabled = true +normal_texture = ExtResource("48_e8plc") +texture_filter = 4 + +[sub_resource type="QuadMesh" id="QuadMesh_oqlxm"] + +[sub_resource type="FastNoiseLite" id="FastNoiseLite_h5qu5"] +noise_type = 2 +frequency = 0.0089 + +[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_enjti"] +width = 64 +height = 64 +noise = SubResource("FastNoiseLite_h5qu5") +seamless = true +as_normal_map = true +seamless_blend_skirt = 0.717 + +[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_gk02k"] +width = 64 +height = 64 +noise = SubResource("FastNoiseLite_h5qu5") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_12vd0"] +transparency = 2 +alpha_scissor_threshold = 0.5 +alpha_antialiasing_mode = 0 +cull_mode = 2 +albedo_color = Color(0.13159366, 0.38459277, 0.15716511, 1) +albedo_texture = ExtResource("54_ap2uv") +metallic = 0.16 +metallic_specular = 0.49 +roughness = 0.89 +roughness_texture = SubResource("NoiseTexture2D_gk02k") +normal_enabled = true +normal_scale = 0.5 +normal_texture = SubResource("NoiseTexture2D_enjti") +subsurf_scatter_strength = 1.0 +subsurf_scatter_skin_mode = true +subsurf_scatter_transmittance_enabled = true +subsurf_scatter_transmittance_depth = 8.0 +subsurf_scatter_transmittance_boost = 1.0 +backlight_enabled = true +backlight = Color(0, 0.35743815, 0.074528545, 1) + +[sub_resource type="FastNoiseLite" id="FastNoiseLite_y7gwn"] +noise_type = 2 +frequency = 0.0089 + +[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_mql5u"] +width = 64 +height = 64 +noise = SubResource("FastNoiseLite_y7gwn") +seamless = true +as_normal_map = true +seamless_blend_skirt = 0.717 + +[sub_resource type="FastNoiseLite" id="FastNoiseLite_oqlxm"] +noise_type = 2 +frequency = 0.0089 + +[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_h5qu5"] +width = 64 +height = 64 +noise = SubResource("FastNoiseLite_oqlxm") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_enjti"] +transparency = 2 +alpha_scissor_threshold = 0.5 +alpha_antialiasing_mode = 0 +cull_mode = 2 +albedo_color = Color(0.2711402, 0.37254903, 0.15686275, 1) +albedo_texture = ExtResource("55_s6flo") +metallic = 0.16 +metallic_specular = 0.49 +roughness = 0.89 +roughness_texture = SubResource("NoiseTexture2D_h5qu5") +normal_enabled = true +normal_scale = 0.5 +normal_texture = SubResource("NoiseTexture2D_mql5u") +subsurf_scatter_strength = 1.0 +subsurf_scatter_skin_mode = true +subsurf_scatter_transmittance_enabled = true +subsurf_scatter_transmittance_depth = 8.0 +subsurf_scatter_transmittance_boost = 1.0 +backlight_enabled = true +backlight = Color(0, 0.35743815, 0.074528545, 1) + +[sub_resource type="PlaneMesh" id="PlaneMesh_31pys"] +size = Vector2(7.5, 10) + +[sub_resource type="BoxShape3D" id="BoxShape3D_enjti"] +size = Vector3(7.5593777, 2.6741943, 2.407074) + +[sub_resource type="BoxShape3D" id="BoxShape3D_h5qu5"] +size = Vector3(4.859543, 2.6741943, 2.407074) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_nh6ww"] +transparency = 2 +alpha_scissor_threshold = 0.5 +alpha_antialiasing_mode = 0 +cull_mode = 2 +albedo_texture = ExtResource("51_enjti") +roughness = 0.25 +emission_enabled = true +emission_energy_multiplier = 1.5 +emission_texture = ExtResource("52_gk02k") +normal_enabled = true +normal_texture = ExtResource("51_enjti") +backlight_enabled = true +backlight = Color(0.7443918, 0.6751514, 0.59738904, 1) +texture_filter = 4 + +[sub_resource type="QuadMesh" id="QuadMesh_enjti"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_rwf7d"] +albedo_texture = ExtResource("56_mql5u") +texture_filter = 4 + +[sub_resource type="PlaneMesh" id="PlaneMesh_vnoge"] +size = Vector2(2.5, 5) + +[sub_resource type="PlaneMesh" id="PlaneMesh_06wgu"] +size = Vector2(2.5, 2.5) + +[sub_resource type="BoxShape3D" id="BoxShape3D_pld03"] +size = Vector3(2.4850063, 2.5550842, 2.76231) + +[sub_resource type="BoxShape3D" id="BoxShape3D_v3kle"] +size = Vector3(2.437643, 2.6436157, 0.49477673) + +[sub_resource type="BoxShape3D" id="BoxShape3D_gwq84"] + +[sub_resource type="QuadMesh" id="QuadMesh_uqrk0"] + +[sub_resource type="Gradient" id="Gradient_hq3bi"] +colors = PackedColorArray(0.36422682, 0.36422682, 0.36422682, 1, 1, 1, 1, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_rp6gr"] +gradient = SubResource("Gradient_hq3bi") +fill_from = Vector2(0, 1) +fill_to = Vector2(0, 0.29946524) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_205s3"] +transparency = 2 +alpha_scissor_threshold = 0.5 +alpha_antialiasing_mode = 0 +cull_mode = 2 +albedo_texture = ExtResource("50_getpf") +rim_enabled = true +rim = 0.27 +rim_tint = 0.79 +ao_enabled = true +ao_light_affect = 1.0 +ao_texture = SubResource("GradientTexture2D_rp6gr") +subsurf_scatter_enabled = true +subsurf_scatter_strength = 1.0 +subsurf_scatter_skin_mode = true +subsurf_scatter_transmittance_enabled = true +subsurf_scatter_transmittance_depth = 2.53 +subsurf_scatter_transmittance_boost = 1.0 +backlight_enabled = true +backlight = Color(0.6896409, 0.7240258, 0.53819084, 1) +texture_filter = 4 +billboard_keep_scale = true + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_bsxpb"] +transparency = 2 +alpha_scissor_threshold = 0.5 +alpha_antialiasing_mode = 0 +cull_mode = 2 +albedo_texture = ExtResource("151_txdr1") +rim_enabled = true +rim = 0.27 +rim_tint = 0.79 +ao_enabled = true +ao_light_affect = 1.0 +ao_texture = SubResource("GradientTexture2D_rp6gr") +subsurf_scatter_enabled = true +subsurf_scatter_strength = 1.0 +subsurf_scatter_skin_mode = true +subsurf_scatter_transmittance_enabled = true +subsurf_scatter_transmittance_depth = 2.53 +subsurf_scatter_transmittance_boost = 1.0 +backlight_enabled = true +backlight = Color(0.6896409, 0.7240258, 0.53819084, 1) +texture_filter = 4 +billboard_keep_scale = true + +[sub_resource type="Gradient" id="Gradient_b71pn"] +offsets = PackedFloat32Array(0.15357143, 0.6642857) +colors = PackedColorArray(0.7511804, 0.63915396, 0.533675, 1, 0.8258557, 0.7304866, 0.6030216, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_42ic2"] +gradient = SubResource("Gradient_b71pn") +width = 16 +height = 16 +fill_from = Vector2(0, 1) +fill_to = Vector2(0.34615386, 1) +repeat = 2 + +[sub_resource type="Gradient" id="Gradient_oi8o8"] +colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_nxasu"] +gradient = SubResource("Gradient_oi8o8") +width = 16 +height = 16 +fill_from = Vector2(0, 1) +fill_to = Vector2(0, 0) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_23vqh"] +cull_mode = 2 +albedo_texture = SubResource("GradientTexture2D_42ic2") +metallic_specular = 0.33 +roughness = 0.13 +ao_enabled = true +ao_light_affect = 1.0 +ao_texture = SubResource("GradientTexture2D_nxasu") +texture_filter = 4 + +[sub_resource type="BoxShape3D" id="BoxShape3D_gk02k"] +size = Vector3(2.6936455, 4.9445496, 5.082571) + +[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_ebf7l"] +load_path = "res://.godot/imported/ivy-2.png-d47407556f6ca551f4919c061b178b06.ctex" + +[sub_resource type="FastNoiseLite" id="FastNoiseLite_loqre"] +noise_type = 2 +frequency = 0.0089 + +[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_jhmds"] +width = 64 +height = 64 +noise = SubResource("FastNoiseLite_loqre") +seamless = true +as_normal_map = true +seamless_blend_skirt = 0.717 + +[sub_resource type="FastNoiseLite" id="FastNoiseLite_mseeg"] +noise_type = 2 +frequency = 0.0089 + +[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_pv02u"] +width = 64 +height = 64 +noise = SubResource("FastNoiseLite_mseeg") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_dq7d0"] +transparency = 2 +alpha_scissor_threshold = 0.5 +alpha_antialiasing_mode = 0 +cull_mode = 2 +albedo_color = Color(0.44516337, 0.5339433, 0.20025343, 1) +albedo_texture = SubResource("CompressedTexture2D_ebf7l") +metallic = 0.16 +metallic_specular = 0.49 +roughness = 0.89 +roughness_texture = SubResource("NoiseTexture2D_pv02u") +normal_enabled = true +normal_scale = 0.5 +normal_texture = SubResource("NoiseTexture2D_jhmds") +subsurf_scatter_strength = 1.0 +subsurf_scatter_skin_mode = true +subsurf_scatter_transmittance_enabled = true +subsurf_scatter_transmittance_depth = 8.0 +subsurf_scatter_transmittance_boost = 1.0 +backlight_enabled = true +backlight = Color(0, 0.35743815, 0.074528545, 1) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_412gp"] +transparency = 2 +alpha_scissor_threshold = 0.5 +alpha_antialiasing_mode = 0 +cull_mode = 2 +albedo_color = Color(0.47284538, 0.2475404, 0.099597, 1) +albedo_texture = SubResource("CompressedTexture2D_ebf7l") +metallic = 0.16 +metallic_specular = 0.49 +roughness = 0.89 +roughness_texture = SubResource("NoiseTexture2D_pv02u") +normal_enabled = true +normal_scale = 0.5 +normal_texture = SubResource("NoiseTexture2D_jhmds") +subsurf_scatter_strength = 1.0 +subsurf_scatter_skin_mode = true +subsurf_scatter_transmittance_enabled = true +subsurf_scatter_transmittance_depth = 8.0 +subsurf_scatter_transmittance_boost = 1.0 +backlight_enabled = true +backlight = Color(0, 0.35743815, 0.074528545, 1) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_pp0bs"] +transparency = 2 +alpha_scissor_threshold = 0.5 +alpha_antialiasing_mode = 0 +cull_mode = 2 +albedo_color = Color(0.47284538, 0.2475404, 0.099597, 1) +albedo_texture = ExtResource("54_ap2uv") +metallic = 0.16 +metallic_specular = 0.49 +roughness = 0.89 +roughness_texture = SubResource("NoiseTexture2D_pv02u") +normal_enabled = true +normal_scale = 0.5 +normal_texture = SubResource("NoiseTexture2D_jhmds") +subsurf_scatter_strength = 1.0 +subsurf_scatter_skin_mode = true +subsurf_scatter_transmittance_enabled = true +subsurf_scatter_transmittance_depth = 8.0 +subsurf_scatter_transmittance_boost = 1.0 +backlight_enabled = true +backlight = Color(0, 0.35743815, 0.074528545, 1) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_t2h31"] +transparency = 2 +alpha_scissor_threshold = 0.5 +alpha_antialiasing_mode = 0 +cull_mode = 2 +albedo_color = Color(0.47284538, 0.2475404, 0.099597, 1) +albedo_texture = ExtResource("54_ap2uv") +metallic = 0.16 +metallic_specular = 0.49 +roughness = 0.89 +roughness_texture = SubResource("NoiseTexture2D_pv02u") +normal_enabled = true +normal_scale = 0.5 +normal_texture = SubResource("NoiseTexture2D_jhmds") +subsurf_scatter_strength = 1.0 +subsurf_scatter_skin_mode = true +subsurf_scatter_transmittance_enabled = true +subsurf_scatter_transmittance_depth = 8.0 +subsurf_scatter_transmittance_boost = 1.0 +backlight_enabled = true +backlight = Color(0, 0.35743815, 0.074528545, 1) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ubijs"] +transparency = 2 +alpha_scissor_threshold = 0.5 +alpha_antialiasing_mode = 0 +cull_mode = 2 +albedo_color = Color(0.58825254, 0.49097013, 0.16259211, 1) +albedo_texture = SubResource("CompressedTexture2D_ebf7l") +metallic = 0.16 +metallic_specular = 0.49 +roughness = 0.89 +roughness_texture = SubResource("NoiseTexture2D_pv02u") +normal_enabled = true +normal_scale = 0.5 +normal_texture = SubResource("NoiseTexture2D_jhmds") +subsurf_scatter_strength = 1.0 +subsurf_scatter_skin_mode = true +subsurf_scatter_transmittance_enabled = true +subsurf_scatter_transmittance_depth = 8.0 +subsurf_scatter_transmittance_boost = 1.0 +backlight_enabled = true +backlight = Color(0, 0.35743815, 0.074528545, 1) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_tdk3c"] +transparency = 2 +alpha_scissor_threshold = 0.5 +alpha_antialiasing_mode = 0 +cull_mode = 2 +albedo_color = Color(0.6357732, 0.3232535, 0.071197495, 1) +albedo_texture = SubResource("CompressedTexture2D_ebf7l") +metallic = 0.16 +metallic_specular = 0.49 +roughness = 0.89 +roughness_texture = SubResource("NoiseTexture2D_pv02u") +normal_enabled = true +normal_scale = 0.5 +normal_texture = SubResource("NoiseTexture2D_jhmds") +subsurf_scatter_strength = 1.0 +subsurf_scatter_skin_mode = true +subsurf_scatter_transmittance_enabled = true +subsurf_scatter_transmittance_depth = 8.0 +subsurf_scatter_transmittance_boost = 1.0 +backlight_enabled = true +backlight = Color(0, 0.35743815, 0.074528545, 1) + +[sub_resource type="PlaneMesh" id="PlaneMesh_gla4y"] +size = Vector2(2.5, 5) + +[sub_resource type="BoxShape3D" id="BoxShape3D_pgnem"] +size = Vector3(2.0499153, 1, 4.1105957) + [node name="Main" type="Node"] script = ExtResource("1_rii6w") metadata/_custom_type_script = "uid://dedtmhyfax8p0" @@ -1378,6 +1960,12 @@ realtimeTimeline = ExtResource("11_sl01w") script = ExtResource("12_d1bft") data = SubResource("Resource_ytmp3") +[node name="Music" type="Node" parent="App/Audio Manager"] + +[node name="New Bells" type="AudioStreamPlayer" parent="App/Audio Manager/Music"] +stream = ExtResource("12_06wgu") +volume_db = -12.0 + [node name="Rendering Manager" type="Node" parent="App"] script = ExtResource("14_h0lbo") data = SubResource("Resource_yb73r") @@ -1390,10 +1978,59 @@ metadata/_custom_type_script = "uid://dqgh1ba6suibb" [node name="PostProcessingHack" type="Node" parent="App/Rendering Manager/Post Processing OnTick" node_paths=PackedStringArray("environment")] script = ExtResource("17_vo330") -compositorEffects = [SubResource("CompositorEffect_cdcpq"), SubResource("CompositorEffect_ruj5i")] +compositorEffects = [SubResource("CompositorEffect_cdcpq"), SubResource("CompositorEffect_31pys"), SubResource("CompositorEffect_dq7d0"), SubResource("CompositorEffect_tdk3c")] environment = NodePath("../../../Camera Setup/WorldEnvironment") metadata/_custom_type_script = "uid://cln7p47awviht" +[node name="OnProcess" type="Node" parent="App/Rendering Manager"] +script = ExtResource("25_bm7sa") +metadata/_custom_type_script = "uid://cl36x2jgfuypo" + +[node name="Set Global Player Position" type="Node" parent="App/Rendering Manager/OnProcess" node_paths=PackedStringArray("node3D")] +script = ExtResource("23_524ac") +node3D = NodePath("../../../../CharacterController/CharacterBody3D") +global = true +name = ExtResource("14_dis6l") +metadata/_custom_type_script = "uid://3e3n1jav7rh2" + +[node name="Set Global Smoothed Player Position" type="Node" parent="App/Rendering Manager/OnProcess" node_paths=PackedStringArray("node3D", "debug")] +script = ExtResource("23_524ac") +node3D = NodePath("../../../../CharacterController/CharacterBody3D") +global = true +name = ExtResource("18_b71pn") +smoothing = SubResource("Resource_t2h31") +timeLine = ExtResource("10_qfrgw") +debug = NodePath("MeshInstance3D") +metadata/_custom_type_script = "uid://3e3n1jav7rh2" + +[node name="MeshInstance3D" type="MeshInstance3D" parent="App/Rendering Manager/OnProcess/Set Global Smoothed Player Position"] +visible = false +mesh = SubResource("CapsuleMesh_b71pn") +surface_material_override/0 = SubResource("StandardMaterial3D_42ic2") + +[node name="TweenFloat" type="Node" parent="App/Rendering Manager"] +script = ExtResource("48_pp0bs") +target = SubResource("Compositor_6esk7") +targetMemberPath = "CompositorEffects/2/pixelSize" +endValue = 1.0 +duration = SubResource("Resource_q8n2a") +curve = ExtResource("31_t2h31") +metadata/_custom_type_script = "uid://dm4i0s67kio5v" + +[node name="TweenPixels" type="Node" parent="App/Rendering Manager" node_paths=PackedStringArray("worldEnvironment")] +script = ExtResource("32_ubijs") +worldEnvironment = NodePath("../../Camera Setup/WorldEnvironment") +effectIndex = 2 +endValue = 1.0 +duration = SubResource("Resource_aa62o") +curve = ExtResource("31_t2h31") +metadata/_custom_type_script = "uid://2ljfg1gg0jkf" + +[node name="WindManager" type="Node" parent="App"] +script = ExtResource("27_celbq") +data = SubResource("Resource_pp0bs") +metadata/_custom_type_script = "uid://4hkiet2dxff4" + [node name="Camera Setup" type="Node" parent="App"] script = ExtResource("16_ctjju") @@ -1416,17 +2053,331 @@ compositor = SubResource("Compositor_6esk7") [node name="Main Camera" type="Camera3D" parent="App/Camera Setup"] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0, 0, 0) +cull_mask = 1048567 fov = 60.0 [node name="Debug Editor Camera" type="Node3D" parent="App/Camera Setup"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -10) script = ExtResource("23_yr58t") +[node name="SubViewport" type="SubViewport" parent="App/Camera Setup"] +handle_input_locally = false +scaling_3d_scale = 1.01 +anisotropic_filtering_level = 0 +canvas_cull_mask = 4293918728 +oversampling = false +render_target_update_mode = 4 + +[node name="Map Camera" type="Camera3D" parent="App/Camera Setup/SubViewport"] +transform = Transform3D(1, 0, 0, 0, -4.371139e-08, 1, 0, -1, -4.371139e-08, 5.857811, 14.75465, 5.2830324) +cull_mask = 8 +environment = SubResource("Environment_ydkll") +projection = 1 +fov = 55.5 +size = 200.0 +near = 1.228 + +[node name="OnProcess" type="Node" parent="App/Camera Setup/SubViewport"] +script = ExtResource("25_bm7sa") +metadata/_custom_type_script = "uid://cl36x2jgfuypo" + +[node name="CopyPositionXZ" type="Node" parent="App/Camera Setup/SubViewport/OnProcess" node_paths=PackedStringArray("source", "target")] +script = ExtResource("40_getpf") +source = NodePath("../../../../../CharacterController/CharacterBody3D") +target = NodePath("../../Map Camera") +metadata/_custom_type_script = "uid://cvpseyll6lrh5" + +[node name="CopyYaw" type="Node" parent="App/Camera Setup/SubViewport/OnProcess" node_paths=PackedStringArray("source", "target")] +script = ExtResource("27_vnoge") +source = NodePath("../../../Main Camera") +target = NodePath("../../../../../CharacterController/Graphics/Map Geometry Camera Rotation") +metadata/_custom_type_script = "uid://bekhujf301q48" + +[node name="ActionSequence" type="Node" parent="App/Camera Setup"] +script = ExtResource("91_vgxo8") +metadata/_custom_type_script = "uid://ceaglilesxsi4" + +[node name="Wipe In" type="Node" parent="App/Camera Setup/ActionSequence"] +script = ExtResource("45_loqre") +duration = SubResource("Resource_dq7d0") +wipeSettings = SubResource("Resource_p7jqt") +metadata/_custom_type_script = "uid://c4s7kbtpirx6b" + +[node name="Pixelate" type="Node" parent="App/Camera Setup/ActionSequence"] +script = ExtResource("48_pp0bs") +target = SubResource("Compositor_6esk7") +targetMemberPath = "CompositorEffects/2/pixelSize" +endValue = 10.0 +duration = SubResource("Resource_q8n2a") +curve = SubResource("Curve_vh1c2") +metadata/_custom_type_script = "uid://dm4i0s67kio5v" + +[node name="Blur" type="Node" parent="App/Camera Setup/ActionSequence"] +script = ExtResource("48_pp0bs") +target = SubResource("Compositor_6esk7") +targetMemberPath = "CompositorEffects/3/intensity" +endValue = 1.0 +duration = SubResource("Resource_q8n2a") +curve = ExtResource("31_t2h31") +metadata/_custom_type_script = "uid://dm4i0s67kio5v" + +[node name="Wipe 2 In" type="Node" parent="App/Camera Setup/ActionSequence"] +script = ExtResource("45_loqre") +duration = SubResource("Resource_tdk3c") +wipeSettings = SubResource("Resource_drk6d") +metadata/_custom_type_script = "uid://c4s7kbtpirx6b" + +[node name="Delay" type="Node" parent="App/Camera Setup/ActionSequence"] +script = ExtResource("92_tr1d7") +duration = 0.5 +timeLine = ExtResource("11_sl01w") +metadata/_custom_type_script = "uid://b2g7rycr0ouu4" + +[node name="Wipe 2 Out" type="Node" parent="App/Camera Setup/ActionSequence"] +script = ExtResource("45_loqre") +direction = 1 +duration = SubResource("Resource_tdk3c") +wipeSettings = SubResource("Resource_drk6d") +metadata/_custom_type_script = "uid://c4s7kbtpirx6b" + +[node name="Un-Blur" type="Node" parent="App/Camera Setup/ActionSequence"] +script = ExtResource("48_pp0bs") +target = SubResource("Compositor_6esk7") +targetMemberPath = "CompositorEffects/3/intensity" +duration = SubResource("Resource_q8n2a") +curve = ExtResource("31_t2h31") +metadata/_custom_type_script = "uid://dm4i0s67kio5v" + +[node name="Unpixelate" type="Node" parent="App/Camera Setup/ActionSequence"] +script = ExtResource("48_pp0bs") +target = SubResource("Compositor_6esk7") +targetMemberPath = "CompositorEffects/2/pixelSize" +endValue = 1.0 +duration = SubResource("Resource_q8n2a") +curve = SubResource("Curve_drk6d") +metadata/_custom_type_script = "uid://dm4i0s67kio5v" + +[node name="Wipe Out" type="Node" parent="App/Camera Setup/ActionSequence"] +script = ExtResource("45_loqre") +direction = 1 +duration = SubResource("Resource_dq7d0") +wipeSettings = SubResource("Resource_p7jqt") +metadata/_custom_type_script = "uid://c4s7kbtpirx6b" + [node name="Third Person Camera" type="Node3D" parent="App" node_paths=PackedStringArray("target")] script = ExtResource("24_ntqly") target = NodePath("../../CharacterController/Graphics") settings = SubResource("Resource_ru76s") +[node name="UI" type="Control" parent="App" node_paths=PackedStringArray("collectablesContainer")] +layout_mode = 3 +anchors_preset = 0 +offset_right = 1152.0 +offset_bottom = 648.0 +script = ExtResource("54_7fsef") +collectablesContainer = NodePath("Collectables Container") +settings = ExtResource("38_rpmi0") +updateMode = 1 +useParentSize = true +uiSize = Vector2(1152, 648) +X_computedFontSizePixels = 11.52 +metadata/_custom_type_script = "uid://bbubpsnpa3lq0" + +[node name="Hearts" type="Control" parent="App/UI"] +anchors_preset = 0 +offset_right = 57.600002 +offset_bottom = 34.56 +script = ExtResource("39_ji1pb") +margin = SubResource("Resource_bm7sa") +position = 2 +left = SubResource("Resource_vnoge") +top = SubResource("Resource_06wgu") +metadata/_custom_type_script = "uid://c2hicupu28nbi" + +[node name="Heart" type="Control" parent="App/UI/Hearts"] +anchors_preset = 0 +offset_left = 11.52 +offset_top = 11.52 +offset_right = 23.04 +offset_bottom = 23.04 +pivot_offset = Vector2(5.76, 5.76) +script = ExtResource("39_ji1pb") +width = SubResource("Resource_gla4y") +height = SubResource("Resource_y6wps") +metadata/_custom_type_script = "uid://c2hicupu28nbi" + +[node name="Fill" type="TextureRect" parent="App/UI/Hearts/Heart"] +material = SubResource("ShaderMaterial_jtfq4") +layout_mode = 0 +offset_right = 11.52 +offset_bottom = 11.52 +pivot_offset = Vector2(5.76, 5.76) +texture = ExtResource("43_jrdb7") +expand_mode = 1 +script = ExtResource("44_kqgb3") +imageType = SubResource("Resource_q0f75") +width = SubResource("Resource_4wsps") +height = SubResource("Resource_dis6l") +position = 2 +left = SubResource("Resource_524ac") +top = SubResource("Resource_2750v") +metadata/_custom_type_script = "uid://bx0bk663u3hj5" + +[node name="Outline" type="TextureRect" parent="App/UI/Hearts/Heart"] +material = SubResource("ShaderMaterial_mk81p") +layout_mode = 0 +offset_right = 11.52 +offset_bottom = 11.52 +pivot_offset = Vector2(5.76, 5.76) +texture = ExtResource("47_yk3hl") +expand_mode = 1 +script = ExtResource("44_kqgb3") +imageType = SubResource("Resource_7fsef") +width = SubResource("Resource_4wsps") +height = SubResource("Resource_dis6l") +position = 2 +left = SubResource("Resource_524ac") +top = SubResource("Resource_2750v") +metadata/_custom_type_script = "uid://bx0bk663u3hj5" + +[node name="Heart2" type="Control" parent="App/UI/Hearts"] +anchors_preset = 0 +offset_left = 23.04 +offset_top = 11.52 +offset_right = 34.56 +offset_bottom = 23.04 +pivot_offset = Vector2(5.76, 5.76) +script = ExtResource("39_ji1pb") +width = SubResource("Resource_gla4y") +height = SubResource("Resource_y6wps") +metadata/_custom_type_script = "uid://c2hicupu28nbi" + +[node name="Fill" type="TextureRect" parent="App/UI/Hearts/Heart2"] +material = SubResource("ShaderMaterial_mo0ou") +layout_mode = 0 +offset_right = 11.52 +offset_bottom = 11.52 +pivot_offset = Vector2(5.76, 5.76) +texture = ExtResource("43_jrdb7") +expand_mode = 1 +script = ExtResource("44_kqgb3") +imageType = SubResource("Resource_q0f75") +width = SubResource("Resource_4wsps") +height = SubResource("Resource_dis6l") +position = 2 +left = SubResource("Resource_524ac") +top = SubResource("Resource_2750v") +metadata/_custom_type_script = "uid://bx0bk663u3hj5" + +[node name="Outline" type="TextureRect" parent="App/UI/Hearts/Heart2"] +material = SubResource("ShaderMaterial_228bp") +layout_mode = 0 +offset_right = 11.52 +offset_bottom = 11.52 +pivot_offset = Vector2(5.76, 5.76) +texture = ExtResource("47_yk3hl") +expand_mode = 1 +script = ExtResource("44_kqgb3") +imageType = SubResource("Resource_7fsef") +width = SubResource("Resource_4wsps") +height = SubResource("Resource_dis6l") +position = 2 +left = SubResource("Resource_524ac") +top = SubResource("Resource_2750v") +metadata/_custom_type_script = "uid://bx0bk663u3hj5" + +[node name="Heart3" type="Control" parent="App/UI/Hearts"] +anchors_preset = 0 +offset_left = 34.56 +offset_top = 11.52 +offset_right = 46.08 +offset_bottom = 23.04 +pivot_offset = Vector2(5.76, 5.76) +script = ExtResource("39_ji1pb") +width = SubResource("Resource_gla4y") +height = SubResource("Resource_y6wps") +metadata/_custom_type_script = "uid://c2hicupu28nbi" + +[node name="Fill" type="TextureRect" parent="App/UI/Hearts/Heart3"] +material = SubResource("ShaderMaterial_fs13k") +layout_mode = 0 +offset_right = 11.52 +offset_bottom = 11.52 +pivot_offset = Vector2(5.76, 5.76) +texture = ExtResource("43_jrdb7") +expand_mode = 1 +script = ExtResource("44_kqgb3") +imageType = SubResource("Resource_q0f75") +width = SubResource("Resource_4wsps") +height = SubResource("Resource_dis6l") +position = 2 +left = SubResource("Resource_524ac") +top = SubResource("Resource_2750v") +metadata/_custom_type_script = "uid://bx0bk663u3hj5" + +[node name="Outline" type="TextureRect" parent="App/UI/Hearts/Heart3"] +material = SubResource("ShaderMaterial_7e4fb") +layout_mode = 0 +offset_right = 11.52 +offset_bottom = 11.52 +pivot_offset = Vector2(5.76, 5.76) +texture = ExtResource("47_yk3hl") +expand_mode = 1 +script = ExtResource("44_kqgb3") +imageType = SubResource("Resource_7fsef") +width = SubResource("Resource_4wsps") +height = SubResource("Resource_dis6l") +position = 2 +left = SubResource("Resource_524ac") +top = SubResource("Resource_2750v") +metadata/_custom_type_script = "uid://bx0bk663u3hj5" + +[node name="Map" type="Control" parent="App/UI"] +anchors_preset = 0 +offset_left = 990.72 +offset_top = 486.72 +offset_right = 1152.0 +offset_bottom = 648.0 +script = ExtResource("39_ji1pb") +width = SubResource("Resource_nfrna") +height = SubResource("Resource_txdr1") +margin = SubResource("Resource_bm7sa") +position = 2 +right = SubResource("Resource_nlcvw") +bottom = SubResource("Resource_yttar") +metadata/_custom_type_script = "uid://c2hicupu28nbi" + +[node name="UIImage" type="TextureRect" parent="App/UI/Map"] +material = SubResource("ShaderMaterial_o8r6f") +layout_mode = 0 +offset_right = 138.24002 +offset_bottom = 138.23999 +pivot_offset = Vector2(69.12001, 69.119995) +texture = SubResource("ViewportTexture_31pys") +expand_mode = 1 +script = ExtResource("44_kqgb3") +imageType = SubResource("Resource_rp6gr") +width = SubResource("Resource_q6b7k") +height = SubResource("Resource_jdant") +position = 2 +left = SubResource("Resource_goqji") +top = SubResource("Resource_gwq84") +metadata/_custom_type_script = "uid://bx0bk663u3hj5" + +[node name="Collectables Container" type="Control" parent="App/UI"] +anchors_preset = 0 +offset_left = 1140.48 +offset_right = 1140.48 +offset_bottom = 648.0 +script = ExtResource("39_ji1pb") +verticalAlignment = SubResource("Resource_nxasu") +verticalPlacement = SubResource("Resource_ebf7l") +height = SubResource("Resource_loqre") +position = 2 +top = SubResource("Resource_jhmds") +right = SubResource("Resource_mseeg") +metadata/_custom_type_script = "uid://c2hicupu28nbi" + [node name="On Game Start" type="Node" parent="."] script = ExtResource("2_bdfmq") metadata/_custom_type_script = "uid://dyf6ee3ov3ran" @@ -1436,20 +2387,755 @@ script = ExtResource("3_fd6ib") tick = NodePath("../../App/Rendering Manager/Post Processing OnTick") metadata/_custom_type_script = "uid://cow7sv7kn0moo" -[node name="SetTick Snow" type="Node" parent="On Game Start" node_paths=PackedStringArray("tick")] -script = ExtResource("3_fd6ib") -tick = NodePath("../../Level/Snow/On Tick Snow") -metadata/_custom_type_script = "uid://cow7sv7kn0moo" +[node name="PlayMusic" type="Node" parent="On Game Start" node_paths=PackedStringArray("music")] +script = ExtResource("54_gla4y") +music = NodePath("../../App/Audio Manager/Music/New Bells") +metadata/_custom_type_script = "uid://cyicertlwo4m0" -[node name="SetCameraFarDOF" type="Node" parent="On Game Start" node_paths=PackedStringArray("worldEnvironment")] -script = ExtResource("4_gmaup") -worldEnvironment = NodePath("../../App/Camera Setup/WorldEnvironment") -metadata/_custom_type_script = "uid://o1xll543uue3" +[node name="CharacterController" type="Node" parent="." node_paths=PackedStringArray("body", "actionsContainer", "graphics")] +script = ExtResource("39_j7lf3") +body = NodePath("CharacterBody3D") +characterUpdateMode = 1 +actionsContainer = NodePath("Actions") +graphics = NodePath("Graphics") +rotationSmoothing = SubResource("Resource_ruj5i") +positionSmoothing = SubResource("Resource_hc41k") +metadata/_custom_type_script = "uid://de26c4war5vu1" + +[node name="Is Character Moving ?" type="Node" parent="CharacterController" node_paths=PackedStringArray("characterMovement")] +script = ExtResource("56_p5agv") +characterMovement = NodePath("../Actions/CharacterMovement") +needsToBeOnFloor = 1 +metadata/_custom_type_script = "uid://bwq7e6cx2oy8n" + +[node name="Collectables" type="Node" parent="CharacterController"] + +[node name="Presents" type="Node" parent="CharacterController/Collectables" node_paths=PackedStringArray("onChange")] +script = ExtResource("77_xoywq") +variableClass = ExtResource("80_xkggh") +onChange = NodePath("On Change") +metadata/_custom_type_script = "uid://c01nqtwmfostx" + +[node name="On Change" type="Node" parent="CharacterController/Collectables/Presents"] +script = ExtResource("79_dj82f") +message = "Presents Changed" +metadata/_custom_type_script = "uid://cd0ikdsdhutn0" + +[node name="CharacterBody3D" type="CharacterBody3D" parent="CharacterController"] +transform = Transform3D(-0.77190876, 0, 0.6357335, 0, 1, 0, -0.6357335, 0, -0.77190876, -16.7305, -0.14941612, 17.78726) +axis_lock_angular_x = true +axis_lock_angular_y = true +axis_lock_angular_z = true +metadata/_edit_group_ = true + +[node name="CollisionShape3D" type="CollisionShape3D" parent="CharacterController/CharacterBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0) +shape = SubResource("CapsuleShape3D_e8plc") + +[node name="Collectable Collider" type="Node" parent="CharacterController/CharacterBody3D" node_paths=PackedStringArray("area")] +script = ExtResource("80_3rj3l") +area = NodePath("../Collectable Area") +collisionType = ExtResource("72_jguvn") +metadata/_custom_type_script = "uid://xnupkyu3042b" + +[node name="Collectable Area" type="Area3D" parent="CharacterController/CharacterBody3D"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="CharacterController/CharacterBody3D/Collectable Area"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.03899598, 0) +shape = SubResource("SphereShape3D_alp68") + +[node name="Collector" type="Node" parent="CharacterController/CharacterBody3D" node_paths=PackedStringArray("onCollected")] +script = ExtResource("83_3o18d") +collectorTypeFlag = ExtResource("77_7drkg") +onCollected = NodePath("ActionList") +metadata/_custom_type_script = "uid://ccfk70dpt7r7r" + +[node name="ActionList" type="Node" parent="CharacterController/CharacterBody3D/Collector"] +script = ExtResource("90_5p3uc") +metadata/_custom_type_script = "uid://b4yjsis2fh64c" + +[node name="Collected Something" type="Node" parent="CharacterController/CharacterBody3D/Collector/ActionList"] +script = ExtResource("79_dj82f") +message = "Collected Something" +metadata/_custom_type_script = "uid://cd0ikdsdhutn0" + +[node name="PlaySound" type="Node" parent="CharacterController/CharacterBody3D/Collector/ActionList" node_paths=PackedStringArray("player")] +script = ExtResource("90_3rj3l") +player = NodePath("../../../Collected Sound") +metadata/_custom_type_script = "uid://ddgf2mfdmqywc" + +[node name="OnCollected" type="Node" parent="CharacterController/CharacterBody3D/Collector/ActionList" node_paths=PackedStringArray("collector", "onCollectedAction")] +script = ExtResource("90_aiyui") +collector = NodePath("../..") +includingTypes = [SubResource("Resource_3rj3l")] +onCollectedAction = NodePath("On Collected") +metadata/_custom_type_script = "uid://nfn3x4l7pcob" + +[node name="On Collected" type="Node" parent="CharacterController/CharacterBody3D/Collector/ActionList/OnCollected"] +script = ExtResource("90_5p3uc") +metadata/_custom_type_script = "uid://b4yjsis2fh64c" + +[node name="CollectItem" type="Node" parent="CharacterController/CharacterBody3D/Collector/ActionList/OnCollected/On Collected" node_paths=PackedStringArray("collector")] +script = ExtResource("82_nlcvw") +collector = NodePath("../../../..") +packedLabel = ExtResource("65_nlcvw") +metadata/_custom_type_script = "uid://ctgt20fqo2wqg" + +[node name="Collected Present" type="Node" parent="CharacterController/CharacterBody3D/Collector/ActionList/OnCollected/On Collected"] +script = ExtResource("79_dj82f") +message = "Collected Present" +metadata/_custom_type_script = "uid://cd0ikdsdhutn0" + +[node name="Collected Sound" type="AudioStreamPlayer3D" parent="CharacterController/CharacterBody3D"] +stream = ExtResource("93_f80vp") + +[node name="Foot Steps" type="AudioStreamPlayer3D" parent="CharacterController/CharacterBody3D"] +transform = Transform3D(0.9999999, 0, -1.4901161e-07, 0, 1, 0, 1.4901161e-07, 0, 0.9999999, 0, 0.22927472, 0) +stream = ExtResource("72_dis6l") +volume_db = -6.0 +unit_size = 50.0 +attenuation_filter_cutoff_hz = 20500.0 +attenuation_filter_db = 0.0 + +[node name="OnTick" type="Node" parent="CharacterController/CharacterBody3D" node_paths=PackedStringArray("action")] +script = ExtResource("16_vo330") +action = NodePath("ActionList") +tickDuration = SubResource("Resource_205s3") +activateOnReady = true +metadata/_custom_type_script = "uid://dqgh1ba6suibb" + +[node name="ActionList" type="Node" parent="CharacterController/CharacterBody3D/OnTick"] +script = ExtResource("90_5p3uc") +metadata/_custom_type_script = "uid://b4yjsis2fh64c" + +[node name="If Character Moves" type="Node" parent="CharacterController/CharacterBody3D/OnTick/ActionList" node_paths=PackedStringArray("sceneCondition", "ifAction")] +script = ExtResource("70_q0f75") +sceneCondition = NodePath("../../../../Is Character Moving ?") +ifAction = NodePath("On Foot Step") +metadata/_custom_type_script = "uid://dj6f8ie4bmaim" + +[node name="On Foot Step" type="Node" parent="CharacterController/CharacterBody3D/OnTick/ActionList/If Character Moves"] +script = ExtResource("90_5p3uc") +metadata/_custom_type_script = "uid://b4yjsis2fh64c" + +[node name="Make Foot Step Sound" type="Node" parent="CharacterController/CharacterBody3D/OnTick/ActionList/If Character Moves/On Foot Step" node_paths=PackedStringArray("player")] +script = ExtResource("90_3rj3l") +player = NodePath("../../../../../Foot Steps") +randomizePlaybackPosition = true +durationPerSound = SubResource("Resource_b71pn") +cutBufferLengths = 0.2 +metadata/_custom_type_script = "uid://ddgf2mfdmqywc" + +[node name="ActionReference" type="Node" parent="CharacterController/CharacterBody3D/OnTick/ActionList/If Character Moves/On Foot Step" node_paths=PackedStringArray("referencedAction")] +script = ExtResource("88_hq3bi") +referencedAction = NodePath("../../../../../../FootSteps") +metadata/_custom_type_script = "uid://dxra6jao22it4" + +[node name="Actions" type="Node" parent="CharacterController"] + +[node name="GroundReset" type="Node" parent="CharacterController/Actions"] +script = ExtResource("40_fd6ib") +metadata/_custom_type_script = "uid://bwog1ah37vltn" + +[node name="CharacterMovement" type="Node" parent="CharacterController/Actions" node_paths=PackedStringArray("directionSource", "onStartedMoving", "onStoppedMoving")] +script = ExtResource("41_vo330") +directionSource = NodePath("../../../App/Camera Setup/Main Camera") +moveSpeed = 750.0 +deviceMovementTypes = [SubResource("Resource_xa56p"), SubResource("Resource_rwf7d"), SubResource("Resource_0obc6")] +onFloorMovementSmoothing = SubResource("Resource_42ic2") +inAirMovementSmoothing = SubResource("Resource_oi8o8") +movingSpeedTreshold = 50.0 +onStartedMoving = NodePath("Set Animation Tree Moving On") +onStoppedMoving = NodePath("Set Animation Tree Moving Off") +forwardToRotationSmoothingFrames = SubResource("Curve_0obc6") +lookAlwaysForwardSmoothing = SubResource("Resource_fd6ib") +metadata/_custom_type_script = "uid://df7kaqvmnho05" + +[node name="Set Animation Tree Moving On" type="Node" parent="CharacterController/Actions/CharacterMovement" node_paths=PackedStringArray("tree")] +script = ExtResource("54_cdcpq") +tree = NodePath("../../../Graphics/Hoody Hood/AnimationTree") +name = "moving" +value = true +metadata/_custom_type_script = "uid://dykyfwv0qjcbn" + +[node name="Set Animation Tree Moving Off" type="Node" parent="CharacterController/Actions/CharacterMovement" node_paths=PackedStringArray("tree")] +script = ExtResource("54_cdcpq") +tree = NodePath("../../../Graphics/Hoody Hood/AnimationTree") +name = "moving" +metadata/_custom_type_script = "uid://dykyfwv0qjcbn" + +[node name="Gravity" type="Node" parent="CharacterController/Actions"] +script = ExtResource("42_vo330") +metadata/_custom_type_script = "uid://wgn1jn36geuy" + +[node name="MoveAndSlide" type="Node" parent="CharacterController/Actions"] +script = ExtResource("47_hvsi2") +useStepping = true +stepMaxHeight = 0.15 +metadata/_custom_type_script = "uid://bw5ivesxk1mgg" + +[node name="Graphics" type="Node3D" parent="CharacterController"] +transform = Transform3D(-0.7719073, 0, 0.63573235, 0, 1, 0, -0.63573235, 0, -0.7719073, 7.630791, -0.14941613, 28.152327) + +[node name="Hoody Hood" parent="CharacterController/Graphics" instance=ExtResource("54_p2tm2")] +transform = Transform3D(-0.7727, 0, -1.1667446e-07, 0, 0.7727, 0, 1.1667446e-07, 0, -0.7727, 0, 0.1585, 0) + +[node name="GeneralSkeleton" parent="CharacterController/Graphics/Hoody Hood/Rig_Medium" index="0"] +bones/1/position = Vector3(0, 0.3904698, 0) +bones/1/rotation = Quaternion(0.0009941452, 0.04315785, 4.294777e-05, 0.99906784) +bones/1/scale = Vector3(0.99999994, 1, 0.99999994) +bones/2/rotation = Quaternion(-0.0696433, 0.07243832, 0.9931748, -0.05921488) +bones/2/scale = Vector3(0.9999999, 0.9999998, 0.9999996) +bones/3/rotation = Quaternion(-1.253356e-07, 0.98464864, -0.17454863, -1.387621e-08) +bones/3/scale = Vector3(1.0000004, 0.9999996, 0.9999999) +bones/4/rotation = Quaternion(0.015586395, 0.62761104, -0.76893145, 0.12085549) +bones/4/scale = Vector3(1.0000004, 0.9999994, 1.000001) +bones/5/rotation = Quaternion(-5.562344e-06, 1, 0.00027670758, -3.994334e-06) +bones/5/scale = Vector3(1.0000001, 1.0000013, 0.9999986) +bones/6/rotation = Quaternion(-0.031921506, 0.048200656, 0.9978987, 0.029256338) +bones/6/scale = Vector3(0.9999999, 0.9999999, 0.9999996) +bones/7/rotation = Quaternion(1.5331577e-07, 0.9826007, -0.18573073, 2.0469066e-08) +bones/7/scale = Vector3(0.99999994, 0.9999994, 0.9999997) +bones/8/rotation = Quaternion(-0.045194816, 0.6013804, -0.7906665, -0.10557183) +bones/8/scale = Vector3(0.99999976, 0.9999993, 1.000001) +bones/9/rotation = Quaternion(7.434201e-05, 1, 0.00034067035, 5.3566793e-05) +bones/9/scale = Vector3(1.0000002, 1.0000015, 0.9999982) +bones/10/rotation = Quaternion(0.0025650368, -9.588267e-10, 0.00022202382, 0.9999967) +bones/10/scale = Vector3(1.0000001, 1, 1.0000001) +bones/11/rotation = Quaternion(0.0027040823, 2.8081741e-09, 0.00023405938, 0.9999963) +bones/12/rotation = Quaternion(-0.009075953, -0.031340457, -0.0004996441, 0.9994675) +bones/12/scale = Vector3(0.99999994, 1, 1) +bones/13/rotation = Quaternion(0.77908164, 0.3066033, -0.5313719, 0.1291128) +bones/13/scale = Vector3(0.99999994, 0.99999964, 1.0000001) +bones/14/rotation = Quaternion(0.21973115, -0.67209977, 0.21973103, 0.6721) +bones/14/scale = Vector3(1, 0.99999994, 1.0000001) +bones/15/rotation = Quaternion(6.030765e-08, 0.70710677, -2.3986061e-08, 0.70710677) +bones/15/scale = Vector3(1.0000001, 1, 1) +bones/16/rotation = Quaternion(0.18339863, 0.893291, 0.22171174, 0.34531176) +bones/16/scale = Vector3(0.9999994, 0.9999993, 0.9999999) +bones/17/position = Vector3(5.1376087e-10, 0.09612512, -0.0575) +bones/17/rotation = Quaternion(0.00051256025, 0.00051253365, -0.70522296, 0.7089853) +bones/18/rotation = Quaternion(0.7455436, -0.3559202, 0.5602547, 0.06000343) +bones/18/scale = Vector3(0.99999994, 0.99999946, 1.0000001) +bones/19/rotation = Quaternion(0.23179618, 0.66803473, -0.231796, 0.668035) +bones/19/scale = Vector3(1.0000001, 0.9999999, 1.0000001) +bones/20/rotation = Quaternion(1.6763806e-08, -0.70710677, -1.6763806e-08, 0.70710677) +bones/20/scale = Vector3(0.99999994, 0.99999994, 1) +bones/21/rotation = Quaternion(-0.1384992, 0.88828015, 0.21202676, -0.38317242) +bones/21/scale = Vector3(0.99999905, 0.99999905, 1) +bones/22/position = Vector3(-1.5415006e-08, 0.096125185, -0.0575) +bones/22/rotation = Quaternion(0.00051256025, -0.00051253365, 0.70522296, 0.7089853) +bones/22/scale = Vector3(1, 1.0000001, 1) + +[node name="RogueHooded_ArmLeft" parent="CharacterController/Graphics/Hoody Hood/Rig_Medium/GeneralSkeleton" index="0"] +layers = 2 +surface_material_override/0 = ExtResource("106_oi8o8") + +[node name="RogueHooded_ArmRight" parent="CharacterController/Graphics/Hoody Hood/Rig_Medium/GeneralSkeleton" index="1"] +layers = 2 +surface_material_override/0 = ExtResource("106_oi8o8") + +[node name="RogueHooded_Body" parent="CharacterController/Graphics/Hoody Hood/Rig_Medium/GeneralSkeleton" index="2"] +layers = 2 +surface_material_override/0 = ExtResource("106_oi8o8") + +[node name="RogueHooded_Cape" parent="CharacterController/Graphics/Hoody Hood/Rig_Medium/GeneralSkeleton" index="3"] +surface_material_override/0 = ExtResource("106_oi8o8") + +[node name="RogueHooded_Head" parent="CharacterController/Graphics/Hoody Hood/Rig_Medium/GeneralSkeleton" index="4"] +layers = 2 +surface_material_override/0 = ExtResource("106_oi8o8") + +[node name="RogueHooded_LegLeft" parent="CharacterController/Graphics/Hoody Hood/Rig_Medium/GeneralSkeleton" index="5"] +layers = 2 +surface_material_override/0 = ExtResource("106_oi8o8") + +[node name="RogueHooded_LegRight" parent="CharacterController/Graphics/Hoody Hood/Rig_Medium/GeneralSkeleton" index="6"] +layers = 2 +surface_material_override/0 = ExtResource("106_oi8o8") + +[node name="BoneAttachment3D" parent="CharacterController/Graphics/Hoody Hood/Rig_Medium/GeneralSkeleton" index="8"] +transform = Transform3D(0.5379287, -0.36837184, 0.7582445, 0.08360271, -0.8717228, -0.48281395, 0.8388343, 0.3231111, -0.4381283, -0.45241806, 0.6949023, 0.04244028) + +[node name="sword_2handed_color" parent="CharacterController/Graphics/Hoody Hood/Rig_Medium/GeneralSkeleton/BoneAttachment3D/sword_2handed_color2" index="0"] +layers = 2 + +[node name="MeshInstance3D" type="MeshInstance3D" parent="CharacterController/Graphics/Hoody Hood/Rig_Medium/GeneralSkeleton/BoneAttachment3D/sword_2handed_color2" index="1"] +transform = Transform3D(-0.4656309, -0.15241218, 1.9977951, 0.3999365, 2.730216, 0.23253444, -1.7166625, 0.6774132, -0.4877137, 0.021909714, 1.0161982, 0.03991127) +layers = 2 +mesh = SubResource("SphereMesh_3rj3l") +skeleton = NodePath("../../../../../..") +surface_material_override/0 = SubResource("ShaderMaterial_1snje") + +[node name="SpatialShaderGenerator" type="Node" parent="CharacterController/Graphics/Hoody Hood/Rig_Medium/GeneralSkeleton/BoneAttachment3D/sword_2handed_color2/MeshInstance3D"] +script = ExtResource("89_5o8m6") +data = SubResource("Resource_31pys") +path = "res://Character/Hoody Hood/" +shaderName = "FresnelGlow" +shader = ExtResource("88_p8ds5") +numVariants = 1 +metadata/_custom_type_script = "uid://2gudnu1r4pjg" + +[node name="Foot Steps Transform" type="Node3D" parent="CharacterController/Graphics/Hoody Hood"] + +[node name="OmniLight3D" type="OmniLight3D" parent="CharacterController/Graphics"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9239198, -0.8042259) +visible = false +light_color = Color(1, 0.81051326, 0.5789182, 1) +light_energy = 2.0 +shadow_enabled = true +distance_fade_enabled = true +distance_fade_begin = 1.0 +distance_fade_shadow = 10.0 +distance_fade_length = 50.0 +omni_range = 10.0 + +[node name="SpotLight3D" type="SpotLight3D" parent="CharacterController/Graphics"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.7252903e-09, 1.3270508, -0.3936907) +light_color = Color(0.9684175, 0.78567535, 0.68801075, 1) +light_energy = 5.0 +light_cull_mask = 4294967293 +shadow_enabled = true +shadow_blur = 0.5 +shadow_caster_mask = 4294967293 +spot_range = 10.219 +spot_angle = 64.68 +spot_angle_attenuation = 1.189207 + +[node name="Map Geometry Player" type="MeshInstance3D" parent="CharacterController/Graphics"] +transform = Transform3D(7.2165694, 0, 0, 0, 2.6738129, 0, 2.8367216e-07, 0, 7.2165675, 0, 10, 0) +layers = 8 +mesh = SubResource("PlaneMesh_q0f75") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("152_31pys") + +[node name="Map Geometry Camera Rotation" type="Node3D" parent="CharacterController/Graphics"] + +[node name="Map Geometry Camera" type="MeshInstance3D" parent="CharacterController/Graphics/Map Geometry Camera Rotation"] +transform = Transform3D(-29.33188, 0, -1.9073486e-06, 0, 1, 0, 1.9073486e-06, 0, -29.33188, 0.054920197, 4.933242, 28.94498) +layers = 8 +mesh = SubResource("PlaneMesh_q0f75") +skeleton = NodePath("../../..") +surface_material_override/0 = ExtResource("153_bm7sa") +metadata/_edit_lock_ = true + +[node name="L" type="Decal" parent="CharacterController"] +transform = Transform3D(0.3, 0, 0, 0, 0.4955, 0, 0, 0, 0.3, 9.044082, 0.14274347, 18.486485) +size = Vector3(2, 0.4501953, 2) +texture_albedo = ExtResource("128_rp6gr") +texture_normal = ExtResource("129_205s3") +texture_orm = ExtResource("128_rp6gr") +albedo_mix = 0.3 + +[node name="R" type="Decal" parent="CharacterController"] +transform = Transform3D(0.3, 0, 0, 0, 0.4955, 0, 0, 0, 0.3, 9.714743, 0.14274347, 18.422844) +size = Vector3(2, 0.4501953, 2) +texture_albedo = ExtResource("130_205s3") +texture_normal = ExtResource("131_b71pn") +texture_orm = ExtResource("130_205s3") +albedo_mix = 0.3 + +[node name="FootSteps" type="Node" parent="CharacterController" node_paths=PackedStringArray("decalTransform", "leftStep", "rightStep", "footStepsContainer")] +script = ExtResource("130_b71pn") +decalTransform = NodePath("../Graphics/Hoody Hood/Foot Steps Transform") +offset = -0.1 +leftStep = NodePath("../L") +rightStep = NodePath("../R") +footStepsContainer = NodePath(".") +metadata/_custom_type_script = "uid://de0te7x7feran" + +[node name="Foot Steps" type="Node" parent="CharacterController"] + +[node name="OnSensor" type="Node" parent="CharacterController" node_paths=PackedStringArray("onStart")] +script = ExtResource("88_nh6ww") +sensor = ExtResource("89_pgnem") +onStart = NodePath("../On Sword Attack") +metadata/_custom_type_script = "uid://88u2lx0pssal" + +[node name="On Sword Attack" type="Node" parent="CharacterController"] +script = ExtResource("90_5p3uc") +metadata/_custom_type_script = "uid://b4yjsis2fh64c" + +[node name="ActionSequence" type="Node" parent="CharacterController/On Sword Attack"] +script = ExtResource("91_vgxo8") +metadata/_custom_type_script = "uid://ceaglilesxsi4" + +[node name="SetAnimationTreeBool" type="Node" parent="CharacterController/On Sword Attack/ActionSequence" node_paths=PackedStringArray("tree")] +script = ExtResource("54_cdcpq") +tree = NodePath("../../../Graphics/Hoody Hood/AnimationTree") +name = "sword_attack" +value = true +metadata/_custom_type_script = "uid://dykyfwv0qjcbn" + +[node name="Delay" type="Node" parent="CharacterController/On Sword Attack/ActionSequence"] +script = ExtResource("92_tr1d7") +duration = 0.1 +timeLine = ExtResource("10_qfrgw") +metadata/_custom_type_script = "uid://b2g7rycr0ouu4" + +[node name="SetAnimationTreeBool2" type="Node" parent="CharacterController/On Sword Attack/ActionSequence" node_paths=PackedStringArray("tree")] +script = ExtResource("54_cdcpq") +tree = NodePath("../../../Graphics/Hoody Hood/AnimationTree") +name = "sword_attack" +metadata/_custom_type_script = "uid://dykyfwv0qjcbn" + +[node name="Delay3" type="Node" parent="CharacterController/On Sword Attack/ActionSequence"] +script = ExtResource("92_tr1d7") +duration = 0.1 +timeLine = ExtResource("10_qfrgw") +metadata/_custom_type_script = "uid://b2g7rycr0ouu4" + +[node name="Disable Moving" type="Node" parent="CharacterController/On Sword Attack/ActionSequence" node_paths=PackedStringArray("characterControllerAction")] +script = ExtResource("92_vgxo8") +characterControllerAction = NodePath("../../../Actions/CharacterMovement") +enabled = false +metadata/_custom_type_script = "uid://cuqknlygn6vxe" + +[node name="Delay2" type="Node" parent="CharacterController/On Sword Attack/ActionSequence"] +script = ExtResource("92_tr1d7") +duration = 0.5 +timeLine = ExtResource("10_qfrgw") +metadata/_custom_type_script = "uid://b2g7rycr0ouu4" + +[node name="Enable Moving" type="Node" parent="CharacterController/On Sword Attack/ActionSequence" node_paths=PackedStringArray("characterControllerAction")] +script = ExtResource("92_vgxo8") +characterControllerAction = NodePath("../../../Actions/CharacterMovement") +metadata/_custom_type_script = "uid://cuqknlygn6vxe" + +[node name="ActionSequence2" type="Node" parent="CharacterController/On Sword Attack"] +script = ExtResource("91_vgxo8") +metadata/_custom_type_script = "uid://ceaglilesxsi4" + +[node name="TweenFloatShaderProperty" type="Node" parent="CharacterController/On Sword Attack/ActionSequence2"] +script = ExtResource("115_f6yaf") +material = SubResource("ShaderMaterial_1snje") +propertyName = SubResource("Resource_qrr03") +endValue = 1.0 +duration = SubResource("Resource_xwk5p") +metadata/_custom_type_script = "uid://b8entq7j3pe3i" + +[node name="TweenFloatShaderProperty2" type="Node" parent="CharacterController/On Sword Attack/ActionSequence2"] +script = ExtResource("115_f6yaf") +material = SubResource("ShaderMaterial_1snje") +propertyName = SubResource("Resource_qrr03") +duration = SubResource("Resource_hkpmc") +metadata/_custom_type_script = "uid://b8entq7j3pe3i" [node name="Level" type="Node" parent="."] script = ExtResource("40_dk6jw") metadata/_custom_type_script = "uid://1hkbhneuwqvf" +[node name="Fence" type="Node3D" parent="Level"] +transform = Transform3D(0.8660254, 0, -0.5, 0, 1, 0, 0.5, 0, 0.8660254, -3.1659677, -2.3841858e-06, 18.613846) +script = ExtResource("42_g5ygy") +metadata/_custom_type_script = "uid://bq56bfytlbxq7" + +[node name="Spline" type="Node3D" parent="Level/Fence"] +script = ExtResource("125_yttar") +autoOrienation = true +metadata/_custom_type_script = "uid://c3c8limywowjv" + +[node name="SplinePoint" type="Node3D" parent="Level/Fence/Spline"] +transform = Transform3D(0.24745932, -1.2769476e-07, 0.96889764, 0, 1, 1.317937e-07, -0.96889764, -3.261362e-08, 0.24745932, 2.6126552, 0, 1.3397675) +script = ExtResource("126_celbq") +tangentBeforeWeight = 0.0 +tangentNextWeight = 0.032 +overshootPrevention = 0.5228 +tangentScale = 0.863 +symmetricTangentLength = 1.0 +metadata/_custom_type_script = "uid://0wmpolvwadsu" + +[node name="SplinePoint2" type="Node3D" parent="Level/Fence/Spline"] +transform = Transform3D(0.5463413, -6.7369925e-08, 0.8375624, 0, 1, 8.043567e-08, -0.8375624, -4.394535e-08, 0.5463413, -7.910776, -1.4314437e-06, -1.3479557) +script = ExtResource("126_celbq") +tangentBeforeWeight = 0.0 +tangentNextWeight = 0.032 +overshootPrevention = 0.5228 +tangentScale = 0.863 +symmetricTangentLength = 1.0 +metadata/_custom_type_script = "uid://0wmpolvwadsu" + +[node name="SplinePoint3" type="Node3D" parent="Level/Fence/Spline"] +transform = Transform3D(0.9714563, -3.2320948e-08, -0.23721607, 0, 1, -1.3625093e-07, 0.23721607, 1.3236199e-07, 0.9714563, -7.399719, -1.1379084e-06, -3.4408388) +script = ExtResource("126_celbq") +tangentBeforeWeight = 0.0 +tangentNextWeight = 0.032 +overshootPrevention = 0.5228 +tangentScale = 0.863 +symmetricTangentLength = 1.0 +metadata/_custom_type_script = "uid://0wmpolvwadsu" + +[node name="GenerateFence" type="Node3D" parent="Level/Fence" node_paths=PackedStringArray("spline", "segment", "pole", "containersToClearNodes")] +script = ExtResource("127_yttar") +spline = NodePath("../Spline") +segment = NodePath("Segment") +segmentLength = 1.0 +segmentRotation = Vector3(0, 90, 0) +segmentYOffset = 0.5639 +pole = NodePath("Pole") +poleLength = 0.2 +startPoleLength = 0.2 +endPoleLength = 0.2 +setDiscarded = false +updateAlways = true +containersToClearNodes = [NodePath("../Output")] +X_createdPoints = 27 +X_reusedPoints = 27 +metadata/_custom_type_script = "uid://c8svnb3mhfoe7" + +[node name="Segment" type="Node3D" parent="Level/Fence/GenerateFence" node_paths=PackedStringArray("container")] +script = ExtResource("128_celbq") +packedScene = ExtResource("128_gla4y") +container = NodePath("../../Output") +metadata/_custom_type_script = "uid://dma6i63t4myyu" + +[node name="Pole" type="Node3D" parent="Level/Fence/GenerateFence" node_paths=PackedStringArray("container")] +script = ExtResource("128_celbq") +packedScene = ExtResource("129_y6wps") +container = NodePath("../../Output") +metadata/_custom_type_script = "uid://dma6i63t4myyu" + +[node name="Output" type="Node3D" parent="Level/Fence"] + +[node name="Pole" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(0.24745186, -1.2769699e-07, 0.9689002, 7.1054274e-15, 1, 1.3179582e-07, -0.9689002, -3.2613112e-08, 0.24745186, 2.6126552, 0, 1.3397675) + +[node name="@StaticBody3D@145336" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(0.24746443, -1.2769499e-07, 0.968897, -2.131628e-14, 1, 1.3179418e-07, -0.968897, -3.2614395e-08, 0.24746443, 1.6434426, -1.3183649e-07, 1.092226) + +[node name="@StaticBody3D@145337" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(0.24746166, -1.2769418e-07, 0.9688977, 4.2632564e-14, 1, 1.3179324e-07, -0.9688977, -3.2613734e-08, 0.24746166, 0.676497, -2.6336443e-07, 0.84526443) + +[node name="@StaticBody3D@145338" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(0.24745981, -1.2769517e-07, 0.9688982, -1.2789769e-13, 1, 1.3179424e-07, -0.9688982, -3.26139e-08, 0.24745981, -0.29044628, -3.948926e-07, 0.59830284) + +[node name="@StaticBody3D@145339" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(0.24745889, -1.2769425e-07, 0.9688984, 9.2370556e-14, 1, 1.317932e-07, -0.9688984, -3.261331e-08, 0.24745889, -1.2573905, -5.2642076e-07, 0.35134315) + +[node name="@StaticBody3D@145340" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(0.24746443, -1.2769344e-07, 0.968897, 2.8421706e-14, 1, 1.3179259e-07, -0.968897, -3.261395e-08, 0.24746443, -2.225751, -6.581413e-07, 0.10402107) + +[node name="@StaticBody3D@145341" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(0.24746443, -1.2769432e-07, 0.968897, 2.131628e-14, 1, 1.317935e-07, -0.968897, -3.261418e-08, 0.24746443, -3.1941638, -7.898693e-07, -0.14331627) + +[node name="@StaticBody3D@145342" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(0.24746443, -1.2769432e-07, 0.968897, 2.131628e-14, 1, 1.317935e-07, -0.968897, -3.261418e-08, 0.24746443, -4.162578, -9.2159735e-07, -0.3906517) + +[node name="@StaticBody3D@145343" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(0.2474582, -1.2769503e-07, 0.9688986, 4.9737995e-14, 1, 1.31794e-07, -0.9688986, -3.2613457e-08, 0.2474582, -5.1309924, -1.0533254e-06, -0.63798714) + +[node name="@StaticBody3D@145344" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(0.24746086, -1.2769425e-07, 0.9688979, -4.2632568e-14, 1, 1.3179331e-07, -0.9688979, -3.261373e-08, 0.24746086, -6.100232, -1.1851655e-06, -0.8855362) + +[node name="@StaticBody3D@145345" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(0.2474582, -1.2769455e-07, 0.9688986, -4.2632568e-14, 1, 1.3179353e-07, -0.9688986, -3.2613432e-08, 0.2474582, -7.0703135, -1.3171202e-06, -1.133297) + +[node name="@StaticBody3D@145346" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(0.9935537, -1.3427036e-08, -0.11336251, -4.2632564e-14, 1, -1.1844373e-07, 0.11336251, 1.17680216e-07, 0.9935537, -7.913049, -1.4176521e-06, -1.4884872) + +[node name="@StaticBody3D@145347" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(0.97000825, -3.331323e-08, -0.24307209, -2.1316282e-14, 1, -1.3705092e-07, 0.24307209, 1.3294053e-07, 0.97000825, -7.6884084, -1.2831135e-06, -2.4631443) + +[node name="@StaticBody3D@145348" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(0.9423538, -4.9882896e-08, -0.3346182, 5.6843426e-14, 1, -1.490739e-07, 0.3346182, 1.4048034e-07, 0.9423538, -7.399719, -1.1379084e-06, -3.4408388) + +[node name="Segment" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(-0.9692128, -1.2769453e-07, 0.2474621, -1.3183652e-07, 1, 0, -0.2475426, -3.261393e-08, -0.9688976, 2.1280484, 0.56389993, 1.2159958) + +[node name="@StaticBody3D@145349" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(-0.966945, -1.2769459e-07, 0.24746025, -1.3152795e-07, 1, 3.5527137e-15, -0.24696143, -3.261368e-08, -0.96889806, 1.1599689, 0.5638998, 0.9687443) + +[node name="@StaticBody3D@145350" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(-0.9669439, -1.2769499e-07, 0.24745955, -1.3152817e-07, 1, -5.516598e-15, -0.2469604, -3.261369e-08, -0.96889824, 0.19302511, 0.56389964, 0.7217846) + +[node name="@StaticBody3D@145351" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(-0.9669439, -1.2769499e-07, 0.24745955, -1.3152817e-07, 1, -5.516598e-15, -0.2469604, -3.261369e-08, -0.96889824, -0.77391815, 0.5638995, 0.474823) + +[node name="@StaticBody3D@145352" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(-0.9683606, -1.2769462e-07, 0.24745978, -1.3172051e-07, 1, 0, -0.24732248, -3.2613627e-08, -0.9688982, -1.741571, 0.5638994, 0.22768211) + +[node name="@StaticBody3D@145353" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(-0.96841353, -1.2769495e-07, 0.24745978, -1.3172806e-07, 1, -3.552714e-15, -0.247336, -3.2613713e-08, -0.9688982, -2.709958, 0.5638993, -0.019647598) + +[node name="@StaticBody3D@145354" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(-0.9684139, -1.276949e-07, 0.24745978, -1.3172806e-07, 1, 3.552714e-15, -0.24733609, -3.2613695e-08, -0.9688982, -3.678372, 0.56389916, -0.26698303) + +[node name="@StaticBody3D@145355" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(-0.96841407, -1.2769493e-07, 0.24745908, -1.3172806e-07, 1, -3.5527137e-15, -0.24733539, -3.261361e-08, -0.96889836, -4.6467853, 0.563899, -0.5143204) + +[node name="@StaticBody3D@145356" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(-0.9692401, -1.276945e-07, 0.24746093, -1.3184012e-07, 1, 3.552714e-15, -0.24754834, -3.2613755e-08, -0.9688979, -5.615612, 0.56389886, -0.7617626) + +[node name="@StaticBody3D@145357" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(-0.97008145, -1.2769478e-07, 0.24745955, -1.3195474e-07, 1, 1.5888332e-15, -0.24776174, -3.2613634e-08, -0.96889824, -6.585273, 0.56389874, -1.0094166) + +[node name="@StaticBody3D@145358" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(-0.842736, -1.0129791e-07, 0.38838512, -1.0053193e-07, 1, 0, -0.3551895, -4.2694214e-08, -0.92149717, -7.491682, 0.5638986, -1.3108921) + +[node name="@StaticBody3D@145359" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(0.22463985, -3.0210007e-08, 0.97445273, 1.3453861e-07, 1, -5.3290705e-15, -0.9746579, 1.3107392e-07, 0.22459257, -7.8007293, 0.5638986, -1.9758167) + +[node name="@StaticBody3D@145360" type="StaticBody3D" parent="Level/Fence/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(0.28869, -4.033704e-08, 0.959064, 1.4520519e-07, 1, -7.797712e-15, -0.97769296, 1.366076e-07, 0.2831893, -7.544064, 0.5638988, -2.951992) + +[node name="Fence2" type="Node3D" parent="Level"] +transform = Transform3D(0.8660254, 0, -0.5, 0, 1, 0, 0.5, 0, 0.8660254, -3.1659677, -2.3841858e-06, 18.613846) +script = ExtResource("42_g5ygy") +metadata/_custom_type_script = "uid://bq56bfytlbxq7" + +[node name="Spline" type="Node3D" parent="Level/Fence2"] +script = ExtResource("125_yttar") +autoOrienation = true +metadata/_custom_type_script = "uid://c3c8limywowjv" + +[node name="SplinePoint2" type="Node3D" parent="Level/Fence2/Spline"] +transform = Transform3D(0.97165966, -1.2938489e-07, -0.2363797, 0, 1, -5.4735926e-07, 0.2363797, 5.31848e-07, 0.97165966, -6.746191, -1.6073213e-06, -6.1097593) +script = ExtResource("126_celbq") +tangentBeforeWeight = 0.0 +tangentNextWeight = 0.032 +overshootPrevention = 0.5228 +tangentScale = 0.863 +symmetricTangentLength = 1.0 +metadata/_custom_type_script = "uid://0wmpolvwadsu" + +[node name="SplinePoint3" type="Node3D" parent="Level/Fence2/Spline"] +transform = Transform3D(0.033557616, -2.7752327e-07, -0.99943644, 0, 1, -2.7767956e-07, 0.99943644, 9.31827e-09, 0.033557616, -6.2610254, -4.838728e-07, -8.104078) +script = ExtResource("126_celbq") +tangentBeforeWeight = 0.0 +tangentNextWeight = 0.032 +overshootPrevention = 0.5228 +tangentScale = 0.863 +symmetricTangentLength = 1.0 +metadata/_custom_type_script = "uid://0wmpolvwadsu" + +[node name="SplinePoint4" type="Node3D" parent="Level/Fence2/Spline"] +transform = Transform3D(-0.28176144, -1.052055e-07, -0.95948404, 0, 1, -1.0964791e-07, 0.95948404, -3.0894576e-08, -0.28176144, 4.248389, 7.1712225e-07, -5.017887) +script = ExtResource("126_celbq") +tangentBeforeWeight = 0.0 +tangentNextWeight = 0.032 +overshootPrevention = 0.5228 +tangentScale = 0.863 +symmetricTangentLength = 1.0 +metadata/_custom_type_script = "uid://0wmpolvwadsu" + +[node name="GenerateFence" type="Node3D" parent="Level/Fence2" node_paths=PackedStringArray("spline", "segment", "pole", "containersToClearNodes")] +script = ExtResource("127_yttar") +spline = NodePath("../Spline") +segment = NodePath("Segment") +segmentLength = 1.0 +segmentRotation = Vector3(0, 90, 0) +segmentYOffset = 0.5639 +pole = NodePath("Pole") +poleLength = 0.2 +startPoleLength = 0.2 +endPoleLength = 0.2 +setDiscarded = false +updateAlways = true +containersToClearNodes = [NodePath("../Output")] +X_createdPoints = 27 +X_reusedPoints = 27 +metadata/_custom_type_script = "uid://c8svnb3mhfoe7" + +[node name="Segment" type="Node3D" parent="Level/Fence2/GenerateFence" node_paths=PackedStringArray("container")] +script = ExtResource("128_celbq") +packedScene = ExtResource("128_gla4y") +container = NodePath("../../Output") +metadata/_custom_type_script = "uid://dma6i63t4myyu" + +[node name="Pole" type="Node3D" parent="Level/Fence2/GenerateFence" node_paths=PackedStringArray("container")] +script = ExtResource("128_celbq") +packedScene = ExtResource("129_y6wps") +container = NodePath("../../Output") +metadata/_custom_type_script = "uid://dma6i63t4myyu" + +[node name="Output" type="Node3D" parent="Level/Fence2"] + +[node name="Pole" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(0.9716608, -1.2938479e-07, -0.23637955, 2.557954e-13, 1, -5.473593e-07, 0.23637955, 5.3184755e-07, 0.9716608, -6.746191, -1.6073213e-06, -6.1097593) + +[node name="@StaticBody3D@145361" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(0.97166055, -1.2938537e-07, -0.23638058, -2.2737368e-13, 1, -5.4736137e-07, 0.23638058, 5.318495e-07, 0.97166055, -6.5062113, -1.0516269e-06, -7.0962143) + +[node name="@StaticBody3D@145362" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(0.7057637, -3.8093032e-07, -0.70844734, -9.947598e-14, 1, -5.3769753e-07, 0.70844734, 3.7948746e-07, 0.7057637, -6.269187, -5.027714e-07, -8.070531) + +[node name="@StaticBody3D@145363" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(-0.2779772, -1.07419545e-07, -0.9605877, -2.4868997e-14, 1, -1.1182689e-07, 0.9605877, -3.1085303e-08, -0.2779772, -5.321661, -3.698044e-07, -7.841668) + +[node name="@StaticBody3D@145364" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(-0.2780144, -1.0739825e-07, -0.9605769, 2.4868997e-14, 1, -1.11805996e-07, 0.9605769, -3.10837e-08, -0.2780144, -4.361126, -2.5798363e-07, -7.5637054) + +[node name="@StaticBody3D@145365" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(-0.28213567, -1.0498671e-07, -0.95937455, 1.4210856e-14, 1, -1.0943246e-07, 0.95937455, -3.0874816e-08, -0.28213567, -3.4034705, -1.4845864e-07, -7.282652) + +[node name="@StaticBody3D@145366" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(-0.28213567, -1.04986064e-07, -0.95937455, 1.0658142e-14, 1, -1.0943178e-07, 0.95937455, -3.087462e-08, -0.28213567, -2.446238, -3.9270162e-08, -7.001148) + +[node name="@StaticBody3D@145367" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(-0.2821367, -1.0498687e-07, -0.9593742, -2.4868997e-14, 1, -1.0943265e-07, 0.9593742, -3.0874943e-08, -0.2821367, -1.4890046, 6.991854e-08, -6.7196436) + +[node name="@StaticBody3D@145368" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(-0.28213543, -1.04986704e-07, -0.9593746, -3.552714e-15, 1, -1.0943244e-07, 0.9593746, -3.0874766e-08, -0.28213543, -0.5317712, 1.7910702e-07, -6.438136) + +[node name="@StaticBody3D@145369" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(-0.28432858, -1.0370141e-07, -0.9587269, 0, 1, -1.0816575e-07, 0.9587269, -3.0754613e-08, -0.28432858, 0.4246149, 2.8763316e-07, -6.1557493) + +[node name="@StaticBody3D@145370" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(-0.2843311, -1.03701844e-07, -0.95872617, -2.842171e-14, 1, -1.08166276e-07, 0.95872617, -3.075501e-08, -0.2843311, 1.3800678, 3.9542988e-07, -5.872389) + +[node name="@StaticBody3D@145371" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(-0.28432858, -1.0370186e-07, -0.9587269, -3.5527137e-15, 1, -1.0816621e-07, 0.9587269, -3.075474e-08, -0.28432858, 2.3355222, 5.0322683e-07, -5.5890284) + +[node name="@StaticBody3D@145372" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(-0.2861358, -1.0264401e-07, -0.9581891, 1.7763568e-14, 1, -1.0712292e-07, 0.9581891, -3.065172e-08, -0.2861358, 3.2909818, 6.109675e-07, -5.3055525) + +[node name="@StaticBody3D@145373" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("129_y6wps")] +transform = Transform3D(-0.29183987, -9.930432e-08, -0.9564672, 7.1054274e-15, 1, -1.0382407e-07, 0.9564672, -3.030001e-08, -0.29183987, 4.248389, 7.1712225e-07, -5.017887) + +[node name="Segment" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(0.23997897, -1.2938501e-07, 0.97166073, 5.5569444e-07, 1, 0, -0.986455, 5.318487e-07, 0.2363799, -6.6262016, 0.5638987, -6.6029873) + +[node name="@StaticBody3D@145374" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(0.23702416, -1.2938405e-07, 0.9716611, 5.4885555e-07, 1, 4.2632568e-14, -0.97431606, 5.3184834e-07, 0.23637828, -6.3876996, 0.5638992, -7.583372) + +[node name="@StaticBody3D@145375" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(0.94752634, -1.3259518e-07, -0.23478378, 1.3296702e-07, 1, -3.552714e-15, 0.22886103, -3.2026406e-08, 0.9720476, -5.7954245, 0.5638996, -7.9561005) + +[node name="@StaticBody3D@145376" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(0.96053535, -1.0741943e-07, -0.27797857, 1.1182079e-07, 1, 0, 0.27796355, -3.1085463e-08, 0.96058726, -4.8413935, 0.5638997, -7.702688) + +[node name="@StaticBody3D@145377" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(0.95765525, -1.0529848e-07, -0.28160286, 1.0952499e-07, 1, 1.2119149e-15, 0.28105235, -3.0902964e-08, 0.95953107, -3.8822982, 0.5638998, -7.4231787) + +[node name="@StaticBody3D@145378" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(0.9572329, -1.0498706e-07, -0.28213513, 1.091885e-07, 1, -5.037709e-15, 0.28150526, -3.0874833e-08, 0.95937467, -2.9248548, 0.5638999, -7.141901) + +[node name="@StaticBody3D@145379" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(0.9572333, -1.0498726e-07, -0.2821349, 1.0918874e-07, 1, 1.7763568e-15, 0.28150514, -3.087487e-08, 0.9593747, -1.9676208, 0.5639, -6.8603954) + +[node name="@StaticBody3D@145380" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(0.9572333, -1.0498704e-07, -0.2821349, 1.0918851e-07, 1, 1.7763568e-15, 0.28150514, -3.0874805e-08, 0.9593747, -1.0103884, 0.5639001, -6.578889) + +[node name="@StaticBody3D@145381" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(0.95638615, -1.0437552e-07, -0.28318027, 1.0852614e-07, 1, 3.5527137e-15, 0.2823888, -3.0818597e-08, 0.9590667, -0.053578377, 0.56390023, -6.2969437) + +[node name="@StaticBody3D@145382" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(0.955453, -1.0370163e-07, -0.28433084, 1.0779675e-07, 1, 3.5527137e-15, 0.2833601, -3.0754947e-08, 0.9587262, 0.90234137, 0.56390035, -6.0140676) + +[node name="@StaticBody3D@145383" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(0.95545405, -1.037017e-07, -0.2843308, 1.0779695e-07, 1, 1.776357e-15, 0.28336036, -3.075496e-08, 0.9587262, 1.8577943, 0.5639005, -5.730709) + +[node name="@StaticBody3D@145384" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(0.9554604, -1.03640176e-07, -0.2844354, 1.0774068e-07, 1, -3.552714e-15, 0.28347567, -3.074901e-08, 0.95869523, 2.813252, 0.56390053, -5.4472904) + +[node name="@StaticBody3D@145385" type="StaticBody3D" parent="Level/Fence2/Output" instance=ExtResource("128_gla4y")] +transform = Transform3D(0.957406, -1.0169653e-07, -0.28775427, 1.06154744e-07, 1, -1.7763568e-15, 0.28766462, -3.0556e-08, 0.9577043, 3.7696853, 0.56390065, -5.1617203) + +[node name="Sun" type="MeshInstance3D" parent="Level"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -49.73712, 149.42383, 871.9929) +mesh = SubResource("QuadMesh_nlcvw") +surface_material_override/0 = SubResource("ShaderMaterial_celbq") + [node name="mountains" type="Node3D" parent="Level"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.4311, 0) @@ -1669,50 +3355,65 @@ transform = Transform3D(0.42599243, 0, 0.90472674, 0, 1, 0, -0.90472674, 0, 0.42 [node name="Mountain-3" parent="Level/mountains/mountains24" index="2"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 77.771515, 0, -59.687164) -[node name="Snow" type="GPUParticles3D" parent="Level"] -transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0, 8, 0) -material_override = SubResource("ShaderMaterial_fqgfq") +[node name="Snow Surrounding" type="GPUParticles3D" parent="Level"] +transform = Transform3D(-1, 0, -1.509958e-07, 0, 1, 0, 1.509958e-07, 0, -1, 1.2545218, 8, 0.46896553) +layers = 4 +material_override = ExtResource("144_jdant") custom_aabb = AABB(-1000, -1000, -1000, 2000, 2000, 2000) -amount = 2000 -lifetime = 10.0 +amount = 5000 +lifetime = 5.0 fixed_fps = 0 interpolate = false fract_delta = false -process_material = SubResource("ParticleProcessMaterial_oqlxm") +process_material = SubResource("ParticleProcessMaterial_q6b7k") draw_pass_1 = SubResource("QuadMesh_h5qu5") -[node name="On Tick Snow" type="Node" parent="Level/Snow" node_paths=PackedStringArray("action")] +[node name="On Tick Snow" type="Node" parent="Level/Snow Surrounding" node_paths=PackedStringArray("action")] script = ExtResource("16_vo330") action = NodePath("CopyPositionXZ") tickDuration = SubResource("Resource_bdfmq") +activateOnReady = true metadata/_custom_type_script = "uid://dqgh1ba6suibb" -[node name="CopyPositionXZ" type="Node" parent="Level/Snow/On Tick Snow" node_paths=PackedStringArray("source", "target")] +[node name="CopyPositionXZ" type="Node" parent="Level/Snow Surrounding/On Tick Snow" node_paths=PackedStringArray("source", "target")] script = ExtResource("40_getpf") source = NodePath("../../../../App/Camera Setup/Main Camera") target = NodePath("../..") metadata/_custom_type_script = "uid://cvpseyll6lrh5" -[node name="StaticBody3D" type="StaticBody3D" parent="Level"] +[node name="Ground Shape" type="StaticBody3D" parent="Level"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0) -[node name="CollisionShape3D" type="CollisionShape3D" parent="Level/StaticBody3D"] +[node name="CollisionShape3D" type="CollisionShape3D" parent="Level/Ground Shape"] shape = SubResource("BoxShape3D_fd6ib") [node name="Ground" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5184, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0273, -0.5047, 0.0019) mesh = SubResource("BoxMesh_ru76s") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_cunny") +surface_material_override/0 = ExtResource("145_jdant") + +[node name="StaticBody3D" type="StaticBody3D" parent="Level"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.824, 0.1121, 27.335) + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Level/StaticBody3D"] +shape = SubResource("CylinderShape3D_gwq84") [node name="village-center" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.046288993, 0, 0.30917695, 0, 0.31262285, 0, -0.30917695, 0, 0.046288993, 6.8240337, -0.017005444, 27.335001) +transform = Transform3D(0.046288993, 0, 0.30917695, 0, 0.31262285, 0, -0.30917695, 0, 0.046288993, 6.824, 0.1121, 27.335) mesh = SubResource("PlaneMesh_qoe36") skeleton = NodePath("../StaticBody3D3") surface_material_override/0 = SubResource("StandardMaterial3D_vwpba") +[node name="Map Geometry 3" type="MeshInstance3D" parent="Level/village-center"] +transform = Transform3D(23.334345, 0, 0, 0, 1, 0, 0, 0, 23.334347, 0, 0.07194947, 0) +visible = false +layers = 8 +mesh = SubResource("PlaneMesh_q0f75") +surface_material_override/0 = ExtResource("56_yk3hl") + [node name="StaticBody3D3" type="StaticBody3D" parent="Level"] -transform = Transform3D(0.10836078, 0, 0.7237715, 0, 0.7318382, 0, -0.7237715, 0, 0.10836078, 5.867896, 0, 29.494831) +transform = Transform3D(0.10836078, 0, 0.7237715, 0, 0.7318382, 0, -0.7237715, 0, 0.10836078, 5.867896, 0.15715706, 29.494831) [node name="CollisionShape3D" type="CollisionShape3D" parent="Level/StaticBody3D3"] transform = Transform3D(0.99561244, 0, 0.09357224, 0, 1.0000001, 0, -0.09357224, 0, 0.99561244, 0.4020691, 0.5131378, 0.45452023) @@ -1741,7 +3442,7 @@ mesh = SubResource("CapsuleMesh_vwpba") surface_material_override/0 = SubResource("StandardMaterial3D_qn1m4") [node name="Light Glow" type="MeshInstance3D" parent="Level/lantern-hanging2"] -transform = Transform3D(1.4594, 0, 0, 0, 1.4594, 0, 0, 0, 1.4594, 0.005560875, -0.36941177, 0.25030136) +transform = Transform3D(1.4594, 0, 5.9604645e-08, 0, 1.4594003, 0, -5.9604645e-08, 0, 1.4594, 0.007457733, -0.36941183, 0.2496624) mesh = SubResource("QuadMesh_aw6nk") surface_material_override/0 = SubResource("StandardMaterial3D_1y0cs") @@ -1792,34 +3493,37 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.025527239, -0.39353573, 0. light_color = Color(0.9480516, 0.6808344, 0.44285142, 1) omni_attenuation = 2.0 -[node name="lights-colored6" parent="Level" instance=ExtResource("43_mql5u")] -transform = Transform3D(-9.589712e-08, 0, -2.1938703, 0, 2.1938703, 0, 2.1938703, 0, -9.589712e-08, -1.9254422, 5.488338, 30.156126) - -[node name="lights-colored" parent="Level/lights-colored6" index="0"] -surface_material_override/0 = SubResource("StandardMaterial3D_wxqep") - -[node name="lights-colored7" parent="Level" instance=ExtResource("43_mql5u")] -transform = Transform3D(-9.589712e-08, 0, -2.1938703, 0, 2.1938703, 0, 2.1938703, 0, -9.589712e-08, -1.9254422, 3.0348077, 30.156126) - -[node name="lights-colored" parent="Level/lights-colored7" index="0"] -surface_material_override/0 = SubResource("StandardMaterial3D_wxqep") - -[node name="lights-colored8" parent="Level" instance=ExtResource("43_mql5u")] -transform = Transform3D(-9.589712e-08, 0, -2.1938703, 0, 2.1938703, 0, 2.1938703, 0, -9.589712e-08, -1.9254422, 3.0739405, 27.81202) - -[node name="lights-colored" parent="Level/lights-colored8" index="0"] -surface_material_override/0 = SubResource("StandardMaterial3D_wxqep") - -[node name="lights-colored9" parent="Level" instance=ExtResource("43_mql5u")] -transform = Transform3D(-9.589712e-08, 0, -2.1938703, 0, 2.1938703, 0, 2.1938703, 0, -9.589712e-08, -1.9254422, 3.2168229, 25.277672) - -[node name="lights-colored" parent="Level/lights-colored9" index="0"] -surface_material_override/0 = SubResource("StandardMaterial3D_wxqep") - -[node name="lights-colored10" parent="Level" instance=ExtResource("43_mql5u")] +[node name="Lights" type="Node3D" parent="Level"] transform = Transform3D(-9.589712e-08, 0, -2.1938703, 0, 2.1938703, 0, 2.1938703, 0, -9.589712e-08, -1.9254422, 5.5764513, 25.313622) -[node name="lights-colored" parent="Level/lights-colored10" index="0"] +[node name="lights-colored6" parent="Level/Lights" instance=ExtResource("43_mql5u")] +transform = Transform3D(0.99999994, 0, 0, 0, 0.99999994, 0, 0, 0, 0.99999994, 2.2072878, -0.040163517, -1.1920929e-07) + +[node name="lights-colored" parent="Level/Lights/lights-colored6" index="0"] +surface_material_override/0 = SubResource("StandardMaterial3D_wxqep") + +[node name="lights-colored7" parent="Level/Lights" instance=ExtResource("43_mql5u")] +transform = Transform3D(0.99999994, 0, 0, 0, 0.99999994, 0, 0, 0, 0.99999994, 2.2072878, -1.1585205, -1.1920929e-07) + +[node name="lights-colored" parent="Level/Lights/lights-colored7" index="0"] +surface_material_override/0 = SubResource("StandardMaterial3D_wxqep") + +[node name="lights-colored8" parent="Level/Lights" instance=ExtResource("43_mql5u")] +transform = Transform3D(0.99999994, 0, 0, 0, 0.99999994, 0, 0, 0, 0.99999994, 1.1388083, -1.1406832, -5.9604645e-08) + +[node name="lights-colored" parent="Level/Lights/lights-colored8" index="0"] +surface_material_override/0 = SubResource("StandardMaterial3D_wxqep") + +[node name="lights-colored9" parent="Level/Lights" instance=ExtResource("43_mql5u")] +transform = Transform3D(0.99999994, 0, 0, 0, 0.99999994, 0, 0, 0, 0.99999994, -0.016386986, -1.0755552, 0) + +[node name="lights-colored" parent="Level/Lights/lights-colored9" index="0"] +surface_material_override/0 = SubResource("StandardMaterial3D_wxqep") + +[node name="lights-colored10" parent="Level/Lights" instance=ExtResource("43_mql5u")] +transform = Transform3D(0.99999994, 0, 0, 0, 0.99999994, 0, 0, 0, 0.99999994, 0, 0, 0) + +[node name="lights-colored" parent="Level/Lights/lights-colored10" index="0"] surface_material_override/0 = SubResource("StandardMaterial3D_wxqep") [node name="Forest" type="Node3D" parent="Level"] @@ -1884,7 +3588,7 @@ shape = SubResource("BoxShape3D_vemra") [node name="bench2" parent="Level/Bench" instance=ExtResource("49_wxqep")] [node name="Bench2" type="Node3D" parent="Level"] -transform = Transform3D(-1.4174343, 0, 0.13658589, 0, 1.4239998, 0, -0.13658589, 0, -1.4174343, 7.4436746, 9.536743e-07, 33.159775) +transform = Transform3D(-1.4174343, 0, 0.13658589, 0, 1.4239998, 0, -0.13658589, 0, -1.4174343, 7.4436746, 0.16682032, 33.159775) script = ExtResource("42_g5ygy") metadata/_custom_type_script = "uid://bq56bfytlbxq7" @@ -1902,7 +3606,7 @@ shape = SubResource("BoxShape3D_vemra") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.2155762, 3.348576e-07, 0.22602017) [node name="Bench3" type="Node3D" parent="Level"] -transform = Transform3D(-0.008417428, 0, 1.423975, 0, 1.4239995, 0, -1.423975, 0, -0.008417428, 5.80428, 9.536743e-07, 31.224659) +transform = Transform3D(-0.008417428, 0, 1.423975, 0, 1.4239995, 0, -1.423975, 0, -0.008417428, 5.80428, 0.1668203, 31.224659) script = ExtResource("42_g5ygy") metadata/_custom_type_script = "uid://bq56bfytlbxq7" @@ -1919,7 +3623,7 @@ shape = SubResource("BoxShape3D_vemra") [node name="bench2" parent="Level/Bench3" instance=ExtResource("49_wxqep")] [node name="Bench4" type="Node3D" parent="Level"] -transform = Transform3D(1.4235665, 0, -0.03513211, 0, 1.4239994, 0, 0.03513211, 0, 1.4235665, 7.906864, 9.536743e-07, 29.958712) +transform = Transform3D(1.4235665, 0, -0.03513211, 0, 1.4239994, 0, 0.03513211, 0, 1.4235665, 7.906864, 0.16682029, 29.958712) script = ExtResource("42_g5ygy") metadata/_custom_type_script = "uid://bq56bfytlbxq7" @@ -1966,14 +3670,6 @@ metadata/_edit_lock_ = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.6000404, 0, -21.928106) metadata/_edit_lock_ = true -[node name="GameObject3D" type="Node3D" parent="Level"] -transform = Transform3D(0.4108638, 0, -0.91169673, 0, 1, 0, 0.91169673, 0, 0.4108638, 21.67717, -4.7683716e-07, -2.5346887) -script = ExtResource("42_g5ygy") -metadata/_custom_type_script = "uid://bq56bfytlbxq7" - -[node name="present-a-rectangle2" parent="Level/GameObject3D" instance=ExtResource("40_hvsi2")] -transform = Transform3D(1.7903701, 0, 0, 0, 1.7903696, 0, 0, 0, 1.7903701, -2.844551, 0, -9.508341) - [node name="Big House" type="Node3D" parent="Level"] transform = Transform3D(0, 0, 0.99999994, 0, 1, 0, -0.99999994, 0, 0, -7.9874372, 0, 32.179825) script = ExtResource("42_g5ygy") @@ -2006,13 +3702,13 @@ shape = SubResource("BoxShape3D_fqgfq") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.500002, 1.25, 5.999999) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_vwon7") +surface_material_override/0 = ExtResource("170_gwq84") [node name="MeshInstance3D2" type="MeshInstance3D" parent="Level/Big House"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1.25, 6) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_730hx") +surface_material_override/0 = ExtResource("167_jdant") [node name="MeshInstance3D11" type="MeshInstance3D" parent="Level/Big House"] transform = Transform3D(1, 0, 0, 0, -4.371139e-08, 1, 0, -1, -4.371139e-08, 2, 0, 4.75) @@ -2126,43 +3822,43 @@ surface_material_override/0 = SubResource("StandardMaterial3D_730hx") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 1.25, 6) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_730hx") +surface_material_override/0 = ExtResource("167_jdant") [node name="MeshInstance3D3" type="MeshInstance3D" parent="Level/Big House"] transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0.75, 1.25, 4.75) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_fqgfq") +surface_material_override/0 = ExtResource("168_celbq") [node name="MeshInstance3D6" type="MeshInstance3D" parent="Level/Big House"] transform = Transform3D(-0.9999999, 0, 8.742276e-08, 0, 1, 0, -8.742276e-08, 0, -0.9999999, 2, 1.25, -3.999999) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_ap2uv") +surface_material_override/0 = ExtResource("168_goqji") [node name="MeshInstance3D7" type="MeshInstance3D" parent="Level/Big House"] transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 8.25, 1.25, 4.75) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_ap2uv") +surface_material_override/0 = ExtResource("168_goqji") [node name="MeshInstance3D8" type="MeshInstance3D" parent="Level/Big House"] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 7, 1.25, 3.5) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_ap2uv") +surface_material_override/0 = ExtResource("168_goqji") [node name="MeshInstance3D9" type="MeshInstance3D" parent="Level/Big House"] transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 5.75, 1.25, 2.25) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_ap2uv") +surface_material_override/0 = ExtResource("168_goqji") [node name="MeshInstance3D10" type="MeshInstance3D" parent="Level/Big House"] transform = Transform3D(-0.9999999, 0, -8.742276e-08, 0, 1, 0, 8.742276e-08, 0, -0.9999999, 4.5, 1.25, -3.999999) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_ap2uv") +surface_material_override/0 = ExtResource("168_goqji") [node name="MeshInstance3D13" type="MeshInstance3D" parent="Level/Big House"] transform = Transform3D(-8.940697e-08, 0, -1, 0, 1, 0, 1, 0, -8.940697e-08, 0.7500019, 3.75, 4.749999) @@ -2174,7 +3870,7 @@ surface_material_override/0 = SubResource("StandardMaterial3D_ap2uv") transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0.7500001, 1.25, 2.25) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_fqgfq") +surface_material_override/0 = ExtResource("168_celbq") [node name="MeshInstance3D14" type="MeshInstance3D" parent="Level/Big House"] transform = Transform3D(-8.940697e-08, 0, -1, 0, 1, 0, 1, 0, -8.940697e-08, 0.75000215, 3.75, 2.249999) @@ -2282,13 +3978,13 @@ surface_material_override/0 = SubResource("StandardMaterial3D_730hx") transform = Transform3D(-4.3711385e-08, 0, 0.99999994, 0, 1, 0, -0.99999994, 0, -4.3711385e-08, 5.75, 1.25, -0.25) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_qoe36") +surface_material_override/0 = ExtResource("168_celbq") [node name="MeshInstance3D49" type="MeshInstance3D" parent="Level/Big House"] transform = Transform3D(-4.3711385e-08, 0, -0.99999994, 0, 1, 0, 0.99999994, 0, -4.3711385e-08, 0.75, 1.25, -0.25) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_fqgfq") +surface_material_override/0 = ExtResource("168_celbq") [node name="MeshInstance3D50" type="MeshInstance3D" parent="Level/Big House"] transform = Transform3D(-8.940696e-08, 0, -0.99999994, 0, 1, 0, 0.99999994, 0, -8.940696e-08, 0.7500019, 3.75, -0.25000095) @@ -2348,13 +4044,13 @@ surface_material_override/0 = SubResource("StandardMaterial3D_730hx") transform = Transform3D(-4.371138e-08, 0, 0.9999999, 0, 1, 0, -0.9999999, 0, -4.371138e-08, 5.75, 1.25, -2.75) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_ap2uv") +surface_material_override/0 = ExtResource("168_goqji") [node name="MeshInstance3D57" type="MeshInstance3D" parent="Level/Big House"] transform = Transform3D(-4.371138e-08, 0, -0.9999999, 0, 1, 0, 0.9999999, 0, -4.371138e-08, 0.75, 1.25, -2.75) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_ap2uv") +surface_material_override/0 = ExtResource("168_goqji") [node name="MeshInstance3D58" type="MeshInstance3D" parent="Level/Big House"] transform = Transform3D(-8.940695e-08, 0, -0.9999999, 0, 1, 0, 0.9999999, 0, -8.940695e-08, 0.7500019, 3.75, -2.750001) @@ -2378,13 +4074,13 @@ surface_material_override/0 = SubResource("StandardMaterial3D_qoe36") transform = Transform3D(1, 0, 0, 0, 1.5, 0, 0, 0, 1, 2, 7.5, 4.7499995) mesh = SubResource("ArrayMesh_vjiq0") skeleton = NodePath("") -surface_material_override/0 = SubResource("StandardMaterial3D_ucuw1") +surface_material_override/0 = ExtResource("160_yttar") [node name="Roof Spiky2" type="MeshInstance3D" parent="Level/Big House"] transform = Transform3D(1, 0, 0, 0, 1.5, 0, 0, 0, 1, 7, 7.5, 4.749999) mesh = SubResource("ArrayMesh_vjiq0") skeleton = NodePath("") -surface_material_override/0 = SubResource("StandardMaterial3D_ucuw1") +surface_material_override/0 = ExtResource("160_yttar") [node name="Roof" type="MeshInstance3D" parent="Level/Big House"] transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, 2, 7.5, 4.7499995) @@ -2397,19 +4093,19 @@ surface_material_override/0 = SubResource("StandardMaterial3D_xa56p") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.500001, 5, 4.75) mesh = SubResource("ArrayMesh_pms08") skeleton = NodePath("") -surface_material_override/0 = SubResource("StandardMaterial3D_h5qu5") +surface_material_override/0 = ExtResource("162_celbq") [node name="Roof4" type="MeshInstance3D" parent="Level/Big House"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.500001, 5, 2.25) mesh = SubResource("ArrayMesh_pms08") skeleton = NodePath("") -surface_material_override/0 = SubResource("StandardMaterial3D_h5qu5") +surface_material_override/0 = ExtResource("162_celbq") [node name="Roof5" type="MeshInstance3D" parent="Level/Big House"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.000001, 5, 2.25) mesh = SubResource("ArrayMesh_pms08") skeleton = NodePath("") -surface_material_override/0 = SubResource("StandardMaterial3D_h5qu5") +surface_material_override/0 = ExtResource("162_celbq") [node name="MeshInstance3D60" type="MeshInstance3D" parent="Level/Big House"] transform = Transform3D(0.99999994, 0, 0, 0, -4.371139e-08, 1, 0, -0.99999994, -4.3711385e-08, 2, 5, -0.25) @@ -2427,13 +4123,13 @@ surface_material_override/0 = SubResource("StandardMaterial3D_730hx") transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, 4.5, 5, -0.25) mesh = SubResource("ArrayMesh_pms08") skeleton = NodePath("") -surface_material_override/0 = SubResource("StandardMaterial3D_h5qu5") +surface_material_override/0 = ExtResource("162_celbq") [node name="Roof7" type="MeshInstance3D" parent="Level/Big House"] transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, 2, 5, -0.25) mesh = SubResource("ArrayMesh_pms08") skeleton = NodePath("") -surface_material_override/0 = SubResource("StandardMaterial3D_h5qu5") +surface_material_override/0 = ExtResource("162_celbq") [node name="MeshInstance3D62" type="MeshInstance3D" parent="Level/Big House"] transform = Transform3D(0.9999999, 0, 0, 0, -4.371139e-08, 1, 0, -0.9999999, -4.371138e-08, 2, 5, -2.75) @@ -2451,13 +4147,13 @@ surface_material_override/0 = SubResource("StandardMaterial3D_730hx") transform = Transform3D(0.9999999, 0, 0, 0, 1, 0, 0, 0, 0.9999999, 4.5, 5, -2.75) mesh = SubResource("ArrayMesh_pms08") skeleton = NodePath("") -surface_material_override/0 = SubResource("StandardMaterial3D_h5qu5") +surface_material_override/0 = ExtResource("162_celbq") [node name="Roof9" type="MeshInstance3D" parent="Level/Big House"] transform = Transform3D(0.9999999, 0, 0, 0, 1, 0, 0, 0, 0.9999999, 2, 5, -2.75) mesh = SubResource("ArrayMesh_pms08") skeleton = NodePath("") -surface_material_override/0 = SubResource("StandardMaterial3D_h5qu5") +surface_material_override/0 = ExtResource("162_celbq") [node name="Ivy2" type="Node3D" parent="Level/Big House"] transform = Transform3D(0.99999964, 0, 0, 0, 1, 0, 0, 0, 0.99999964, 1.3483181, 0.35811138, 6.055525) @@ -2637,6 +4333,12 @@ mesh = SubResource("QuadMesh_oqlxm") skeleton = NodePath("../../../Small House2") surface_material_override/0 = SubResource("StandardMaterial3D_12vd0") +[node name="Map Geometry3" type="MeshInstance3D" parent="Level/Big House"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.4406586, 0, 0.9597564) +layers = 8 +mesh = SubResource("PlaneMesh_31pys") +surface_material_override/0 = ExtResource("56_er746") + [node name="House" type="Node3D" parent="Level"] transform = Transform3D(-0.8660254, 0, 0.49999994, 0, 1, 0, -0.49999994, 0, -0.8660254, 3.6841955, 0, 43.588318) script = ExtResource("42_g5ygy") @@ -2657,13 +4359,13 @@ shape = SubResource("BoxShape3D_h5qu5") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.500002, 1.25, 5.999999) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_mql5u") +surface_material_override/0 = ExtResource("169_q6b7k") [node name="MeshInstance3D2" type="MeshInstance3D" parent="Level/House"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1.25, 6) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_730hx") +surface_material_override/0 = ExtResource("167_jdant") [node name="MeshInstance3D14" type="MeshInstance3D" parent="Level/House"] transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.25, 3.75, 4.75) @@ -2747,13 +4449,13 @@ surface_material_override/0 = SubResource("StandardMaterial3D_730hx") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 1.25, 6) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_730hx") +surface_material_override/0 = ExtResource("167_jdant") [node name="MeshInstance3D3" type="MeshInstance3D" parent="Level/House"] transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0.75, 1.25, 4.75) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_ap2uv") +surface_material_override/0 = ExtResource("168_goqji") [node name="MeshInstance3D13" type="MeshInstance3D" parent="Level/House"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 3.75, 6) @@ -2765,67 +4467,67 @@ surface_material_override/0 = SubResource("StandardMaterial3D_nh6ww") transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 2, 1.25, 1) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_ap2uv") +surface_material_override/0 = ExtResource("168_goqji") [node name="MeshInstance3D7" type="MeshInstance3D" parent="Level/House"] transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 8.25, 1.25, 4.75) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_ap2uv") +surface_material_override/0 = ExtResource("168_goqji") [node name="MeshInstance3D8" type="MeshInstance3D" parent="Level/House"] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 7, 1.25, 3.5) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_ap2uv") +surface_material_override/0 = ExtResource("168_goqji") [node name="MeshInstance3D9" type="MeshInstance3D" parent="Level/House"] transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 5.75, 1.25, 2.25) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_ap2uv") +surface_material_override/0 = ExtResource("168_goqji") [node name="MeshInstance3D10" type="MeshInstance3D" parent="Level/House"] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 4.5, 1.25, 1) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_ap2uv") +surface_material_override/0 = ExtResource("168_goqji") [node name="MeshInstance3D5" type="MeshInstance3D" parent="Level/House"] transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0.7500001, 1.25, 2.25) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_ap2uv") +surface_material_override/0 = ExtResource("168_goqji") [node name="Roof" type="MeshInstance3D" parent="Level/House"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.000001, 2.5, 4.75) mesh = SubResource("ArrayMesh_pms08") skeleton = NodePath("") -surface_material_override/0 = SubResource("StandardMaterial3D_gk02k") +surface_material_override/0 = ExtResource("162_celbq") [node name="Roof2" type="MeshInstance3D" parent="Level/House"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.500001, 5, 4.75) mesh = SubResource("ArrayMesh_pms08") skeleton = NodePath("") -surface_material_override/0 = SubResource("StandardMaterial3D_qlsir") +surface_material_override/0 = ExtResource("162_celbq") [node name="Roof3" type="MeshInstance3D" parent="Level/House"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.000001, 2.5, 4.75) mesh = SubResource("ArrayMesh_pms08") skeleton = NodePath("") -surface_material_override/0 = SubResource("StandardMaterial3D_qlsir") +surface_material_override/0 = ExtResource("162_celbq") [node name="Roof4" type="MeshInstance3D" parent="Level/House"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.500001, 2.5, 2.25) mesh = SubResource("ArrayMesh_pms08") skeleton = NodePath("") -surface_material_override/0 = SubResource("StandardMaterial3D_qlsir") +surface_material_override/0 = ExtResource("162_celbq") [node name="Roof5" type="MeshInstance3D" parent="Level/House"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.000001, 2.5, 2.25) mesh = SubResource("ArrayMesh_pms08") skeleton = NodePath("") -surface_material_override/0 = SubResource("StandardMaterial3D_qlsir") +surface_material_override/0 = ExtResource("162_celbq") [node name="Beet" type="MeshInstance3D" parent="Level/House"] transform = Transform3D(2.3883793, 0, 0, 0, -5.488306e-08, 0.99999964, 0, -1.255578, -4.3711374e-08, 1.979453, 0.041933984, 6.9366446) @@ -2867,6 +4569,66 @@ transform = Transform3D(1.4478787, -0.8061164, -4.371138e-08, 6.3288766e-08, -3. mesh = SubResource("QuadMesh_enjti") surface_material_override/0 = SubResource("StandardMaterial3D_rwf7d") +[node name="Beet11" type="MeshInstance3D" parent="Level/House"] +transform = Transform3D(0.43271124, -1.5572978, -3.0908627e-08, 6.328877e-08, -3.5236464e-08, 0.9999999, -1.6148989, -0.41727722, 3.090862e-08, 18.590227, 0.24222575, 19.218428) +mesh = SubResource("QuadMesh_enjti") +surface_material_override/0 = SubResource("StandardMaterial3D_rwf7d") + +[node name="Beet12" type="MeshInstance3D" parent="Level/House"] +transform = Transform3D(0.43271124, -1.5572978, -3.0908627e-08, 6.328877e-08, -3.5236464e-08, 0.9999999, -1.6148989, -0.41727722, 3.090862e-08, 17.60463, 0.2422256, 22.896727) +mesh = SubResource("QuadMesh_enjti") +surface_material_override/0 = SubResource("StandardMaterial3D_rwf7d") + +[node name="Beet13" type="MeshInstance3D" parent="Level/House"] +transform = Transform3D(0.43271124, -1.5572978, -3.0908627e-08, 6.328877e-08, -3.5236464e-08, 0.9999999, -1.6148989, -0.41727722, 3.090862e-08, 18.093304, 0.24222568, 21.07297) +mesh = SubResource("QuadMesh_enjti") +surface_material_override/0 = SubResource("StandardMaterial3D_rwf7d") + +[node name="Beet14" type="MeshInstance3D" parent="Level/House"] +transform = Transform3D(0.43271124, -1.5572978, -3.0908627e-08, 6.328877e-08, -3.5236464e-08, 0.9999999, -1.6148989, -0.41727722, 3.090862e-08, 20.53685, 0.2422258, 19.740025) +mesh = SubResource("QuadMesh_enjti") +surface_material_override/0 = SubResource("StandardMaterial3D_rwf7d") + +[node name="Beet15" type="MeshInstance3D" parent="Level/House"] +transform = Transform3D(0.43271124, -1.5572978, -3.0908627e-08, 6.328877e-08, -3.5236464e-08, 0.9999999, -1.6148989, -0.41727722, 3.090862e-08, 19.551252, 0.24222565, 23.418324) +mesh = SubResource("QuadMesh_enjti") +surface_material_override/0 = SubResource("StandardMaterial3D_rwf7d") + +[node name="Beet16" type="MeshInstance3D" parent="Level/House"] +transform = Transform3D(0.43271124, -1.5572978, -3.0908627e-08, 6.328877e-08, -3.5236464e-08, 0.9999999, -1.6148989, -0.41727722, 3.090862e-08, 20.039927, 0.24222572, 21.594566) +mesh = SubResource("QuadMesh_enjti") +surface_material_override/0 = SubResource("StandardMaterial3D_rwf7d") + +[node name="Beet17" type="MeshInstance3D" parent="Level/House"] +transform = Transform3D(0.43271124, -1.5572978, -3.0908627e-08, 6.328877e-08, -3.5236464e-08, 0.9999999, -1.6148989, -0.41727722, 3.090862e-08, 22.483473, 0.24222584, 20.261621) +mesh = SubResource("QuadMesh_enjti") +surface_material_override/0 = SubResource("StandardMaterial3D_rwf7d") + +[node name="Beet18" type="MeshInstance3D" parent="Level/House"] +transform = Transform3D(0.43271124, -1.5572978, -3.0908627e-08, 6.328877e-08, -3.5236464e-08, 0.9999999, -1.6148989, -0.41727722, 3.090862e-08, 21.497875, 0.24222569, 23.93992) +mesh = SubResource("QuadMesh_enjti") +surface_material_override/0 = SubResource("StandardMaterial3D_rwf7d") + +[node name="Beet19" type="MeshInstance3D" parent="Level/House"] +transform = Transform3D(0.43271124, -1.5572978, -3.0908627e-08, 6.328877e-08, -3.5236464e-08, 0.9999999, -1.6148989, -0.41727722, 3.090862e-08, 21.98655, 0.24222577, 22.116163) +mesh = SubResource("QuadMesh_enjti") +surface_material_override/0 = SubResource("StandardMaterial3D_rwf7d") + +[node name="Beet20" type="MeshInstance3D" parent="Level/House"] +transform = Transform3D(0.43271124, -1.5572978, -3.0908627e-08, 6.328877e-08, -3.5236464e-08, 0.9999999, -1.6148989, -0.41727722, 3.090862e-08, 24.430096, 0.24222589, 20.783218) +mesh = SubResource("QuadMesh_enjti") +surface_material_override/0 = SubResource("StandardMaterial3D_rwf7d") + +[node name="Beet21" type="MeshInstance3D" parent="Level/House"] +transform = Transform3D(0.43271124, -1.5572978, -3.0908627e-08, 6.328877e-08, -3.5236464e-08, 0.9999999, -1.6148989, -0.41727722, 3.090862e-08, 23.444498, 0.24222574, 24.461517) +mesh = SubResource("QuadMesh_enjti") +surface_material_override/0 = SubResource("StandardMaterial3D_rwf7d") + +[node name="Beet22" type="MeshInstance3D" parent="Level/House"] +transform = Transform3D(0.43271124, -1.5572978, -3.0908627e-08, 6.328877e-08, -3.5236464e-08, 0.9999999, -1.6148989, -0.41727722, 3.090862e-08, 23.933172, 0.24222581, 22.63776) +mesh = SubResource("QuadMesh_enjti") +surface_material_override/0 = SubResource("StandardMaterial3D_rwf7d") + [node name="Beet9" type="MeshInstance3D" parent="Level/House"] transform = Transform3D(1.4478787, -0.8061164, -4.371138e-08, 6.3288766e-08, -3.5236464e-08, 0.99999976, -0.8359328, -1.396235, -7.1054274e-15, 19.434046, 0.2422258, 9.967751) mesh = SubResource("QuadMesh_enjti") @@ -2877,6 +4639,24 @@ transform = Transform3D(1.4478787, -0.8061164, -4.371138e-08, 6.3288766e-08, -3. mesh = SubResource("QuadMesh_enjti") surface_material_override/0 = SubResource("StandardMaterial3D_rwf7d") +[node name="Map Geometry" type="MeshInstance3D" parent="Level/House"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.9406585, 0, 3.4597564) +layers = 8 +mesh = SubResource("PlaneMesh_vnoge") +surface_material_override/0 = ExtResource("56_er746") + +[node name="Map Geometry2" type="MeshInstance3D" parent="Level/House"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.6906586, 0, 3.4597564) +layers = 8 +mesh = SubResource("PlaneMesh_vnoge") +surface_material_override/0 = ExtResource("56_er746") + +[node name="Map Geometry3" type="MeshInstance3D" parent="Level/House"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.9406586, 0, 4.7097564) +layers = 8 +mesh = SubResource("PlaneMesh_06wgu") +surface_material_override/0 = ExtResource("56_er746") + [node name="Small House" type="Node3D" parent="Level"] transform = Transform3D(-0.49999994, 0, 0.86602527, 0, 1, 0, -0.86602527, 0, -0.49999994, 9.77907, 0, 38.830956) script = ExtResource("42_g5ygy") @@ -2901,7 +4681,7 @@ shape = SubResource("BoxShape3D_v3kle") transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 3.250002, 1.25, 2.249999) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_vwon7") +surface_material_override/0 = ExtResource("170_gwq84") [node name="MeshInstance3D11" type="MeshInstance3D" parent="Level/Small House"] transform = Transform3D(1, 0, 0, 0, -4.371139e-08, 1, 0, -1, -4.371139e-08, 2, 0, 4.75) @@ -2931,43 +4711,522 @@ surface_material_override/0 = SubResource("StandardMaterial3D_730hx") transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0.75, 1.25, 4.75) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_pgnem") +surface_material_override/0 = ExtResource("168_celbq") [node name="MeshInstance3D6" type="MeshInstance3D" parent="Level/Small House"] transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 2, 1.25, 1) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_5p3uc") +surface_material_override/0 = ExtResource("168_celbq") [node name="MeshInstance3D8" type="MeshInstance3D" parent="Level/Small House"] transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 1.9999995, 1.25, 6) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_pgnem") +surface_material_override/0 = ExtResource("168_celbq") [node name="MeshInstance3D7" type="MeshInstance3D" parent="Level/Small House"] transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 3.25, 1.25, 4.75) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_pgnem") +surface_material_override/0 = ExtResource("168_celbq") [node name="MeshInstance3D5" type="MeshInstance3D" parent="Level/Small House"] transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0.7500001, 1.25, 2.25) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_pgnem") +surface_material_override/0 = ExtResource("168_celbq") [node name="Roof" type="MeshInstance3D" parent="Level/Small House"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.000001, 2.5, 4.75) mesh = SubResource("ArrayMesh_pms08") skeleton = NodePath("") -surface_material_override/0 = SubResource("StandardMaterial3D_xa56p") +surface_material_override/0 = ExtResource("168_6q7o7") [node name="Roof5" type="MeshInstance3D" parent="Level/Small House"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.000001, 2.5, 2.25) mesh = SubResource("ArrayMesh_pms08") skeleton = NodePath("") -surface_material_override/0 = SubResource("StandardMaterial3D_xa56p") +surface_material_override/0 = ExtResource("168_6q7o7") + +[node name="Map Geometry" type="MeshInstance3D" parent="Level/Small House"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.9406585, 0, 3.4597564) +layers = 8 +mesh = SubResource("PlaneMesh_vnoge") +surface_material_override/0 = ExtResource("56_er746") + +[node name="Bush Pot" type="Node3D" parent="Level"] +transform = Transform3D(0.98872554, 0, 0.14973897, 0, 1, 0, -0.14973897, 0, 0.98872554, 5.3605056, -9.536743e-07, 15.359174) +script = ExtResource("42_g5ygy") +metadata/_custom_type_script = "uid://bq56bfytlbxq7" + +[node name="RigidBody3D" type="RigidBody3D" parent="Level/Bush Pot"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Level/Bush Pot/RigidBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5397718, 0) +shape = SubResource("BoxShape3D_gwq84") + +[node name="Billboard" type="MeshInstance3D" parent="Level/Bush Pot/RigidBody3D"] +transform = Transform3D(-0.99928635, -8.73928e-08, 0.044960022, -8.97403e-08, 0.9996569, -1.4034882e-07, -0.02722317, -8.7392806e-08, -1.6503634, 0.0077228546, 1.0626924, -0.256752) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard5" type="MeshInstance3D" parent="Level/Bush Pot/RigidBody3D"] +transform = Transform3D(-0.6353595, -0.017308801, -2.1317305e-07, -5.6846133e-08, 2.624896e-08, 1.0497122, -0.01730889, 0.6353594, -4.922225e-08, 0.0011719771, 1.3746762, -0.016283542) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_bsxpb") + +[node name="Billboard2" type="MeshInstance3D" parent="Level/Bush Pot/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, -0.31241608, 1.0626916, -0.003063202) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard4" type="MeshInstance3D" parent="Level/Bush Pot/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, 0.312603, 1.0626917, -0.033439636) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard3" type="MeshInstance3D" parent="Level/Bush Pot/RigidBody3D"] +transform = Transform3D(0.9979056, -8.73928e-08, -0.09768629, 9.24106e-08, 0.9996569, 1.3554e-07, 0.05914846, -8.7392806e-08, 1.6480832, 0.015546799, 1.0626924, 0.29962158) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Roof2" type="MeshInstance3D" parent="Level/Bush Pot/RigidBody3D"] +transform = Transform3D(-0.42158195, 6.8355654e-08, 0, -3.6855866e-08, -0.78189754, 0, 0, 0, 0.42158195, 0.0022287369, 0.9558369, 0.0018920898) +mesh = SubResource("ArrayMesh_pms08") +skeleton = NodePath("") +surface_material_override/0 = SubResource("StandardMaterial3D_23vqh") + +[node name="Bush Pot2" type="Node3D" parent="Level"] +transform = Transform3D(0.5181798, 0, 0.45182532, 0, 0.6875, 0, -0.45182532, 0, 0.5181798, 6.4262204, -4.7683716e-07, 16.448238) +script = ExtResource("42_g5ygy") +metadata/_custom_type_script = "uid://bq56bfytlbxq7" + +[node name="RigidBody3D" type="RigidBody3D" parent="Level/Bush Pot2"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Level/Bush Pot2/RigidBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5397718, 0) +shape = SubResource("BoxShape3D_gwq84") + +[node name="Billboard" type="MeshInstance3D" parent="Level/Bush Pot2/RigidBody3D"] +transform = Transform3D(-0.99928635, -8.73928e-08, 0.044960022, -8.97403e-08, 0.9996569, -1.4034882e-07, -0.02722317, -8.7392806e-08, -1.6503634, 0.0077228546, 1.0626924, -0.256752) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard5" type="MeshInstance3D" parent="Level/Bush Pot2/RigidBody3D"] +transform = Transform3D(-0.6353595, -0.017308801, -2.1317305e-07, -5.6846133e-08, 2.624896e-08, 1.0497122, -0.01730889, 0.6353594, -4.922225e-08, 0.0011719771, 1.3746762, -0.016283542) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_bsxpb") + +[node name="Billboard2" type="MeshInstance3D" parent="Level/Bush Pot2/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, -0.31241608, 1.0626916, -0.003063202) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard4" type="MeshInstance3D" parent="Level/Bush Pot2/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, 0.312603, 1.0626917, -0.033439636) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard3" type="MeshInstance3D" parent="Level/Bush Pot2/RigidBody3D"] +transform = Transform3D(0.9979056, -8.73928e-08, -0.09768629, 9.24106e-08, 0.9996569, 1.3554e-07, 0.05914846, -8.7392806e-08, 1.6480832, 0.015546799, 1.0626924, 0.29962158) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Roof2" type="MeshInstance3D" parent="Level/Bush Pot2/RigidBody3D"] +transform = Transform3D(-0.42158195, 6.8355654e-08, 0, -3.6855866e-08, -0.78189754, 0, 0, 0, 0.42158195, 0.0022287369, 0.9558369, 0.0018920898) +mesh = SubResource("ArrayMesh_pms08") +skeleton = NodePath("") +surface_material_override/0 = SubResource("StandardMaterial3D_23vqh") + +[node name="Bush Pot3" type="Node3D" parent="Level"] +transform = Transform3D(0.21962905, 0, 0.6514748, 0, 0.6875, 0, -0.6514748, 0, 0.21962905, 6.6272125, -4.7683716e-07, 15.526727) +script = ExtResource("42_g5ygy") +metadata/_custom_type_script = "uid://bq56bfytlbxq7" + +[node name="RigidBody3D" type="RigidBody3D" parent="Level/Bush Pot3"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Level/Bush Pot3/RigidBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5397718, 0) +shape = SubResource("BoxShape3D_gwq84") + +[node name="Billboard" type="MeshInstance3D" parent="Level/Bush Pot3/RigidBody3D"] +transform = Transform3D(-0.99928635, -8.73928e-08, 0.044960022, -8.97403e-08, 0.9996569, -1.4034882e-07, -0.02722317, -8.7392806e-08, -1.6503634, 0.0077228546, 1.0626924, -0.256752) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard5" type="MeshInstance3D" parent="Level/Bush Pot3/RigidBody3D"] +transform = Transform3D(-0.6353595, -0.017308801, -2.1317305e-07, -5.6846133e-08, 2.624896e-08, 1.0497122, -0.01730889, 0.6353594, -4.922225e-08, 0.0011719771, 1.3746762, -0.016283542) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_bsxpb") + +[node name="Billboard2" type="MeshInstance3D" parent="Level/Bush Pot3/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, -0.31241608, 1.0626916, -0.003063202) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard4" type="MeshInstance3D" parent="Level/Bush Pot3/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, 0.312603, 1.0626917, -0.033439636) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard3" type="MeshInstance3D" parent="Level/Bush Pot3/RigidBody3D"] +transform = Transform3D(0.9979056, -8.73928e-08, -0.09768629, 9.24106e-08, 0.9996569, 1.3554e-07, 0.05914846, -8.7392806e-08, 1.6480832, 0.015546799, 1.0626924, 0.29962158) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Roof2" type="MeshInstance3D" parent="Level/Bush Pot3/RigidBody3D"] +transform = Transform3D(-0.42158195, 6.8355654e-08, 0, -3.6855866e-08, -0.78189754, 0, 0, 0, 0.42158195, 0.0022287369, 0.9558369, 0.0018920898) +mesh = SubResource("ArrayMesh_pms08") +skeleton = NodePath("") +surface_material_override/0 = SubResource("StandardMaterial3D_23vqh") + +[node name="Bush Pot4" type="Node3D" parent="Level"] +transform = Transform3D(0.8398397, 0, 0.5428344, 0, 1, 0, -0.5428344, 0, 0.8398397, -4.0388346, 0, 32.588757) +script = ExtResource("42_g5ygy") +metadata/_custom_type_script = "uid://bq56bfytlbxq7" +metadata/_edit_group_ = true + +[node name="RigidBody3D" type="RigidBody3D" parent="Level/Bush Pot4"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Level/Bush Pot4/RigidBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5397718, 0) +shape = SubResource("BoxShape3D_gwq84") + +[node name="Billboard" type="MeshInstance3D" parent="Level/Bush Pot4/RigidBody3D"] +transform = Transform3D(-0.99928635, -8.73928e-08, 0.044960022, -8.97403e-08, 0.9996569, -1.4034882e-07, -0.02722317, -8.7392806e-08, -1.6503634, 0.0077228546, 1.0626924, -0.256752) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard5" type="MeshInstance3D" parent="Level/Bush Pot4/RigidBody3D"] +transform = Transform3D(-0.6353595, -0.017308801, -2.1317305e-07, -5.6846133e-08, 2.624896e-08, 1.0497122, -0.01730889, 0.6353594, -4.922225e-08, 0.0011719771, 1.3746762, -0.016283542) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_bsxpb") + +[node name="Billboard2" type="MeshInstance3D" parent="Level/Bush Pot4/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, -0.31241608, 1.0626916, -0.003063202) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard4" type="MeshInstance3D" parent="Level/Bush Pot4/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, 0.312603, 1.0626917, -0.033439636) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard3" type="MeshInstance3D" parent="Level/Bush Pot4/RigidBody3D"] +transform = Transform3D(0.9979056, -8.73928e-08, -0.09768629, 9.24106e-08, 0.9996569, 1.3554e-07, 0.05914846, -8.7392806e-08, 1.6480832, 0.015546799, 1.0626924, 0.29962158) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Roof2" type="MeshInstance3D" parent="Level/Bush Pot4/RigidBody3D"] +transform = Transform3D(-0.42158195, 6.8355654e-08, 0, -3.6855866e-08, -0.78189754, 0, 0, 0, 0.42158195, 0.0022287369, 0.9558369, 0.0018920898) +mesh = SubResource("ArrayMesh_pms08") +skeleton = NodePath("") +surface_material_override/0 = SubResource("StandardMaterial3D_23vqh") + +[node name="Bush Pot5" type="Node3D" parent="Level"] +transform = Transform3D(0.28671983, 0, 0.6248584, 0, 0.68749994, 0, -0.6248584, 0, 0.28671983, -2.5502424, 4.7683716e-07, 33.23836) +script = ExtResource("42_g5ygy") +metadata/_custom_type_script = "uid://bq56bfytlbxq7" + +[node name="RigidBody3D" type="RigidBody3D" parent="Level/Bush Pot5"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Level/Bush Pot5/RigidBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5397718, 0) +shape = SubResource("BoxShape3D_gwq84") + +[node name="Billboard" type="MeshInstance3D" parent="Level/Bush Pot5/RigidBody3D"] +transform = Transform3D(-0.99928635, -8.73928e-08, 0.044960022, -8.97403e-08, 0.9996569, -1.4034882e-07, -0.02722317, -8.7392806e-08, -1.6503634, 0.0077228546, 1.0626924, -0.256752) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard5" type="MeshInstance3D" parent="Level/Bush Pot5/RigidBody3D"] +transform = Transform3D(-0.6353595, -0.017308801, -2.1317305e-07, -5.6846133e-08, 2.624896e-08, 1.0497122, -0.01730889, 0.6353594, -4.922225e-08, 0.0011719771, 1.3746762, -0.016283542) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_bsxpb") + +[node name="Billboard2" type="MeshInstance3D" parent="Level/Bush Pot5/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, -0.31241608, 1.0626916, -0.003063202) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard4" type="MeshInstance3D" parent="Level/Bush Pot5/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, 0.312603, 1.0626917, -0.033439636) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard3" type="MeshInstance3D" parent="Level/Bush Pot5/RigidBody3D"] +transform = Transform3D(0.9979056, -8.73928e-08, -0.09768629, 9.24106e-08, 0.9996569, 1.3554e-07, 0.05914846, -8.7392806e-08, 1.6480832, 0.015546799, 1.0626924, 0.29962158) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Roof2" type="MeshInstance3D" parent="Level/Bush Pot5/RigidBody3D"] +transform = Transform3D(-0.42158195, 6.8355654e-08, 0, -3.6855866e-08, -0.78189754, 0, 0, 0, 0.42158195, 0.0022287369, 0.9558369, 0.0018920898) +mesh = SubResource("ArrayMesh_pms08") +skeleton = NodePath("") +surface_material_override/0 = SubResource("StandardMaterial3D_23vqh") + +[node name="Bush Pot6" type="Node3D" parent="Level"] +transform = Transform3D(-0.06750266, 0, 0.6841781, 0, 0.68749994, 0, -0.6841781, 0, -0.06750266, -2.7457092, 4.7683716e-07, 32.31566) +script = ExtResource("42_g5ygy") +metadata/_custom_type_script = "uid://bq56bfytlbxq7" + +[node name="RigidBody3D" type="RigidBody3D" parent="Level/Bush Pot6"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Level/Bush Pot6/RigidBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5397718, 0) +shape = SubResource("BoxShape3D_gwq84") + +[node name="Billboard" type="MeshInstance3D" parent="Level/Bush Pot6/RigidBody3D"] +transform = Transform3D(-0.99928635, -8.73928e-08, 0.044960022, -8.97403e-08, 0.9996569, -1.4034882e-07, -0.02722317, -8.7392806e-08, -1.6503634, 0.0077228546, 1.0626924, -0.256752) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard5" type="MeshInstance3D" parent="Level/Bush Pot6/RigidBody3D"] +transform = Transform3D(-0.6353595, -0.017308801, -2.1317305e-07, -5.6846133e-08, 2.624896e-08, 1.0497122, -0.01730889, 0.6353594, -4.922225e-08, 0.0011719771, 1.3746762, -0.016283542) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_bsxpb") + +[node name="Billboard2" type="MeshInstance3D" parent="Level/Bush Pot6/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, -0.31241608, 1.0626916, -0.003063202) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard4" type="MeshInstance3D" parent="Level/Bush Pot6/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, 0.312603, 1.0626917, -0.033439636) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard3" type="MeshInstance3D" parent="Level/Bush Pot6/RigidBody3D"] +transform = Transform3D(0.9979056, -8.73928e-08, -0.09768629, 9.24106e-08, 0.9996569, 1.3554e-07, 0.05914846, -8.7392806e-08, 1.6480832, 0.015546799, 1.0626924, 0.29962158) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Roof2" type="MeshInstance3D" parent="Level/Bush Pot6/RigidBody3D"] +transform = Transform3D(-0.42158195, 6.8355654e-08, 0, -3.6855866e-08, -0.78189754, 0, 0, 0, 0.42158195, 0.0022287369, 0.9558369, 0.0018920898) +mesh = SubResource("ArrayMesh_pms08") +skeleton = NodePath("") +surface_material_override/0 = SubResource("StandardMaterial3D_23vqh") + +[node name="Bush Pot8" type="Node3D" parent="Level"] +transform = Transform3D(-0.36805463, 0, -0.5806824, 0, 0.68749994, 0, 0.5806824, 0, -0.36805463, -6.4782853, 4.7683716e-07, 32.352257) +script = ExtResource("42_g5ygy") +metadata/_custom_type_script = "uid://bq56bfytlbxq7" +metadata/_edit_group_ = true + +[node name="RigidBody3D" type="RigidBody3D" parent="Level/Bush Pot8"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Level/Bush Pot8/RigidBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5397718, 0) +shape = SubResource("BoxShape3D_gwq84") + +[node name="Billboard" type="MeshInstance3D" parent="Level/Bush Pot8/RigidBody3D"] +transform = Transform3D(-0.99928635, -8.73928e-08, 0.044960022, -8.97403e-08, 0.9996569, -1.4034882e-07, -0.02722317, -8.7392806e-08, -1.6503634, 0.0077228546, 1.0626924, -0.256752) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard5" type="MeshInstance3D" parent="Level/Bush Pot8/RigidBody3D"] +transform = Transform3D(-0.6353595, -0.017308801, -2.1317305e-07, -5.6846133e-08, 2.624896e-08, 1.0497122, -0.01730889, 0.6353594, -4.922225e-08, 0.0011719771, 1.3746762, -0.016283542) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_bsxpb") + +[node name="Billboard2" type="MeshInstance3D" parent="Level/Bush Pot8/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, -0.31241608, 1.0626916, -0.003063202) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard4" type="MeshInstance3D" parent="Level/Bush Pot8/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, 0.312603, 1.0626917, -0.033439636) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard3" type="MeshInstance3D" parent="Level/Bush Pot8/RigidBody3D"] +transform = Transform3D(0.9979056, -8.73928e-08, -0.09768629, 9.24106e-08, 0.9996569, 1.3554e-07, 0.05914846, -8.7392806e-08, 1.6480832, 0.015546799, 1.0626924, 0.29962158) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Roof2" type="MeshInstance3D" parent="Level/Bush Pot8/RigidBody3D"] +transform = Transform3D(-0.42158195, 6.8355654e-08, 0, -3.6855866e-08, -0.78189754, 0, 0, 0, 0.42158195, 0.0022287369, 0.9558369, 0.0018920898) +mesh = SubResource("ArrayMesh_pms08") +skeleton = NodePath("") +surface_material_override/0 = SubResource("StandardMaterial3D_23vqh") + +[node name="Bush Pot9" type="Node3D" parent="Level"] +transform = Transform3D(-0.025010258, 0, -0.687045, 0, 0.6874999, 0, 0.687045, 0, -0.025010258, -5.267715, 4.7683716e-07, 32.357563) +script = ExtResource("42_g5ygy") +metadata/_custom_type_script = "uid://bq56bfytlbxq7" +metadata/_edit_group_ = true + +[node name="RigidBody3D" type="RigidBody3D" parent="Level/Bush Pot9"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Level/Bush Pot9/RigidBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5397718, 0) +shape = SubResource("BoxShape3D_gwq84") + +[node name="Billboard" type="MeshInstance3D" parent="Level/Bush Pot9/RigidBody3D"] +transform = Transform3D(-0.99928635, -8.73928e-08, 0.044960022, -8.97403e-08, 0.9996569, -1.4034882e-07, -0.02722317, -8.7392806e-08, -1.6503634, 0.0077228546, 1.0626924, -0.256752) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard5" type="MeshInstance3D" parent="Level/Bush Pot9/RigidBody3D"] +transform = Transform3D(-0.6353595, -0.017308801, -2.1317305e-07, -5.6846133e-08, 2.624896e-08, 1.0497122, -0.01730889, 0.6353594, -4.922225e-08, 0.0011719771, 1.3746762, -0.016283542) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_bsxpb") + +[node name="Billboard2" type="MeshInstance3D" parent="Level/Bush Pot9/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, -0.31241608, 1.0626916, -0.003063202) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard4" type="MeshInstance3D" parent="Level/Bush Pot9/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, 0.312603, 1.0626917, -0.033439636) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard3" type="MeshInstance3D" parent="Level/Bush Pot9/RigidBody3D"] +transform = Transform3D(0.9979056, -8.73928e-08, -0.09768629, 9.24106e-08, 0.9996569, 1.3554e-07, 0.05914846, -8.7392806e-08, 1.6480832, 0.015546799, 1.0626924, 0.29962158) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Roof2" type="MeshInstance3D" parent="Level/Bush Pot9/RigidBody3D"] +transform = Transform3D(-0.42158195, 6.8355654e-08, 0, -3.6855866e-08, -0.78189754, 0, 0, 0, 0.42158195, 0.0022287369, 0.9558369, 0.0018920898) +mesh = SubResource("ArrayMesh_pms08") +skeleton = NodePath("") +surface_material_override/0 = SubResource("StandardMaterial3D_23vqh") + +[node name="Bush Pot11" type="Node3D" parent="Level"] +transform = Transform3D(-0.36805463, 0, -0.5806824, 0, 0.68749994, 0, 0.5806824, 0, -0.36805463, 6.4638853, 1.4305115e-06, 38.681248) +script = ExtResource("42_g5ygy") +metadata/_custom_type_script = "uid://bq56bfytlbxq7" + +[node name="RigidBody3D" type="RigidBody3D" parent="Level/Bush Pot11"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Level/Bush Pot11/RigidBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5397718, 0) +shape = SubResource("BoxShape3D_gwq84") + +[node name="Billboard" type="MeshInstance3D" parent="Level/Bush Pot11/RigidBody3D"] +transform = Transform3D(-0.99928635, -8.73928e-08, 0.044960022, -8.97403e-08, 0.9996569, -1.4034882e-07, -0.02722317, -8.7392806e-08, -1.6503634, 0.0077228546, 1.0626924, -0.256752) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard5" type="MeshInstance3D" parent="Level/Bush Pot11/RigidBody3D"] +transform = Transform3D(-0.6353595, -0.017308801, -2.1317305e-07, -5.6846133e-08, 2.624896e-08, 1.0497122, -0.01730889, 0.6353594, -4.922225e-08, 0.0011719771, 1.3746762, -0.016283542) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_bsxpb") + +[node name="Billboard2" type="MeshInstance3D" parent="Level/Bush Pot11/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, -0.31241608, 1.0626916, -0.003063202) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard4" type="MeshInstance3D" parent="Level/Bush Pot11/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, 0.312603, 1.0626917, -0.033439636) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard3" type="MeshInstance3D" parent="Level/Bush Pot11/RigidBody3D"] +transform = Transform3D(0.9979056, -8.73928e-08, -0.09768629, 9.24106e-08, 0.9996569, 1.3554e-07, 0.05914846, -8.7392806e-08, 1.6480832, 0.015546799, 1.0626924, 0.29962158) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Roof2" type="MeshInstance3D" parent="Level/Bush Pot11/RigidBody3D"] +transform = Transform3D(-0.42158195, 6.8355654e-08, 0, -3.6855866e-08, -0.78189754, 0, 0, 0, 0.42158195, 0.0022287369, 0.9558369, 0.0018920898) +mesh = SubResource("ArrayMesh_pms08") +skeleton = NodePath("") +surface_material_override/0 = SubResource("StandardMaterial3D_23vqh") + +[node name="Bush Pot12" type="Node3D" parent="Level"] +transform = Transform3D(-0.025010258, 0, -0.687045, 0, 0.6874999, 0, 0.687045, 0, -0.025010258, 6.53364, 1.4305115e-06, 39.621845) +script = ExtResource("42_g5ygy") +metadata/_custom_type_script = "uid://bq56bfytlbxq7" + +[node name="RigidBody3D" type="RigidBody3D" parent="Level/Bush Pot12"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Level/Bush Pot12/RigidBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5397718, 0) +shape = SubResource("BoxShape3D_gwq84") + +[node name="Billboard" type="MeshInstance3D" parent="Level/Bush Pot12/RigidBody3D"] +transform = Transform3D(-0.99928635, -8.73928e-08, 0.044960022, -8.97403e-08, 0.9996569, -1.4034882e-07, -0.02722317, -8.7392806e-08, -1.6503634, 0.0077228546, 1.0626924, -0.256752) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard5" type="MeshInstance3D" parent="Level/Bush Pot12/RigidBody3D"] +transform = Transform3D(-0.6353595, -0.017308801, -2.1317305e-07, -5.6846133e-08, 2.624896e-08, 1.0497122, -0.01730889, 0.6353594, -4.922225e-08, 0.0011719771, 1.3746762, -0.016283542) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_bsxpb") + +[node name="Billboard2" type="MeshInstance3D" parent="Level/Bush Pot12/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, -0.31241608, 1.0626916, -0.003063202) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard4" type="MeshInstance3D" parent="Level/Bush Pot12/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, 0.312603, 1.0626917, -0.033439636) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard3" type="MeshInstance3D" parent="Level/Bush Pot12/RigidBody3D"] +transform = Transform3D(0.9979056, -8.73928e-08, -0.09768629, 9.24106e-08, 0.9996569, 1.3554e-07, 0.05914846, -8.7392806e-08, 1.6480832, 0.015546799, 1.0626924, 0.29962158) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Roof2" type="MeshInstance3D" parent="Level/Bush Pot12/RigidBody3D"] +transform = Transform3D(-0.42158195, 6.8355654e-08, 0, -3.6855866e-08, -0.78189754, 0, 0, 0, 0.42158195, 0.0022287369, 0.9558369, 0.0018920898) +mesh = SubResource("ArrayMesh_pms08") +skeleton = NodePath("") +surface_material_override/0 = SubResource("StandardMaterial3D_23vqh") [node name="Small House2" type="Node3D" parent="Level"] transform = Transform3D(0.70710665, 0, -0.70710665, 0, 1, 0, 0.70710665, 0, 0.70710665, 1.8219907, 0, 14.591966) @@ -2985,7 +5244,7 @@ shape = SubResource("BoxShape3D_gk02k") transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 3.250002, 1.25, 2.249999) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_oqlxm") +surface_material_override/0 = ExtResource("169_q6b7k") [node name="MeshInstance3D11" type="MeshInstance3D" parent="Level/Small House2"] transform = Transform3D(1, 0, 0, 0, -4.371139e-08, 1, 0, -1, -4.371139e-08, 2, 0, 4.75) @@ -3015,31 +5274,31 @@ surface_material_override/0 = SubResource("StandardMaterial3D_730hx") transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0.75, 1.25, 4.75) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_vgxo8") +surface_material_override/0 = ExtResource("168_celbq") [node name="MeshInstance3D6" type="MeshInstance3D" parent="Level/Small House2"] transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 2, 1.25, 1) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_tr1d7") +surface_material_override/0 = ExtResource("168_celbq") [node name="MeshInstance3D8" type="MeshInstance3D" parent="Level/Small House2"] transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 1.9999995, 1.25, 6) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_ap2uv") +surface_material_override/0 = ExtResource("168_goqji") [node name="MeshInstance3D7" type="MeshInstance3D" parent="Level/Small House2"] transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 3.25, 1.25, 4.75) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_ephol") +surface_material_override/0 = ExtResource("168_celbq") [node name="MeshInstance3D5" type="MeshInstance3D" parent="Level/Small House2"] transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0.7500001, 1.25, 2.25) mesh = SubResource("QuadMesh_bdfmq") skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_vgxo8") +surface_material_override/0 = ExtResource("168_celbq") [node name="MeshInstance3D4" type="MeshInstance3D" parent="Level/Small House2"] transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0.75, 3.75, 4.75) @@ -3081,13 +5340,13 @@ surface_material_override/0 = SubResource("StandardMaterial3D_ap2uv") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.000001, 5, 4.75) mesh = SubResource("ArrayMesh_pms08") skeleton = NodePath("") -surface_material_override/0 = SubResource("StandardMaterial3D_xa56p") +surface_material_override/0 = ExtResource("168_6q7o7") [node name="Roof5" type="MeshInstance3D" parent="Level/Small House2"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.000001, 5, 2.25) mesh = SubResource("ArrayMesh_pms08") skeleton = NodePath("") -surface_material_override/0 = SubResource("StandardMaterial3D_xa56p") +surface_material_override/0 = ExtResource("168_6q7o7") [node name="Ivy" type="Node3D" parent="Level/Small House2"] transform = Transform3D(-5.9604645e-08, 0, 0.9999999, 0, 1, 0, -0.9999999, 0, -5.9604645e-08, 3.313614, 0.75, 5.3572006) @@ -3103,6 +5362,198 @@ mesh = SubResource("QuadMesh_oqlxm") skeleton = NodePath("../..") surface_material_override/0 = SubResource("StandardMaterial3D_12vd0") +[node name="MeshInstance3D43" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(-4.4096815e-10, 0.010088056, 0.9999493, -0.99999994, -4.371139e-08, 8.579145e-16, 4.370918e-08, -0.99994946, 0.0100878775, 5.0105247, -0.23639746, -1.6138258) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_12vd0") + +[node name="MeshInstance3D75" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(-0.009425896, 0.0035943007, 0.99994934, -0.3562813, -0.93437916, 0, 0.9343312, -0.35626337, 0.010087878, 4.730699, -0.18120497, -1.0717828) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_12vd0") + +[node name="MeshInstance3D70" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(-4.4096815e-10, 0.010088056, 0.9999493, -0.99999994, -4.371139e-08, 8.579145e-16, 4.370918e-08, -0.99994946, 0.0100878775, 4.4776134, 0.003993273, -1.5178232) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_12vd0") + +[node name="MeshInstance3D71" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(-4.409696e-10, -0.010087703, 0.99994946, 0.99999994, -4.3711417e-08, 8.881784e-16, 4.3709143e-08, 0.9999495, 0.010087879, 4.484175, 0.7732146, -2.1683586) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_12vd0") + +[node name="MeshInstance3D78" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.7646535, 0.6443386, 0.011538226, 0.64438117, -0.7647048, 4.377216e-08, 0.008823357, 0.0074348073, -0.99993384, 3.248046, -0.38453442, -2.6005185) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_12vd0") + +[node name="MeshInstance3D79" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(-0.7841851, 0.62042004, 0.011538228, 0.62046105, 0.78423774, 4.377216e-08, -0.009048677, 0.007158879, -0.99993396, 4.0907946, -0.25677377, -2.590794) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_12vd0") + +[node name="MeshInstance3D80" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(-0.66584384, 0.5267925, 0.009796977, 0.52682734, 0.6658885, 3.7166508e-08, -0.007683158, 0.0060785115, -0.8490341, 4.122039, 0.56815374, -2.5904338) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_12vd0") + +[node name="MeshInstance3D81" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(-0.66584384, 0.5267925, 0.009796977, 0.52682734, 0.6658885, 3.7166508e-08, -0.007683158, 0.0060785115, -0.8490341, 4.0765643, 1.2395366, -2.5909584) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_dq7d0") + +[node name="MeshInstance3D82" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.08382967, 0.023678124, 0.8446106, 0.52209073, 0.66588855, -0.070486456, -0.6643404, 0.5262953, 0.051183134, 4.465098, 1.8774688, -2.2322588) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_dq7d0") + +[node name="MeshInstance3D83" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.07815309, -0.038472645, 0.8446106, 0.8335105, 0.1457606, -0.070486456, -0.14179772, 0.83560073, 0.05118313, 4.392688, 1.4358053, -1.6456094) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_dq7d0") + +[node name="MeshInstance3D84" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.07815309, -0.038472645, 0.8446106, 0.8335105, 0.1457606, -0.070486456, -0.14179772, 0.83560073, 0.05118313, 4.3951287, 1.8536406, -1.1104754) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_dq7d0") + +[node name="MeshInstance3D85" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.07815309, -0.038472645, 0.8446106, 0.8335105, 0.1457606, -0.070486456, -0.14179772, 0.83560073, 0.05118313, 4.461386, 2.2451036, -1.6647302) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_dq7d0") + +[node name="MeshInstance3D86" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.11093025, -0.054608047, 1.1988376, 1.1830821, 0.20689212, -0.100048244, -0.20126724, 1.186049, 0.07264918, -1.539999, -0.32542098, -5.84533) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_dq7d0") + +[node name="MeshInstance3D87" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.083179854, 0.09148056, 1.1988378, 0.12866646, 1.1941248, -0.10004825, -1.1954176, 0.1348928, 0.072649196, -1.4723344, -0.1572542, -6.7303195) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_dq7d0") + +[node name="MeshInstance3D88" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.1232135, 0.010295767, 1.1988378, 0.9077288, 0.7864584, -0.10004826, -0.783163, 0.91316813, 0.07264921, -1.4807495, -0.06258276, -7.562683) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_dq7d0") + +[node name="MeshInstance3D89" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(1.162803, 0.30921087, -0.06910244, -0.07616543, 0.01765364, -1.2026583, -0.30754727, 1.1647213, 0.036574095, -1.040822, -0.420444, -5.9275265) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_dq7d0") + +[node name="MeshInstance3D90" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.024732292, 1.20296, -0.069102496, -0.038046625, -0.06830299, -1.2026584, -1.2043417, 0.026861846, 0.036574118, -0.94977474, -0.44123787, -6.8257027) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_dq7d0") + +[node name="MeshInstance3D91" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.8376665, 0.86373496, -0.06910253, -0.07438445, -0.024078302, -1.2026584, -0.8632957, 0.8401676, 0.036574103, -0.92883015, -0.42107123, -7.662263) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_dq7d0") + +[node name="MeshInstance3D92" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.5416613, -1.07545, -0.050090335, -0.07616543, 0.01765364, -1.2026583, 1.0739179, 0.54368603, -0.06003143, -0.16957188, -0.4357717, -7.458501) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_dq7d0") + +[node name="MeshInstance3D93" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(1.1833606, 0.22281516, -0.050090358, -0.03804662, -0.06830298, -1.2026584, -0.22518465, 1.1824498, -0.06003147, 0.7279892, -0.4683171, -7.5554113) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_dq7d0") + +[node name="MeshInstance3D94" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(1.0180392, -0.6431061, -0.050090343, -0.07438444, -0.024078304, -1.2026583, 0.6407502, 1.0189867, -0.060031503, 1.5507536, -0.42841822, -7.708144) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_dq7d0") + +[node name="MeshInstance3D95" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.5416613, -1.07545, -0.05009034, -0.07616543, 0.01765364, -1.2026583, 1.0739179, 0.54368603, -0.060031425, 0.70469, -0.3136474, -5.402626) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_dq7d0") + +[node name="MeshInstance3D96" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(1.1833606, 0.22281516, -0.050090358, -0.03804662, -0.06830298, -1.2026584, -0.22518465, 1.1824498, -0.06003147, 1.6022501, -0.34619278, -5.4995365) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_dq7d0") + +[node name="MeshInstance3D97" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(1.0180392, -0.6431061, -0.050090343, -0.07438444, -0.024078304, -1.2026583, 0.6407503, 1.0189867, -0.060031503, 2.4250145, -0.5281566, -5.6522703) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_dq7d0") + +[node name="MeshInstance3D98" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.5416613, -1.07545, -0.050090343, -0.07616543, 0.01765364, -1.2026583, 1.0739179, 0.54368603, -0.060031433, 1.0429869, -0.4804647, -9.620577) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_dq7d0") + +[node name="MeshInstance3D99" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(1.1833606, 0.22281516, -0.050090358, -0.03804662, -0.06830298, -1.2026584, -0.22518465, 1.1824498, -0.06003147, 1.940547, -0.5130101, -9.717487) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_dq7d0") + +[node name="MeshInstance3D100" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(1.0180392, -0.6431061, -0.050090343, -0.07438444, -0.024078304, -1.2026583, 0.64075035, 1.0189867, -0.060031503, 2.7633104, -0.4731112, -9.870221) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_dq7d0") + +[node name="MeshInstance3D72" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.0055674156, -0.008412264, 0.99994946, 0.8339156, 0.5518921, 0, -0.5518637, 0.8338736, 0.01008788, 4.667647, -0.15870744, -2.434686) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_12vd0") + +[node name="MeshInstance3D73" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.0055674156, -0.008412264, 0.99994946, 0.8339156, 0.5518921, 0, -0.5518637, 0.8338736, 0.01008788, 4.6642747, 0.3146767, -2.1004584) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_12vd0") + +[node name="MeshInstance3D74" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.0055674156, -0.008412264, 0.99994946, 0.8339156, 0.5518921, 0, -0.5518637, 0.8338736, 0.01008788, 5.05442, -0.01786989, -2.7274606) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_12vd0") + +[node name="MeshInstance3D76" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.0055674156, -0.008412264, 0.99994946, 0.8339156, 0.5518921, 0, -0.5518637, 0.8338736, 0.01008788, 5.06382, -0.22580785, -3.6592398) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_12vd0") + +[node name="MeshInstance3D77" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.004028067, -0.0060863495, 0.7234703, 0.6033436, 0.39929768, 0, -0.39927715, 0.6033133, 0.0072986484, 5.072777, -0.027152315, -4.5471888) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_12vd0") + [node name="MeshInstance3D42" type="MeshInstance3D" parent="Level/Small House2/Ivy"] transform = Transform3D(-4.3711392e-08, 1.0000001, 0, -0.99999994, -4.371139e-08, 0, -3.5527137e-15, 0, 1, 0, 2, 0) mesh = SubResource("QuadMesh_oqlxm") @@ -3115,14 +5566,146 @@ mesh = SubResource("QuadMesh_oqlxm") skeleton = NodePath("../..") surface_material_override/0 = SubResource("StandardMaterial3D_enjti") +[node name="MeshInstance3D48" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.9746921, 0.22355136, 0, -0.2235513, 0.9746923, 0, 0, 0, 1, 1.9660482, 2.9605207, 0.0015325546) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_412gp") + +[node name="MeshInstance3D59" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.9746921, 0.22355136, 0, -0.2235513, 0.9746923, 0, 0, 0, 1, 2.1135845, 3.603784, 0.0015325546) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_pp0bs") + +[node name="MeshInstance3D65" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.28465405, 0.55637324, 0, -0.5563731, 0.28465408, 0, 0, 0, 1, 3.8856015, 2.820474, 0.0015310152) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_pp0bs") + +[node name="MeshInstance3D66" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.28465405, 0.55637324, 0, -0.5563731, 0.28465408, 0, 0, 0, 1, 2.666367, 2.500627, 0.033057146) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_pp0bs") + +[node name="MeshInstance3D60" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(-0.29399365, -0.9558075, 0, 0.95580727, -0.29399368, 0, 0, 0, 1, 2.8894644, 2.1898296, 0.001532644) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_412gp") + +[node name="MeshInstance3D61" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(-0.29399365, -0.9558075, 0, 0.95580727, -0.29399368, 0, 0, 0, 1, 4.0352445, 3.613983, 0.0015328974) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_412gp") + +[node name="MeshInstance3D62" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(-0.29399365, -0.9558075, 0, 0.95580727, -0.29399368, 0, 0, 0, 1, 2.5842178, 3.8005564, 0.0015317798) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_412gp") + +[node name="MeshInstance3D63" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(-0.98852795, 0.15093094, 0.0056586564, -0.13466191, -0.8977018, 0.419521, 0.068398446, 0.4139464, 0.90772796, 2.6592703, 4.543341, -0.19293667) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_t2h31") + +[node name="MeshInstance3D67" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.56859934, 0.6379911, 0.0056586415, -0.5804905, 0.5146356, 0.41952106, 0.26473832, -0.24182428, 0.907728, 3.5216365, 4.5860357, -0.2180445) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_t2h31") + +[node name="MeshInstance3D64" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.9727731, -0.23169015, 0.0056586564, 0.20800899, 0.88359195, 0.419521, -0.10219887, -0.40692174, 0.90772796, 3.1451461, 5.184131, -0.49211752) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_412gp") + +[node name="MeshInstance3D51" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(-4.3711392e-08, 1.0000001, 0, -0.99999994, -4.371139e-08, 0, -3.5527137e-15, 0, 1, 2.3543093, 2.522051, 7.8231096e-07) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_412gp") + +[node name="MeshInstance3D52" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.9971408, 0.07556525, 0, -0.075565234, 0.997141, 0, -3.5527137e-15, 0, 1, 3.3229446, 2.4208875, 8.419156e-07) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_412gp") + +[node name="MeshInstance3D49" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(-0.65340614, -0.8691871, 0, 0.8691868, -0.6534063, 0, -2.9802322e-08, -2.9802322e-08, 1, 1.2625551, 2.2897687, -0.00022697449) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_ubijs") + +[node name="MeshInstance3D53" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(-0.65340614, -0.86918706, 0, 0.8691868, -0.6534063, 0, -3.8631995e-15, 0, 1, -0.15453267, 2.6788807, 0.018648762) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_ubijs") + +[node name="MeshInstance3D54" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(-0.65340614, -0.86918706, 0, 0.8691868, -0.6534063, 0, -3.8631995e-15, 0, 1, -0.3474717, 3.3619244, 0.014475991) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_ubijs") + +[node name="MeshInstance3D68" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.43033677, -0.9986171, 0, 0.9986168, 0.43033692, 0, -3.8631995e-15, 0, 1, -0.046270836, 3.8766859, 0.014474523) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_ubijs") + +[node name="MeshInstance3D69" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.43033677, -0.9986171, 0, 0.9986168, 0.43033692, 0, -3.8631995e-15, 0, 1, 0.7328805, 4.0339813, 0.014474017) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_ubijs") + +[node name="MeshInstance3D55" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(-1.0367944, 0.3278454, 0, -0.3278453, -1.0367948, 0, -3.8631995e-15, 0, 1, 0.07538347, 2.6738074, 0.031734027) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_dq7d0") + +[node name="MeshInstance3D56" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.47386387, 0.9787129, 0, -0.97871256, 0.47386402, 0, -3.8631995e-15, 0, 1, 1.1011711, 1.8373303, 0.031735964) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_dq7d0") + +[node name="MeshInstance3D50" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(0.6666828, -0.85904586, 0, 0.8590456, 0.66668296, 0, -3.8631995e-15, 0, 1, 1.8981314, 2.0254934, 0.03251048) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_ubijs") + +[node name="MeshInstance3D57" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(-0.9330632, 0.55840707, 0, -0.5584069, -0.93306345, 0, -3.8631995e-15, 0, 1, 1.6300693, 2.844105, -0.040582236) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_tdk3c") + +[node name="MeshInstance3D58" type="MeshInstance3D" parent="Level/Small House2/Ivy"] +transform = Transform3D(-0.9330632, 0.55840707, 0, -0.5584069, -0.93306345, 0, -3.8631995e-15, 0, 1, 2.010584, 2.2312758, -0.040581357) +mesh = SubResource("QuadMesh_oqlxm") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_tdk3c") + [node name="MeshInstance3D45" type="MeshInstance3D" parent="Level/Small House2/Ivy"] -transform = Transform3D(-1, -8.7422784e-08, 0, 8.742277e-08, -1, 0, 0, -7.1054274e-15, 1, 1.750001, 2.25, -9.536743e-07) +transform = Transform3D(-1, -8.7422784e-08, 0, 8.742277e-08, -1, 0, 0, -7.1054274e-15, 1, 1.546099, 1.5481327, -1.1399388e-06) mesh = SubResource("QuadMesh_oqlxm") skeleton = NodePath("../..") surface_material_override/0 = SubResource("StandardMaterial3D_enjti") [node name="MeshInstance3D46" type="MeshInstance3D" parent="Level/Small House2/Ivy"] -transform = Transform3D(7.450581e-08, -1, 0, 0.9999999, 5.9604645e-08, 0, 7.1054274e-15, 0, 1, 2, 3, 0) +transform = Transform3D(7.450581e-08, -1, 0, 0.9999999, 5.9604645e-08, 0, 7.1054274e-15, 0, 1, 0.7970903, 2.2979121, 4.7683716e-07) mesh = SubResource("QuadMesh_oqlxm") skeleton = NodePath("../..") surface_material_override/0 = SubResource("StandardMaterial3D_enjti") @@ -3133,12 +5716,6 @@ mesh = SubResource("QuadMesh_oqlxm") skeleton = NodePath("../..") surface_material_override/0 = SubResource("StandardMaterial3D_enjti") -[node name="MeshInstance3D43" type="MeshInstance3D" parent="Level/Small House2/Ivy"] -transform = Transform3D(-1, -8.7422784e-08, 0, 8.742277e-08, -1, 0, 0, -7.1054274e-15, 1, -0.25, 3, 9.536743e-07) -mesh = SubResource("QuadMesh_oqlxm") -skeleton = NodePath("../..") -surface_material_override/0 = SubResource("StandardMaterial3D_12vd0") - [node name="MeshInstance3D38" type="MeshInstance3D" parent="Level/Small House2/Ivy"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.000001, 0, 0) mesh = SubResource("QuadMesh_oqlxm") @@ -3157,326 +5734,755 @@ mesh = SubResource("QuadMesh_oqlxm") skeleton = NodePath("../..") surface_material_override/0 = SubResource("StandardMaterial3D_12vd0") -[node name="MeshInstance3D" type="MeshInstance3D" parent="Level"] +[node name="Map Geometry3" type="MeshInstance3D" parent="Level/Small House2"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.9406586, 0, 3.4597564) +layers = 8 +mesh = SubResource("PlaneMesh_gla4y") +surface_material_override/0 = ExtResource("56_er746") + +[node name="Pink Bush" parent="Level/Small House2" instance=ExtResource("158_y6wps")] +transform = Transform3D(0.652943, 0, 0.9098152, 0, 1.1198653, 0, -0.9098152, 0, 0.652943, -1.0675468, 0.31682146, 1.5757656) + +[node name="Pink Bush7" parent="Level/Small House2" instance=ExtResource("158_y6wps")] +transform = Transform3D(0.3700176, 0, 0.51558495, 0, 0.6346187, 0, -0.51558495, 0, 0.3700176, -7.072675, 0.31682146, 3.4414015) + +[node name="Pink Bush13" parent="Level/Small House2" instance=ExtResource("158_y6wps")] +transform = Transform3D(0.51175684, 0, 0.71308535, 0, 0.8777163, 0, -0.71308535, 0, 0.51175684, -7.1090913, 0.31682146, 1.4226255) + +[node name="Pink Bush11" parent="Level/Small House2" instance=ExtResource("158_y6wps")] +transform = Transform3D(0.3700176, 0, 0.51558495, 0, 0.6346187, 0, -0.51558495, 0, 0.3700176, -3.6160226, 0.31682146, 1.1438293) + +[node name="Pink Bush12" parent="Level/Small House2" instance=ExtResource("158_y6wps")] +transform = Transform3D(0.3700176, 0, 0.51558495, 0, 0.6346187, 0, -0.51558495, 0, 0.3700176, -2.7795467, 0.31682146, 1.8852711) + +[node name="Pink Bush2" parent="Level/Small House2" instance=ExtResource("158_y6wps")] +transform = Transform3D(0.652943, 0, 0.9098152, 0, 1.1198653, 0, -0.9098152, 0, 0.652943, -3.233738, 0.31682146, 3.4574623) + +[node name="Pink Bush3" parent="Level/Small House2" instance=ExtResource("158_y6wps")] +transform = Transform3D(0.652943, 0, 0.9098152, 0, 1.1198653, 0, -0.9098152, 0, 0.652943, -5.2110367, 0.31682146, 1.658947) + +[node name="Pink Bush4" parent="Level/Small House2" instance=ExtResource("158_y6wps")] +transform = Transform3D(0.652943, 0, 0.9098152, 0, 1.1198653, 0, -0.9098152, 0, 0.652943, -5.213574, 0.31682146, 5.2828493) + +[node name="Pink Bush5" parent="Level/Small House2" instance=ExtResource("158_y6wps")] +transform = Transform3D(0.652943, 0, 0.9098152, 0, 1.1198653, 0, -0.9098152, 0, 0.652943, -1.0991793, 0.31682146, 5.2911253) + +[node name="Pink Bush6" parent="Level/Small House2" instance=ExtResource("158_y6wps")] +transform = Transform3D(0.78453934, 0, 1.0931823, 0, 1.3455666, 0, -1.0931823, 0, 0.78453934, -7.1838627, 0.31682146, 5.4238586) + +[node name="Pink Bush8" parent="Level/Small House2" instance=ExtResource("158_y6wps")] +transform = Transform3D(0.5034198, 0, 0.7014685, 0, 0.86341745, 0, -0.7014685, 0, 0.5034198, -3.1389723, 0.31682146, 5.469428) + +[node name="Pink Bush10" parent="Level/Small House2" instance=ExtResource("158_y6wps")] +transform = Transform3D(0.5034198, 0, 0.7014685, 0, 0.86341745, 0, -0.7014685, 0, 0.5034198, -1.2087383, 0.31682146, 3.5849056) + +[node name="Pink Bush9" parent="Level/Small House2" instance=ExtResource("158_y6wps")] +transform = Transform3D(0.5034198, 0, 0.7014685, 0, 0.86341745, 0, -0.7014685, 0, 0.5034198, -5.1100492, 0.31682146, 3.4786978) + +[node name="Bush Pot3" type="Node3D" parent="Level/Small House2"] +transform = Transform3D(0.20061168, 0, 0.47247413, 0, 0.5133, 0, -0.47247413, 0, 0.20061168, 0.09062865, 0.13004443, 1.5647357) +script = ExtResource("42_g5ygy") +metadata/_custom_type_script = "uid://bq56bfytlbxq7" + +[node name="RigidBody3D" type="RigidBody3D" parent="Level/Small House2/Bush Pot3"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Level/Small House2/Bush Pot3/RigidBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5397718, 0) +shape = SubResource("BoxShape3D_gwq84") + +[node name="Billboard" type="MeshInstance3D" parent="Level/Small House2/Bush Pot3/RigidBody3D"] +transform = Transform3D(-0.99928635, -8.73928e-08, 0.044960022, -8.97403e-08, 0.9996569, -1.4034882e-07, -0.02722317, -8.7392806e-08, -1.6503634, 0.0077228546, 1.0626924, -0.256752) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard5" type="MeshInstance3D" parent="Level/Small House2/Bush Pot3/RigidBody3D"] +transform = Transform3D(-0.6353595, -0.017308801, -2.1317305e-07, -5.6846133e-08, 2.624896e-08, 1.0497122, -0.01730889, 0.6353594, -4.922225e-08, 0.0011719771, 1.3746762, -0.016283542) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_bsxpb") + +[node name="Billboard2" type="MeshInstance3D" parent="Level/Small House2/Bush Pot3/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, -0.31241608, 1.0626916, -0.003063202) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard4" type="MeshInstance3D" parent="Level/Small House2/Bush Pot3/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, 0.312603, 1.0626917, -0.033439636) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard3" type="MeshInstance3D" parent="Level/Small House2/Bush Pot3/RigidBody3D"] +transform = Transform3D(0.9979056, -8.73928e-08, -0.09768629, 9.24106e-08, 0.9996569, 1.3554e-07, 0.05914846, -8.7392806e-08, 1.6480832, 0.015546799, 1.0626924, 0.29962158) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Roof2" type="MeshInstance3D" parent="Level/Small House2/Bush Pot3/RigidBody3D"] +transform = Transform3D(-0.42158195, 6.8355654e-08, 0, -3.6855866e-08, -0.78189754, 0, 0, 0, 0.42158195, 0.0022287369, 0.9558369, 0.0018920898) +mesh = SubResource("ArrayMesh_pms08") +skeleton = NodePath("") +surface_material_override/0 = SubResource("StandardMaterial3D_23vqh") + +[node name="Bush Pot4" type="Node3D" parent="Level/Small House2"] +transform = Transform3D(0.06477164, 0, 0.5091969, 0, 0.5133, 0, -0.5091969, 0, 0.06477164, 0.12698531, 0.13004443, 3.026084) +script = ExtResource("42_g5ygy") +metadata/_custom_type_script = "uid://bq56bfytlbxq7" + +[node name="RigidBody3D" type="RigidBody3D" parent="Level/Small House2/Bush Pot4"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Level/Small House2/Bush Pot4/RigidBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5397718, 0) +shape = SubResource("BoxShape3D_gwq84") + +[node name="Billboard" type="MeshInstance3D" parent="Level/Small House2/Bush Pot4/RigidBody3D"] +transform = Transform3D(-0.99928635, -8.73928e-08, 0.044960022, -8.97403e-08, 0.9996569, -1.4034882e-07, -0.02722317, -8.7392806e-08, -1.6503634, 0.0077228546, 1.0626924, -0.256752) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard5" type="MeshInstance3D" parent="Level/Small House2/Bush Pot4/RigidBody3D"] +transform = Transform3D(-0.6353595, -0.017308801, -2.1317305e-07, -5.6846133e-08, 2.624896e-08, 1.0497122, -0.01730889, 0.6353594, -4.922225e-08, 0.0011719771, 1.3746762, -0.016283542) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_bsxpb") + +[node name="Billboard2" type="MeshInstance3D" parent="Level/Small House2/Bush Pot4/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, -0.31241608, 1.0626916, -0.003063202) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard4" type="MeshInstance3D" parent="Level/Small House2/Bush Pot4/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, 0.312603, 1.0626917, -0.033439636) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard3" type="MeshInstance3D" parent="Level/Small House2/Bush Pot4/RigidBody3D"] +transform = Transform3D(0.9979056, -8.73928e-08, -0.09768629, 9.24106e-08, 0.9996569, 1.3554e-07, 0.05914846, -8.7392806e-08, 1.6480832, 0.015546799, 1.0626924, 0.29962158) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Roof2" type="MeshInstance3D" parent="Level/Small House2/Bush Pot4/RigidBody3D"] +transform = Transform3D(-0.42158195, 6.8355654e-08, 0, -3.6855866e-08, -0.78189754, 0, 0, 0, 0.42158195, 0.0022287369, 0.9558369, 0.0018920898) +mesh = SubResource("ArrayMesh_pms08") +skeleton = NodePath("") +surface_material_override/0 = SubResource("StandardMaterial3D_23vqh") + +[node name="Bush Pot5" type="Node3D" parent="Level/Small House2"] +transform = Transform3D(-0.30513167, 0, 0.4127608, 0, 0.5133, 0, -0.4127608, 0, -0.30513167, 0.22771761, 0.13004443, 2.3914447) +script = ExtResource("42_g5ygy") +metadata/_custom_type_script = "uid://bq56bfytlbxq7" + +[node name="RigidBody3D" type="RigidBody3D" parent="Level/Small House2/Bush Pot5"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Level/Small House2/Bush Pot5/RigidBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5397718, 0) +shape = SubResource("BoxShape3D_gwq84") + +[node name="Billboard" type="MeshInstance3D" parent="Level/Small House2/Bush Pot5/RigidBody3D"] +transform = Transform3D(-0.99928635, -8.73928e-08, 0.044960022, -8.97403e-08, 0.9996569, -1.4034882e-07, -0.02722317, -8.7392806e-08, -1.6503634, 0.0077228546, 1.0626924, -0.256752) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard5" type="MeshInstance3D" parent="Level/Small House2/Bush Pot5/RigidBody3D"] +transform = Transform3D(-0.6353595, -0.017308801, -2.1317305e-07, -5.6846133e-08, 2.624896e-08, 1.0497122, -0.01730889, 0.6353594, -4.922225e-08, 0.0011719771, 1.3746762, -0.016283542) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_bsxpb") + +[node name="Billboard2" type="MeshInstance3D" parent="Level/Small House2/Bush Pot5/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, -0.31241608, 1.0626916, -0.003063202) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard4" type="MeshInstance3D" parent="Level/Small House2/Bush Pot5/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, 0.312603, 1.0626917, -0.033439636) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard3" type="MeshInstance3D" parent="Level/Small House2/Bush Pot5/RigidBody3D"] +transform = Transform3D(0.9979056, -8.73928e-08, -0.09768629, 9.24106e-08, 0.9996569, 1.3554e-07, 0.05914846, -8.7392806e-08, 1.6480832, 0.015546799, 1.0626924, 0.29962158) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Roof2" type="MeshInstance3D" parent="Level/Small House2/Bush Pot5/RigidBody3D"] +transform = Transform3D(-0.42158195, 6.8355654e-08, 0, -3.6855866e-08, -0.78189754, 0, 0, 0, 0.42158195, 0.0022287369, 0.9558369, 0.0018920898) +mesh = SubResource("ArrayMesh_pms08") +skeleton = NodePath("") +surface_material_override/0 = SubResource("StandardMaterial3D_23vqh") + +[node name="Bush Pot6" type="Node3D" parent="Level/Small House2"] +transform = Transform3D(-0.30513167, 0, 0.4127608, 0, 0.5133, 0, -0.4127608, 0, -0.30513167, -9.300777, 0.13004443, 5.581094) +script = ExtResource("42_g5ygy") +metadata/_custom_type_script = "uid://bq56bfytlbxq7" + +[node name="RigidBody3D" type="RigidBody3D" parent="Level/Small House2/Bush Pot6"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Level/Small House2/Bush Pot6/RigidBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5397718, 0) +shape = SubResource("BoxShape3D_gwq84") + +[node name="Billboard" type="MeshInstance3D" parent="Level/Small House2/Bush Pot6/RigidBody3D"] +transform = Transform3D(-0.99928635, -8.73928e-08, 0.044960022, -8.97403e-08, 0.9996569, -1.4034882e-07, -0.02722317, -8.7392806e-08, -1.6503634, 0.0077228546, 1.0626924, -0.256752) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard5" type="MeshInstance3D" parent="Level/Small House2/Bush Pot6/RigidBody3D"] +transform = Transform3D(-0.6353595, -0.017308801, -2.1317305e-07, -5.6846133e-08, 2.624896e-08, 1.0497122, -0.01730889, 0.6353594, -4.922225e-08, 0.0011719771, 1.3746762, -0.016283542) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_bsxpb") + +[node name="Billboard2" type="MeshInstance3D" parent="Level/Small House2/Bush Pot6/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, -0.31241608, 1.0626916, -0.003063202) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard4" type="MeshInstance3D" parent="Level/Small House2/Bush Pot6/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, 0.312603, 1.0626917, -0.033439636) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard3" type="MeshInstance3D" parent="Level/Small House2/Bush Pot6/RigidBody3D"] +transform = Transform3D(0.9979056, -8.73928e-08, -0.09768629, 9.24106e-08, 0.9996569, 1.3554e-07, 0.05914846, -8.7392806e-08, 1.6480832, 0.015546799, 1.0626924, 0.29962158) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Roof2" type="MeshInstance3D" parent="Level/Small House2/Bush Pot6/RigidBody3D"] +transform = Transform3D(-0.42158195, 6.8355654e-08, 0, -3.6855866e-08, -0.78189754, 0, 0, 0, 0.42158195, 0.0022287369, 0.9558369, 0.0018920898) +mesh = SubResource("ArrayMesh_pms08") +skeleton = NodePath("") +surface_material_override/0 = SubResource("StandardMaterial3D_23vqh") + +[node name="Bush Pot7" type="Node3D" parent="Level/Small House2"] +transform = Transform3D(-0.5957131, 0, 0.1674496, 0, 0.6188, 0, -0.1674496, 0, -0.5957131, -9.495016, 0.13004443, 6.2926407) +script = ExtResource("42_g5ygy") +metadata/_custom_type_script = "uid://bq56bfytlbxq7" + +[node name="RigidBody3D" type="RigidBody3D" parent="Level/Small House2/Bush Pot7"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Level/Small House2/Bush Pot7/RigidBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5397718, 0) +shape = SubResource("BoxShape3D_gwq84") + +[node name="Billboard" type="MeshInstance3D" parent="Level/Small House2/Bush Pot7/RigidBody3D"] +transform = Transform3D(-0.99928635, -8.73928e-08, 0.044960022, -8.97403e-08, 0.9996569, -1.4034882e-07, -0.02722317, -8.7392806e-08, -1.6503634, 0.0077228546, 1.0626924, -0.256752) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard5" type="MeshInstance3D" parent="Level/Small House2/Bush Pot7/RigidBody3D"] +transform = Transform3D(-0.6353595, -0.017308801, -2.1317305e-07, -5.6846133e-08, 2.624896e-08, 1.0497122, -0.01730889, 0.6353594, -4.922225e-08, 0.0011719771, 1.3746762, -0.016283542) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_bsxpb") + +[node name="Billboard2" type="MeshInstance3D" parent="Level/Small House2/Bush Pot7/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, -0.31241608, 1.0626916, -0.003063202) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard4" type="MeshInstance3D" parent="Level/Small House2/Bush Pot7/RigidBody3D"] +transform = Transform3D(-0.013744652, -8.7392756e-08, 1.6508198, -8.858613e-08, 0.9996566, 1.4233478e-07, -0.9995625, -8.73928e-08, -0.022699833, 0.312603, 1.0626917, -0.033439636) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Billboard3" type="MeshInstance3D" parent="Level/Small House2/Bush Pot7/RigidBody3D"] +transform = Transform3D(0.9979056, -8.73928e-08, -0.09768629, 9.24106e-08, 0.9996569, 1.3554e-07, 0.05914846, -8.7392806e-08, 1.6480832, 0.015546799, 1.0626924, 0.29962158) +mesh = SubResource("QuadMesh_uqrk0") +skeleton = NodePath("../../../lantern-hanging3") +surface_material_override/0 = SubResource("StandardMaterial3D_205s3") + +[node name="Roof2" type="MeshInstance3D" parent="Level/Small House2/Bush Pot7/RigidBody3D"] +transform = Transform3D(-0.42158195, 6.8355654e-08, 0, -3.6855866e-08, -0.78189754, 0, 0, 0, 0.42158195, 0.0022287369, 0.9558369, 0.0018920898) +mesh = SubResource("ArrayMesh_pms08") +skeleton = NodePath("") +surface_material_override/0 = SubResource("StandardMaterial3D_23vqh") + +[node name="lantern-hanging3" parent="Level/Small House2" instance=ExtResource("43_rwf7d")] +transform = Transform3D(0.011172529, 0, -1.3524536, 0, 1.3525, 0, 1.3524536, 0, 0.011172529, 0.75701106, 2.377575, 3.4838238) + +[node name="lantern-hanging" parent="Level/Small House2/lantern-hanging3" index="0"] +surface_material_override/0 = SubResource("StandardMaterial3D_ivlrh") + +[node name="MeshInstance3D" type="MeshInstance3D" parent="Level/Small House2/lantern-hanging3"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0022482872, -0.35767168, 0.22744036) +mesh = SubResource("CapsuleMesh_vwpba") +surface_material_override/0 = SubResource("StandardMaterial3D_qn1m4") + +[node name="Light Glow" type="MeshInstance3D" parent="Level/Small House2/lantern-hanging3"] +transform = Transform3D(1.4594, 0, 0, 0, 1.4594, 0, 0, 0, 1.4594, 0.005560875, -0.36941177, 0.25030136) +mesh = SubResource("QuadMesh_aw6nk") +surface_material_override/0 = SubResource("StandardMaterial3D_1y0cs") + +[node name="OmniLight3D" type="OmniLight3D" parent="Level/Small House2/lantern-hanging3"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.025527239, -0.39353573, 0.2490797) +light_color = Color(0.9480516, 0.6808344, 0.44285142, 1) +omni_attenuation = 2.0 + +[node name="lantern-hanging4" parent="Level/Small House2" instance=ExtResource("43_rwf7d")] +transform = Transform3D(0.0055098925, 0, -0.6669772, 0, 0.667, 0, 0.6669772, 0, 0.0055098925, -8.81272, 1.1982983, 4.9699244) + +[node name="lantern-hanging" parent="Level/Small House2/lantern-hanging4" index="0"] +surface_material_override/0 = SubResource("StandardMaterial3D_ivlrh") + +[node name="MeshInstance3D" type="MeshInstance3D" parent="Level/Small House2/lantern-hanging4"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0022482872, -0.35767168, 0.22744036) +mesh = SubResource("CapsuleMesh_vwpba") +surface_material_override/0 = SubResource("StandardMaterial3D_qn1m4") + +[node name="Light Glow" type="MeshInstance3D" parent="Level/Small House2/lantern-hanging4"] +transform = Transform3D(1.4594, 0, 0, 0, 1.4594, 0, 0, 0, 1.4594, 0.005560875, -0.36941177, 0.25030136) +mesh = SubResource("QuadMesh_aw6nk") +surface_material_override/0 = SubResource("StandardMaterial3D_1y0cs") + +[node name="OmniLight3D" type="OmniLight3D" parent="Level/Small House2/lantern-hanging4"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.025527239, -0.39353573, 0.2490797) +light_color = Color(0.9480516, 0.6808344, 0.44285142, 1) +omni_attenuation = 2.0 + +[node name="lantern-hanging5" parent="Level/Small House2" instance=ExtResource("43_rwf7d")] +transform = Transform3D(0.0055098925, 0, -0.6669772, 0, 0.667, 0, 0.6669772, 0, 0.0055098925, -8.873758, 1.1982983, 2.1974258) + +[node name="lantern-hanging" parent="Level/Small House2/lantern-hanging5" index="0"] +surface_material_override/0 = SubResource("StandardMaterial3D_ivlrh") + +[node name="MeshInstance3D" type="MeshInstance3D" parent="Level/Small House2/lantern-hanging5"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0022482872, -0.35767168, 0.22744036) +mesh = SubResource("CapsuleMesh_vwpba") +surface_material_override/0 = SubResource("StandardMaterial3D_qn1m4") + +[node name="Light Glow" type="MeshInstance3D" parent="Level/Small House2/lantern-hanging5"] +transform = Transform3D(1.4594, 0, 0, 0, 1.4594, 0, 0, 0, 1.4594, 0.005560875, -0.36941177, 0.25030136) +mesh = SubResource("QuadMesh_aw6nk") +surface_material_override/0 = SubResource("StandardMaterial3D_1y0cs") + +[node name="OmniLight3D" type="OmniLight3D" parent="Level/Small House2/lantern-hanging5"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.025527239, -0.39353573, 0.2490797) +light_color = Color(0.9480516, 0.6808344, 0.44285142, 1) +omni_attenuation = 2.0 + +[node name="Bushes" type="Node3D" parent="Level"] transform = Transform3D(0.9171447, 0, 0, 0, 0.9171447, 0, 0, 0, 0.9171447, 0.7185011, 0.28111506, 21.663614) + +[node name="MeshInstance3D" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.99999994, 0, 0, 0, 0.99999994, 0, 0, 0, 0.99999994, 0, 0, 0) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_0obc6") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D2" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.6685219, 0, 0, 0, 0.6685219, 0, 0, 0, 0.6685219, 1.795593, 0.2811153, 21.08427) +[node name="MeshInstance3D2" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.7289164, 0, 0, 0, 0.7289164, 0, 0, 0, 0.7289164, 1.1743968, 2.3841858e-07, -0.63168335) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_0obc6") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D19" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.6685219, 0, 0, 0, 0.6685219, 0, 0, 0, 0.6685219, -0.5816047, 0.2811153, 24.846506) +[node name="MeshInstance3D19" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.7289164, 0, 0, 0, 0.7289164, 0, 0, 0, 0.7289164, -1.4175578, 2.3841858e-07, 3.4704342) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_0obc6") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D3" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.2205406, 0, 0, 0, 1.2205406, 0, 0, 0, 1.2205406, 3.7684255, 0.28111506, 18.053545) +[node name="MeshInstance3D3" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(1.3308047, 0, 0, 0, 1.3308047, 0, 0, 0, 1.3308047, 3.3254554, 0, -3.936205) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_0obc6") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D22" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.9368521, 0, 0, 0, 1.9368521, 0, 0, 0, 1.9368521, 9.347971, 0.774194, 37.40886) +[node name="MeshInstance3D22" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(2.111828, 0, 0, 0, 2.111828, 0, 0, 0, 2.111828, 9.40906, 0.5376239, 17.167677) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("184_42ic2") -[node name="MeshInstance3D23" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.9368521, 0, 0, 0, 1.9368521, 0, 0, 0, 1.9368521, 10.932294, 0.77419376, 38.182285) +[node name="MeshInstance3D23" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(2.111828, 0, 0, 0, 2.111828, 0, 0, 0, 2.111828, 11.136511, 0.53762364, 18.010973) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("184_42ic2") -[node name="MeshInstance3D24" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.9368521, 0, 0, 0, 1.9368521, 0, 0, 0, 1.9368521, 12.103602, 0.77419376, 38.229504) +[node name="MeshInstance3D24" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(2.111828, 0, 0, 0, 2.111828, 0, 0, 0, 2.111828, 12.413635, 0.53762364, 18.062456) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("184_42ic2") -[node name="MeshInstance3D25" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.9368521, 0, 0, 0, 1.9368521, 0, 0, 0, 1.9368521, 12.711973, 0.77419376, 37.28222) +[node name="MeshInstance3D25" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(2.111828, 0, 0, 0, 2.111828, 0, 0, 0, 2.111828, 13.076966, 0.53762364, 17.029593) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("184_42ic2") -[node name="MeshInstance3D26" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.9368521, 0, 0, 0, 1.9368521, 0, 0, 0, 1.9368521, 14.085901, 0.7741933, 36.618053) +[node name="MeshInstance3D26" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(2.111828, 0, 0, 0, 2.111828, 0, 0, 0, 2.111828, 14.575016, 0.5376231, 16.30543) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("184_42ic2") -[node name="MeshInstance3D27" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.9368521, 0, 0, 0, 1.9368521, 0, 0, 0, 1.9368521, 14.085901, 0.7741933, 36.618053) +[node name="MeshInstance3D27" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(2.111828, 0, 0, 0, 2.111828, 0, 0, 0, 2.111828, 14.575016, 0.5376231, 16.30543) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("184_42ic2") -[node name="MeshInstance3D28" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.9368521, 0, 0, 0, 1.9368521, 0, 0, 0, 1.9368521, 14.775116, 0.77419305, 34.443012) +[node name="MeshInstance3D28" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(2.111828, 0, 0, 0, 2.111828, 0, 0, 0, 2.111828, 15.326494, 0.5376228, 13.933893) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("184_42ic2") -[node name="MeshInstance3D47" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.37965143, 0, 0.52900887, 0, 0.65114176, 0, -0.52900887, 0, 0.37965143, -6.078264, 0.385736, 25.073027) +[node name="MeshInstance3D47" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.41394928, 0, 0.57679975, 0, 0.7099662, 0, -0.57679975, 0, 0.41394928, -7.4107876, 0.11407241, 3.7174187) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D48" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.37965143, 0, 0.52900887, 0, 0.65114176, 0, -0.52900887, 0, 0.37965143, -5.9966893, 0.385736, 25.562057) +[node name="MeshInstance3D48" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.41394928, 0, 0.57679975, 0, 0.7099662, 0, -0.57679975, 0, 0.41394928, -7.321843, 0.11407241, 4.2506294) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D49" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.37965143, 0, 0.52900887, 0, 0.65114176, 0, -0.52900887, 0, 0.37965143, -5.567554, 0.385736, 24.774992) +[node name="MeshInstance3D49" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.41394928, 0, 0.57679975, 0, 0.7099662, 0, -0.57679975, 0, 0.41394928, -6.8539395, 0.11407241, 3.3924599) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D50" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.5988433, 0, 0.83443224, 0, 1.0270786, 0, -0.83443224, 0, 0.5988433, -5.567554, 0.385736, 25.274992) +[node name="MeshInstance3D50" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.652943, 0, 0.9098152, 0, 1.1198653, 0, -0.9098152, 0, 0.652943, -6.8539395, 0.11407241, 3.9376297) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D51" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.37965143, 0, 0.52900887, 0, 0.65114176, 0, -0.52900887, 0, 0.37965143, -5.222525, 0.385736, 25.588799) +[node name="MeshInstance3D51" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.41394928, 0, 0.57679975, 0, 0.7099662, 0, -0.57679975, 0, 0.41394928, -6.477741, 0.11407241, 4.279785) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D52" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.37965143, 0, 0.52900887, 0, 0.65114176, 0, -0.52900887, 0, 0.37965143, -5.222525, 0.385736, 25.088799) +[node name="MeshInstance3D52" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.41394928, 0, 0.57679975, 0, 0.7099662, 0, -0.57679975, 0, 0.41394928, -6.477741, 0.11407241, 3.7346153) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D53" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.37965143, 0, 0.52900887, 0, 0.65114176, 0, -0.52900887, 0, 0.37965143, -8.636456, 0.385736, 25.073027) +[node name="MeshInstance3D53" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.41394928, 0, 0.57679975, 0, 0.7099662, 0, -0.57679975, 0, 0.41394928, -10.200088, 0.11407241, 3.7174187) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D54" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.37965143, 0, 0.52900887, 0, 0.65114176, 0, -0.52900887, 0, 0.37965143, -8.554881, 0.385736, 25.562057) +[node name="MeshInstance3D54" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.41394928, 0, 0.57679975, 0, 0.7099662, 0, -0.57679975, 0, 0.41394928, -10.111143, 0.11407241, 4.2506294) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D56" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.5558391, 0, 0.77451, 0, 0.95332205, 0, -0.77451, 0, 0.5558391, -8.263351, 0.385736, 24.76389) +[node name="MeshInstance3D56" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.6060538, 0, 0.84447956, 0, 1.0394455, 0, -0.84447956, 0, 0.6060538, -9.793277, 0.11407241, 3.380354) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D57" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.37965143, 0, 0.52900887, 0, 0.65114176, 0, -0.52900887, 0, 0.37965143, -7.609403, 0.385736, 25.588799) +[node name="MeshInstance3D57" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.41394928, 0, 0.57679975, 0, 0.7099662, 0, -0.57679975, 0, 0.41394928, -9.080251, 0.11407241, 4.279785) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D58" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.37965143, 0, 0.52900887, 0, 0.65114176, 0, -0.52900887, 0, 0.37965143, -7.780717, 0.385736, 25.088799) +[node name="MeshInstance3D58" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.41394928, 0, 0.57679975, 0, 0.7099662, 0, -0.57679975, 0, 0.41394928, -9.267041, 0.11407241, 3.7346153) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D59" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.48287764, 0, 0.67284495, 0, 0.82818544, 0, -0.67284495, 0, 0.48287764, -11.199228, 0.385736, 25.073027) +[node name="MeshInstance3D59" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.526501, 0, 0.73363, 0, 0.90300405, 0, -0.73363, 0, 0.526501, -12.994382, 0.11407241, 3.7174187) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D60" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.37965143, 0, 0.52900887, 0, 0.65114176, 0, -0.52900887, 0, 0.37965143, -11.117654, 0.385736, 25.562057) +[node name="MeshInstance3D60" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.41394928, 0, 0.57679975, 0, 0.7099662, 0, -0.57679975, 0, 0.41394928, -12.905437, 0.11407241, 4.2506294) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D61" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.37965143, 0, 0.52900887, 0, 0.65114176, 0, -0.52900887, 0, 0.37965143, -10.688519, 0.385736, 24.774992) +[node name="MeshInstance3D61" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.41394928, 0, 0.57679975, 0, 0.7099662, 0, -0.57679975, 0, 0.41394928, -12.437534, 0.11407241, 3.3924599) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D62" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.37965143, 0, 0.52900887, 0, 0.65114176, 0, -0.52900887, 0, 0.37965143, -10.688519, 0.385736, 25.274992) +[node name="MeshInstance3D62" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.41394928, 0, 0.57679975, 0, 0.7099662, 0, -0.57679975, 0, 0.41394928, -12.437534, 0.11407241, 3.9376297) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D63" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.6760672, 0, 0.94203657, 0, 1.1595256, 0, -0.94203657, 0, 0.6760672, -10.34349, 0.385736, 25.588799) +[node name="MeshInstance3D63" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.73714334, 0, 1.0271405, 0, 1.2642776, 0, -1.0271405, 0, 0.73714334, -12.061336, 0.11407241, 4.279785) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D64" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.37965143, 0, 0.52900887, 0, 0.65114176, 0, -0.52900887, 0, 0.37965143, -10.34349, 0.385736, 25.088799) +[node name="MeshInstance3D64" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.41394928, 0, 0.57679975, 0, 0.7099662, 0, -0.57679975, 0, 0.41394928, -12.061336, 0.11407241, 3.7346153) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D29" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.9368521, 0, 0, 0, 1.9368521, 0, 0, 0, 1.9368521, 14.969277, 0.77419305, 35.67543) +[node name="MeshInstance3D29" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(2.111828, 0, 0, 0, 2.111828, 0, 0, 0, 2.111828, 15.538197, 0.5376228, 15.277647) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("184_42ic2") -[node name="MeshInstance3D30" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.0100598, 0, 0, 0, 1.0100598, 0, 0, 0, 1.0100598, 9.885578, 0.418319, 38.450066) +[node name="MeshInstance3D30" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(1.1013091, 0, 0, 0, 1.1013091, 0, 0, 0, 1.1013091, 9.995234, 0.14959899, 18.302946) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("184_42ic2") -[node name="MeshInstance3D31" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.0100598, 0, 0, 0, 1.0100598, 0, 0, 0, 1.0100598, 13.175648, 0.418319, 38.17699) +[node name="MeshInstance3D31" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(1.1013091, 0, 0, 0, 1.1013091, 0, 0, 0, 1.1013091, 13.58253, 0.14959899, 18.005201) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("184_42ic2") -[node name="MeshInstance3D32" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.0100598, 0, 0, 0, 1.0100598, 0, 0, 0, 1.0100598, 13.705696, 0.418319, 37.471577) +[node name="MeshInstance3D32" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(1.1013091, 0, 0, 0, 1.1013091, 0, 0, 0, 1.1013091, 14.160462, 0.14959899, 17.23606) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("184_42ic2") -[node name="MeshInstance3D33" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.0100598, 0, 0, 0, 1.0100598, 0, 0, 0, 1.0100598, 14.911323, 0.418319, 36.68162) +[node name="MeshInstance3D33" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(1.1013091, 0, 0, 0, 1.1013091, 0, 0, 0, 1.1013091, 15.475006, 0.14959899, 16.374739) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("184_42ic2") -[node name="MeshInstance3D34" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.0100598, 0, 0, 0, 1.0100598, 0, 0, 0, 1.0100598, 15.418743, 0.418319, 34.86184) +[node name="MeshInstance3D34" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(1.1013091, 0, 0, 0, 1.1013091, 0, 0, 0, 1.1013091, 16.028267, 0.14959899, 14.390558) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("184_42ic2") -[node name="MeshInstance3D35" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.0100598, 0, 0, 0, 1.0100598, 0, 0, 0, 1.0100598, 14.081191, 0.418319, 33.713116) +[node name="MeshInstance3D35" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(1.1013091, 0, 0, 0, 1.1013091, 0, 0, 0, 1.1013091, 14.5698805, 0.14959899, 13.138056) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("184_42ic2") -[node name="MeshInstance3D36" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.0100598, 0, 0, 0, 1.0100598, 0, 0, 0, 1.0100598, 14.081191, 0.418319, 33.713116) +[node name="MeshInstance3D36" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(1.1013091, 0, 0, 0, 1.1013091, 0, 0, 0, 1.1013091, 14.5698805, 0.14959899, 13.138056) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_y7gwn") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("184_42ic2") -[node name="MeshInstance3D4" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.2205406, 0, 0, 0, 1.2205406, 0, 0, 0, 1.2205406, -0.8638582, 0.28111506, 21.369383) +[node name="MeshInstance3D4" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(1.3308047, 0, 0, 0, 1.3308047, 0, 0, 0, 1.3308047, -1.7253102, 0, -0.32081413) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_0obc6") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D6" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.2205406, 0, 0, 0, 1.2205406, 0, 0, 0, 1.2205406, -0.9755451, 0.28111458, 25.796818) +[node name="MeshInstance3D6" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(1.3308047, 0, 0, 0, 1.3308047, 0, 0, 0, 1.3308047, -1.8470869, -5.364418e-07, 4.5065975) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_0obc6") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D7" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.2205406, 0, 0, 0, 1.2205406, 0, 0, 0, 1.2205406, -1.4790511, 0.28111458, 30.35724) +[node name="MeshInstance3D7" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(1.3308047, 0, 0, 0, 1.3308047, 0, 0, 0, 1.3308047, -2.3960798, -5.364418e-07, 9.47901) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_0obc6") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D20" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.2205406, 0, 0, 0, 1.2205406, 0, 0, 0, 1.2205406, -1.0893276, 0.28111506, 29.423111) +[node name="MeshInstance3D20" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(1.3308047, 0, 0, 0, 1.3308047, 0, 0, 0, 1.3308047, -1.9711485, 0, 8.460493) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_0obc6") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D21" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.7397295, 0, 0, 0, 1.7397295, 0, 0, 0, 1.7397295, -0.8221309, 0.28111506, 30.749426) +[node name="MeshInstance3D21" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(1.8968973, 0, 0, 0, 1.8968973, 0, 0, 0, 1.8968973, -1.6798133, 0, 9.906626) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_0obc6") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D8" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.2205406, 0, 0, 0, 1.2205406, 0, 0, 0, 1.2205406, -1.4025693, 0.28111458, 26.133032) +[node name="MeshInstance3D8" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(1.3308047, 0, 0, 0, 1.3308047, 0, 0, 0, 1.3308047, -2.3126886, -5.364418e-07, 4.873186) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_0obc6") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D9" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.2205406, 0, 0, 0, 1.2205406, 0, 0, 0, 1.2205406, -1.1298021, 0.28111458, 24.748285) +[node name="MeshInstance3D9" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(1.3308047, 0, 0, 0, 1.3308047, 0, 0, 0, 1.3308047, -2.0152795, -5.364418e-07, 3.3633404) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_0obc6") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D10" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.089, 0, 0, 0, 1.089, 0, 0, 0, 1.089, 1.7145278, 0.28111458, 34.467644) +[node name="MeshInstance3D10" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(1.1873807, 0, 0, 0, 1.1873807, 0, 0, 0, 1.1873807, 1.0860083, -5.364418e-07, 13.960749) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_0obc6") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D11" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.031, 0, 0, 0, 1.031, 0, 0, 0, 1.031, 0.9349767, 0.28111458, 34.00126) +[node name="MeshInstance3D11" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(1.124141, 0, 0, 0, 1.124141, 0, 0, 0, 1.124141, 0.23603207, -5.364418e-07, 13.45223) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_0obc6") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D12" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.094, 0, 0, 0, 1.094, 0, 0, 0, 1.094, 4.924106, 0.28111458, 36.323887) +[node name="MeshInstance3D12" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(1.1928324, 0, 0, 0, 1.1928324, 0, 0, 0, 1.1928324, 4.5855412, -5.364418e-07, 15.984686) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_0obc6") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D13" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.0555, 0, 0, 0, 1.0555, 0, 0, 0, 1.0555, 5.883697, 0.28111458, 36.93972) +[node name="MeshInstance3D13" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(1.1508543, 0, 0, 0, 1.1508543, 0, 0, 0, 1.1508543, 5.631822, -5.364418e-07, 16.656153) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_0obc6") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D14" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.2205406, 0, 0, 0, 1.2205406, 0, 0, 0, 1.2205406, 14.001569, 0.2811141, 32.756275) +[node name="MeshInstance3D14" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(1.3308047, 0, 0, 0, 1.3308047, 0, 0, 0, 1.3308047, 14.483065, -1.0430813e-06, 12.094774) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_0obc6") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("184_42ic2") -[node name="MeshInstance3D15" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.2205406, 0, 0, 0, 1.2205406, 0, 0, 0, 1.2205406, 11.570402, 0.2811141, 32.98513) +[node name="MeshInstance3D15" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(1.3308047, 0, 0, 0, 1.3308047, 0, 0, 0, 1.3308047, 11.832266, -1.0430813e-06, 12.344305) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_0obc6") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("184_42ic2") -[node name="MeshInstance3D16" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.2205406, 0, 0, 0, 1.2205406, 0, 0, 0, 1.2205406, 12.532181, 0.28111434, 32.256622) +[node name="MeshInstance3D16" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(1.3308047, 0, 0, 0, 1.3308047, 0, 0, 0, 1.3308047, 12.880932, -7.748604e-07, 11.549982) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_bdfmq") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("184_42ic2") -[node name="MeshInstance3D17" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.78050476, 0, 0, 0, 0.78050476, 0, 0, 0, 0.78050476, 1.574795, 0.28787947, 20.237818) +[node name="MeshInstance3D17" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.85101587, 0, 0, 0, 0.85101587, 0, 0, 0, 0.85101587, 0.93365186, 0.0073755085, -1.5546036) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_bdfmq") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("162_p5agv") -[node name="MeshInstance3D37" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.78050476, 0, 0, 0, 0.78050476, 0, 0, 0, 0.78050476, 1.3024861, 0.28787935, 21.35026) +[node name="MeshInstance3D37" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.85101587, 0, 0, 0, 0.85101587, 0, 0, 0, 0.85101587, 0.6367424, 0.0073753595, -0.34166336) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_bdfmq") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("162_p5agv") -[node name="MeshInstance3D39" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.78050476, 0, 0, 0, 0.78050476, 0, 0, 0, 0.78050476, 2.082991, 0.28787935, 20.569756) +[node name="MeshInstance3D39" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.85101587, 0, 0, 0, 0.85101587, 0, 0, 0, 0.85101587, 1.4877582, 0.0073753595, -1.1926785) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_bdfmq") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("162_p5agv") -[node name="MeshInstance3D40" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.78050476, 0, 0, 0, 0.78050476, 0, 0, 0, 0.78050476, 1.9604156, 0.2878791, 21.585741) +[node name="MeshInstance3D40" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.85101587, 0, 0, 0, 0.85101587, 0, 0, 0, 0.85101587, 1.3541095, 0.007375121, -0.08490944) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_bdfmq") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("162_p5agv") -[node name="MeshInstance3D41" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.55610085, 0, 0, 0, 0.55610085, 0, 0, 0, 0.55610085, 2.3258564, 0.2878791, 21.04033) +[node name="MeshInstance3D41" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.6063392, 0, 0, 0, 0.6063392, 0, 0, 0, 0.6063392, 1.7525644, 0.007375121, -0.67959213) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_bdfmq") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("162_p5agv") -[node name="MeshInstance3D42" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.55610085, 0, 0, 0, 0.55610085, 0, 0, 0, 0.55610085, 1.4645317, 0.2878791, 21.816862) +[node name="MeshInstance3D42" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.6063392, 0, 0, 0, 0.6063392, 0, 0, 0, 0.6063392, 0.81342727, 0.007375121, 0.16709137) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_bdfmq") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("162_p5agv") -[node name="MeshInstance3D43" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.55610085, 0, 0, 0, 0.55610085, 0, 0, 0, 0.55610085, 1.8675089, 0.2878791, 19.748463) +[node name="MeshInstance3D43" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.6063392, 0, 0, 0, 0.6063392, 0, 0, 0, 0.6063392, 1.2528095, 0.007375121, -2.0881672) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_bdfmq") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("162_p5agv") -[node name="MeshInstance3D44" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.55610085, 0, 0, 0, 0.55610085, 0, 0, 0, 0.55610085, 3.4177318, 0.2878791, 16.871107) +[node name="MeshInstance3D44" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.6063392, 0, 0, 0, 0.6063392, 0, 0, 0, 0.6063392, 2.9430802, 0.007375121, -5.225466) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_bdfmq") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("162_p5agv") -[node name="MeshInstance3D45" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.55610085, 0, 0, 0, 0.55610085, 0, 0, 0, 0.55610085, 3.4177318, 0.2878791, 17.149158) +[node name="MeshInstance3D45" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.6063392, 0, 0, 0, 0.6063392, 0, 0, 0, 0.6063392, 2.9430802, 0.007375121, -4.9222946) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_bdfmq") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("162_p5agv") -[node name="MeshInstance3D46" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.7664661, 0, 0, 0, 0.7664661, 0, 0, 0, 0.7664661, 4.141073, 0.28787935, 17.571508) +[node name="MeshInstance3D46" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.8357089, 0, 0, 0, 0.8357089, 0, 0, 0, 0.8357089, 3.7317684, 0.0073753595, -4.461788) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_bdfmq") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("162_p5agv") -[node name="MeshInstance3D38" type="MeshInstance3D" parent="Level"] -transform = Transform3D(0.78050476, 0, 0, 0, 0.78050476, 0, 0, 0, 0.78050476, 0.12749827, 0.28787935, 21.614508) +[node name="MeshInstance3D38" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(0.85101587, 0, 0, 0, 0.85101587, 0, 0, 0, 0.85101587, -0.6443942, 0.0073753595, -0.05354309) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_bdfmq") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="MeshInstance3D18" type="MeshInstance3D" parent="Level"] -transform = Transform3D(1.2205406, 0, 0, 0, 1.2205406, 0, 0, 0, 1.2205406, 0.96555185, 0.28111434, 20.762287) +[node name="MeshInstance3D18" type="MeshInstance3D" parent="Level/Bushes"] +transform = Transform3D(1.3308047, 0, 0, 0, 1.3308047, 0, 0, 0, 1.3308047, 0.26936942, -7.748604e-07, -0.98275375) mesh = SubResource("QuadMesh_uqrk0") -surface_material_override/0 = SubResource("StandardMaterial3D_bdfmq") +skeleton = NodePath("../..") +surface_material_override/0 = ExtResource("161_nfrna") -[node name="StaticBody3D2" type="StaticBody3D" parent="Level"] -transform = Transform3D(-3.198966e-08, 0, -0.7318381, 0, 0.7318381, 0, 0.7318381, 0, -3.198966e-08, 7.9422026, 0, 31.338352) +[node name="Table" type="StaticBody3D" parent="Level"] +transform = Transform3D(-3.198966e-08, 0, -0.7318381, 0, 0.7318381, 0, 0.7318381, 0, -3.198966e-08, 7.9422026, 0.14764883, 31.338352) -[node name="CollisionShape3D" type="CollisionShape3D" parent="Level/StaticBody3D2"] +[node name="CollisionShape3D" type="CollisionShape3D" parent="Level/Table"] transform = Transform3D(1.0000001, 0, 7.1054274e-15, 0, 1.0000001, 0, -7.1054274e-15, 0, 1.0000001, -0.006603241, 0.5172882, -0.010375023) shape = SubResource("BoxShape3D_pgnem") -[node name="table_long2" parent="Level/StaticBody3D2" instance=ExtResource("68_pld03")] +[node name="table_long2" parent="Level/Table" instance=ExtResource("68_pld03")] transform = Transform3D(1.0000001, 0, 3.5527137e-15, 0, 1.0000001, 0, -3.5527137e-15, 0, 1.0000001, 0, 0, 0) +[node name="Present" parent="Level" instance=ExtResource("161_06wgu")] +transform = Transform3D(0.4108638, 0, -0.91169673, 0, 1, 0, 0.91169673, 0, 0.4108638, 29.607512, 0, -9.8594475) + +[node name="Present2" parent="Level" instance=ExtResource("161_06wgu")] +transform = Transform3D(0.4108638, 0, -0.91169673, 0, 1, 0, 0.91169673, 0, 0.4108638, 31.337019, 0, -10.645705) + +[node name="Present3" parent="Level" instance=ExtResource("161_06wgu")] +transform = Transform3D(0.9998263, 0, -0.018633723, 0, 1, 0, 0.018633723, 0, 0.9998263, 29.009222, 0, -13.3223095) + +[node name="Present4" parent="Level" instance=ExtResource("161_06wgu")] +transform = Transform3D(0.83022434, 0, 0.5574293, 0, 1, 0, -0.5574293, 0, 0.83022434, 27.577469, 0, -10.621645) + +[node name="Present5" parent="Level" instance=ExtResource("161_06wgu")] +transform = Transform3D(0.83022434, 0, 0.5574293, 0, 1, 0, -0.5574293, 0, 0.83022434, 31.317417, 0, -8.438429) + +[node name="Present6" parent="Level" instance=ExtResource("161_06wgu")] +transform = Transform3D(0.9975798, 0, -0.06953004, 0, 1, 0, 0.06953004, 0, 0.9975798, 28.18182, 0, -7.9150133) + +[node name="Present7" parent="Level" instance=ExtResource("161_06wgu")] +transform = Transform3D(0.9975798, 0, -0.06953004, 0, 1, 0, 0.06953004, 0, 0.9975798, 26.497837, 0, -8.754199) + [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] transform = Transform3D(1, 0, 0, 0, 0.9284858, 0.37136784, 0, -0.37136784, 0.9284858, 0, 0, 0) light_color = Color(0.5853764, 0.48550266, 0.7851237, 1) @@ -3484,216 +6490,8 @@ shadow_enabled = true shadow_opacity = 0.49 directional_shadow_blend_splits = true -[node name="CharacterController" type="Node" parent="." node_paths=PackedStringArray("body", "actionsContainer", "graphics")] -script = ExtResource("39_j7lf3") -body = NodePath("CharacterBody3D") -characterUpdateMode = 1 -actionsContainer = NodePath("Actions") -graphics = NodePath("Graphics") -rotationSmoothing = SubResource("Resource_ruj5i") -positionSmoothing = SubResource("Resource_hc41k") -metadata/_custom_type_script = "uid://de26c4war5vu1" - -[node name="CharacterBody3D" type="CharacterBody3D" parent="CharacterController"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.325124, -0.15069711, 9.326969) - -[node name="CollisionShape3D" type="CollisionShape3D" parent="CharacterController/CharacterBody3D"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0) -shape = SubResource("CapsuleShape3D_e8plc") - -[node name="Actions" type="Node" parent="CharacterController"] - -[node name="GroundReset" type="Node" parent="CharacterController/Actions"] -script = ExtResource("40_fd6ib") -metadata/_custom_type_script = "uid://bwog1ah37vltn" - -[node name="CharacterMovement" type="Node" parent="CharacterController/Actions" node_paths=PackedStringArray("directionSource", "onStartedMoving", "onStoppedMoving")] -script = ExtResource("41_vo330") -directionSource = NodePath("../../../App/Camera Setup/Main Camera") -moveSpeed = 750.0 -deviceMovementTypes = [SubResource("Resource_xa56p"), SubResource("Resource_rwf7d"), SubResource("Resource_0obc6")] -onFloorMovementSmoothing = SubResource("Resource_getpf") -inAirMovementSmoothing = SubResource("Resource_uqrk0") -movingSpeedTreshold = 7.0 -onStartedMoving = NodePath("Set Animation Tree Moving On") -onStoppedMoving = NodePath("Set Animation Tree Moving Off") -forwardToRotationSmoothingFrames = SubResource("Curve_0obc6") -lookAlwaysForwardSmoothing = SubResource("Resource_fd6ib") -metadata/_custom_type_script = "uid://df7kaqvmnho05" - -[node name="Set Animation Tree Moving On" type="Node" parent="CharacterController/Actions/CharacterMovement" node_paths=PackedStringArray("tree")] -script = ExtResource("54_cdcpq") -tree = NodePath("../../../Graphics/Hoody Hood/AnimationTree") -name = "moving" -value = true -metadata/_custom_type_script = "uid://dykyfwv0qjcbn" - -[node name="Set Animation Tree Moving Off" type="Node" parent="CharacterController/Actions/CharacterMovement" node_paths=PackedStringArray("tree")] -script = ExtResource("54_cdcpq") -tree = NodePath("../../../Graphics/Hoody Hood/AnimationTree") -name = "moving" -metadata/_custom_type_script = "uid://dykyfwv0qjcbn" - -[node name="Gravity" type="Node" parent="CharacterController/Actions"] -script = ExtResource("42_vo330") -metadata/_custom_type_script = "uid://wgn1jn36geuy" - -[node name="MoveAndSlide" type="Node" parent="CharacterController/Actions"] -script = ExtResource("47_hvsi2") -metadata/_custom_type_script = "uid://bw5ivesxk1mgg" - -[node name="Graphics" type="Node3D" parent="CharacterController"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.3251233, -0.1506971, 9.326968) - -[node name="Hoody Hood" parent="CharacterController/Graphics" instance=ExtResource("54_p2tm2")] -transform = Transform3D(-0.7727, 0, -1.1667446e-07, 0, 0.7727, 0, 1.1667446e-07, 0, -0.7727, 0, 0.1585, 0) - -[node name="GeneralSkeleton" parent="CharacterController/Graphics/Hoody Hood/Rig_Medium" index="0"] -bones/1/position = Vector3(0, 0.38501203, 0) -bones/1/rotation = Quaternion(0.0039764494, 0.04315752, 0.00017177769, 0.9990604) -bones/1/scale = Vector3(0.99999994, 1, 0.99999994) -bones/2/rotation = Quaternion(-0.07030544, 0.092983626, 0.99143547, -0.05888057) -bones/2/scale = Vector3(0.9999999, 0.9999998, 0.9999996) -bones/3/rotation = Quaternion(-1.6584175e-07, 0.9749804, -0.22229096, -2.2679593e-08) -bones/3/scale = Vector3(1.0000004, 0.9999996, 0.9999999) -bones/4/rotation = Quaternion(0.010937687, 0.60339826, -0.78802973, 0.121655926) -bones/4/scale = Vector3(1.0000004, 0.9999994, 1.000001) -bones/5/rotation = Quaternion(8.7809053e-07, 1, 0.00030764937, 6.089997e-07) -bones/5/scale = Vector3(1.0000001, 1.0000013, 0.9999986) -bones/6/rotation = Quaternion(-0.03157504, 0.0682502, 0.9967051, 0.030396055) -bones/6/scale = Vector3(0.9999999, 0.9999999, 0.9999996) -bones/7/rotation = Quaternion(1.930806e-07, 0.97243893, -0.2331579, 2.9918485e-08) -bones/7/scale = Vector3(0.99999994, 0.9999994, 0.9999997) -bones/8/rotation = Quaternion(-0.0414433, 0.5762371, -0.80917335, -0.10710723) -bones/8/scale = Vector3(0.99999976, 0.9999993, 1.000001) -bones/9/rotation = Quaternion(7.434201e-05, 1, 0.00034067035, 5.3566793e-05) -bones/9/scale = Vector3(1.0000002, 1.0000015, 0.9999982) -bones/10/rotation = Quaternion(0.011330429, 1.8337512e-09, 0.0009807366, 0.9999354) -bones/10/scale = Vector3(1.0000001, 1, 1.0000001) -bones/11/rotation = Quaternion(-0.005019451, 5.4424665e-09, -0.0004344723, 0.9999873) -bones/12/rotation = Quaternion(-0.015973885, -0.03133773, -0.0008793838, 0.9993808) -bones/12/scale = Vector3(0.99999994, 1, 1) -bones/13/rotation = Quaternion(0.7733218, 0.31744263, -0.53570426, 0.119267225) -bones/13/scale = Vector3(0.99999994, 0.99999964, 1.0000001) -bones/14/rotation = Quaternion(0.22972362, -0.66875035, 0.22972344, 0.66875046) -bones/14/scale = Vector3(1, 0.99999994, 1.0000001) -bones/15/rotation = Quaternion(6.030765e-08, 0.70710677, -2.3986061e-08, 0.70710677) -bones/15/scale = Vector3(1.0000001, 1, 1) -bones/16/rotation = Quaternion(0.17889363, 0.8952064, 0.22043483, 0.3435274) -bones/16/scale = Vector3(0.9999994, 0.9999993, 0.9999999) -bones/17/position = Vector3(5.1376087e-10, 0.09612512, -0.0575) -bones/17/rotation = Quaternion(0.0022391386, 0.0022391584, -0.69883686, 0.71527416) -bones/18/rotation = Quaternion(0.73930585, -0.36415455, 0.5641763, 0.05023416) -bones/18/scale = Vector3(0.99999994, 0.99999946, 1.0000001) -bones/19/rotation = Quaternion(0.2391954, 0.66542125, -0.23919523, 0.6654215) -bones/19/scale = Vector3(1.0000001, 0.9999999, 1.0000001) -bones/20/rotation = Quaternion(1.6763806e-08, -0.70710677, -1.6763806e-08, 0.70710677) -bones/20/scale = Vector3(0.99999994, 0.99999994, 1) -bones/21/rotation = Quaternion(-0.13230942, 0.8908682, 0.2108334, -0.3799968) -bones/21/scale = Vector3(0.99999905, 0.99999905, 1) -bones/22/position = Vector3(-1.5415006e-08, 0.096125185, -0.0575) -bones/22/rotation = Quaternion(0.0022391386, -0.0022391584, 0.69883686, 0.71527416) -bones/22/scale = Vector3(1, 1.0000001, 1) - -[node name="BoneAttachment3D" parent="CharacterController/Graphics/Hoody Hood/Rig_Medium/GeneralSkeleton" index="8"] -transform = Transform3D(0.5293094, -0.36950943, 0.76373714, 0.07567294, -0.8760286, -0.47628427, 0.8450474, 0.3098962, -0.43572894, -0.45242888, 0.69122905, 0.042287357) - -[node name="MeshInstance3D" type="MeshInstance3D" parent="CharacterController/Graphics/Hoody Hood/Rig_Medium/GeneralSkeleton/BoneAttachment3D/sword_2handed_color2" index="1"] -transform = Transform3D(-0.4656309, -0.15241218, 1.9977951, 0.3999365, 2.730216, 0.23253444, -1.7166625, 0.6774132, -0.4877137, 0.021909714, 1.0161982, 0.03991127) -mesh = SubResource("SphereMesh_3rj3l") -skeleton = NodePath("../../../../../..") -surface_material_override/0 = SubResource("ShaderMaterial_1snje") - -[node name="SpatialShaderGenerator" type="Node" parent="CharacterController/Graphics/Hoody Hood/Rig_Medium/GeneralSkeleton/BoneAttachment3D/sword_2handed_color2/MeshInstance3D"] -script = ExtResource("89_5o8m6") -data = SubResource("Resource_31pys") -path = "res://Character/Hoody Hood/" -shaderName = "FresnelGlow" -shader = ExtResource("88_p8ds5") -numVariants = 1 -metadata/_custom_type_script = "uid://2gudnu1r4pjg" - -[node name="OmniLight3D" type="OmniLight3D" parent="CharacterController/Graphics"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9239198, -0.8042259) -light_color = Color(1, 0.81051326, 0.5789182, 1) -light_energy = 2.0 -omni_range = 10.0 - -[node name="OnSensor" type="Node" parent="CharacterController" node_paths=PackedStringArray("onStart")] -script = ExtResource("88_nh6ww") -sensor = ExtResource("89_pgnem") -onStart = NodePath("../ActionList") -metadata/_custom_type_script = "uid://88u2lx0pssal" - -[node name="ActionList" type="Node" parent="CharacterController"] -script = ExtResource("90_5p3uc") -metadata/_custom_type_script = "uid://b4yjsis2fh64c" - -[node name="ActionSequence" type="Node" parent="CharacterController/ActionList"] -script = ExtResource("91_vgxo8") -metadata/_custom_type_script = "uid://ceaglilesxsi4" - -[node name="SetAnimationTreeBool" type="Node" parent="CharacterController/ActionList/ActionSequence" node_paths=PackedStringArray("tree")] -script = ExtResource("54_cdcpq") -tree = NodePath("../../../Graphics/Hoody Hood/AnimationTree") -name = "sword_attack" -value = true -metadata/_custom_type_script = "uid://dykyfwv0qjcbn" - -[node name="Delay" type="Node" parent="CharacterController/ActionList/ActionSequence"] -script = ExtResource("92_tr1d7") -duration = 0.1 -timeLine = ExtResource("10_qfrgw") -metadata/_custom_type_script = "uid://b2g7rycr0ouu4" - -[node name="SetAnimationTreeBool2" type="Node" parent="CharacterController/ActionList/ActionSequence" node_paths=PackedStringArray("tree")] -script = ExtResource("54_cdcpq") -tree = NodePath("../../../Graphics/Hoody Hood/AnimationTree") -name = "sword_attack" -metadata/_custom_type_script = "uid://dykyfwv0qjcbn" - -[node name="Delay3" type="Node" parent="CharacterController/ActionList/ActionSequence"] -script = ExtResource("92_tr1d7") -duration = 0.1 -timeLine = ExtResource("10_qfrgw") -metadata/_custom_type_script = "uid://b2g7rycr0ouu4" - -[node name="Disable Moving" type="Node" parent="CharacterController/ActionList/ActionSequence" node_paths=PackedStringArray("characterControllerAction")] -script = ExtResource("92_vgxo8") -characterControllerAction = NodePath("../../../Actions/CharacterMovement") -enabled = false -metadata/_custom_type_script = "uid://cuqknlygn6vxe" - -[node name="Delay2" type="Node" parent="CharacterController/ActionList/ActionSequence"] -script = ExtResource("92_tr1d7") -duration = 0.5 -timeLine = ExtResource("10_qfrgw") -metadata/_custom_type_script = "uid://b2g7rycr0ouu4" - -[node name="Enable Moving" type="Node" parent="CharacterController/ActionList/ActionSequence" node_paths=PackedStringArray("characterControllerAction")] -script = ExtResource("92_vgxo8") -characterControllerAction = NodePath("../../../Actions/CharacterMovement") -metadata/_custom_type_script = "uid://cuqknlygn6vxe" - -[node name="ActionSequence2" type="Node" parent="CharacterController/ActionList"] -script = ExtResource("91_vgxo8") -metadata/_custom_type_script = "uid://ceaglilesxsi4" - -[node name="TweenFloatShaderProperty" type="Node" parent="CharacterController/ActionList/ActionSequence2"] -script = ExtResource("115_f6yaf") -material = SubResource("ShaderMaterial_1snje") -propertyName = SubResource("Resource_qrr03") -endValue = 1.0 -duration = SubResource("Resource_xwk5p") -metadata/_custom_type_script = "uid://b8entq7j3pe3i" - -[node name="TweenFloatShaderProperty2" type="Node" parent="CharacterController/ActionList/ActionSequence2"] -script = ExtResource("115_f6yaf") -material = SubResource("ShaderMaterial_1snje") -propertyName = SubResource("Resource_qrr03") -duration = SubResource("Resource_hkpmc") -metadata/_custom_type_script = "uid://b8entq7j3pe3i" - +[editable path="CharacterController/Graphics/Hoody Hood"] +[editable path="CharacterController/Graphics/Hoody Hood/Rig_Medium/GeneralSkeleton/BoneAttachment3D/sword_2handed_color2"] [editable path="Level/mountains/mountains"] [editable path="Level/mountains/mountains2"] [editable path="Level/mountains/mountains3"] @@ -3721,9 +6519,11 @@ metadata/_custom_type_script = "uid://b8entq7j3pe3i" [editable path="Level/lantern-hanging2"] [editable path="Level/lantern-hanging3"] [editable path="Level/lantern-hanging4"] -[editable path="Level/lights-colored6"] -[editable path="Level/lights-colored7"] -[editable path="Level/lights-colored8"] -[editable path="Level/lights-colored9"] -[editable path="Level/lights-colored10"] -[editable path="CharacterController/Graphics/Hoody Hood"] +[editable path="Level/Lights/lights-colored6"] +[editable path="Level/Lights/lights-colored7"] +[editable path="Level/Lights/lights-colored8"] +[editable path="Level/Lights/lights-colored9"] +[editable path="Level/Lights/lights-colored10"] +[editable path="Level/Small House2/lantern-hanging3"] +[editable path="Level/Small House2/lantern-hanging4"] +[editable path="Level/Small House2/lantern-hanging5"] diff --git a/Main/Snow.material b/Main/Snow.material new file mode 100644 index 0000000..b822171 Binary files /dev/null and b/Main/Snow.material differ diff --git a/UI/Collectables/Collectable Info ActiveStyle.tres b/UI/Collectables/Collectable Info ActiveStyle.tres new file mode 100644 index 0000000..06cb80e --- /dev/null +++ b/UI/Collectables/Collectable Info ActiveStyle.tres @@ -0,0 +1,125 @@ +[gd_resource type="Resource" script_class="UIStyle" load_steps=26 format=3 uid="uid://daouxrsb1i8ks"] + +[ext_resource type="Script" uid="uid://c5k6edrmdr3qc" path="res://addons/rokojori_action_library/Runtime/UI/Transitions/UIColorTransition.cs" id="1_dar7u"] +[ext_resource type="Script" uid="uid://cnkyynboxg1qg" path="res://addons/rokojori_action_library/Runtime/UI/Styling/UINumber.cs" id="1_gg0q3"] +[ext_resource type="Script" uid="uid://dvqqv47qdhlx0" path="res://addons/rokojori_action_library/Runtime/UI/Transitions/UINumberTransition.cs" id="2_dar7u"] +[ext_resource type="Curve" uid="uid://dhaky16xvyxnm" path="res://Utilities/Ease Curve.tres" id="3_aqe7w"] +[ext_resource type="Script" uid="uid://5w3jvlqxrvaf" path="res://addons/rokojori_action_library/Runtime/UI/Transitions/TransitionSettings.cs" id="4_i5oea"] +[ext_resource type="Script" uid="uid://drqb0pm5ub64g" path="res://addons/rokojori_action_library/Runtime/UI/Styling/UIColor.cs" id="5_aqe7w"] +[ext_resource type="Resource" uid="uid://ch5nsa6yafs5l" path="res://addons/rokojori_action_library/Runtime/Time/TimeLines/GameTime.tres" id="5_m77wg"] +[ext_resource type="Script" uid="uid://chmcc71dvu4vj" path="res://addons/rokojori_action_library/Runtime/UI/Styling/UIStyle.cs" id="6_vowfj"] + +[sub_resource type="Resource" id="Resource_aqe7w"] +script = ExtResource("4_i5oea") +duration = 0.5 +curve = ExtResource("3_aqe7w") +timeLine = ExtResource("5_m77wg") +metadata/_custom_type_script = "uid://5w3jvlqxrvaf" + +[sub_resource type="Resource" id="Resource_i5oea"] +script = ExtResource("1_dar7u") +settings = SubResource("Resource_aqe7w") +metadata/_custom_type_script = "uid://c5k6edrmdr3qc" + +[sub_resource type="Resource" id="Resource_mxtm4"] +script = ExtResource("4_i5oea") +duration = 0.5 +curve = ExtResource("3_aqe7w") +timeLine = ExtResource("5_m77wg") +metadata/_custom_type_script = "uid://5w3jvlqxrvaf" + +[sub_resource type="Resource" id="Resource_vowfj"] +script = ExtResource("1_dar7u") +property = 3 +settings = SubResource("Resource_mxtm4") +metadata/_custom_type_script = "uid://c5k6edrmdr3qc" + +[sub_resource type="Resource" id="Resource_m77wg"] +script = ExtResource("5_aqe7w") +metadata/_custom_type_script = "uid://drqb0pm5ub64g" + +[sub_resource type="Resource" id="Resource_365vd"] +script = ExtResource("1_gg0q3") +value = 1.0 +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_wrdjr"] +script = ExtResource("1_gg0q3") +value = 2.5 +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_wdf2m"] +script = ExtResource("5_aqe7w") +metadata/_custom_type_script = "uid://drqb0pm5ub64g" + +[sub_resource type="Resource" id="Resource_6p0we"] +script = ExtResource("4_i5oea") +duration = 0.5 +curve = ExtResource("3_aqe7w") +timeLine = ExtResource("5_m77wg") +metadata/_custom_type_script = "uid://5w3jvlqxrvaf" + +[sub_resource type="Resource" id="Resource_d20rj"] +script = ExtResource("2_dar7u") +property = 1 +settings = SubResource("Resource_6p0we") +metadata/_custom_type_script = "uid://dvqqv47qdhlx0" + +[sub_resource type="Resource" id="Resource_ontkc"] +script = ExtResource("4_i5oea") +duration = 0.5 +curve = ExtResource("3_aqe7w") +timeLine = ExtResource("5_m77wg") +metadata/_custom_type_script = "uid://5w3jvlqxrvaf" + +[sub_resource type="Resource" id="Resource_g3pn5"] +script = ExtResource("2_dar7u") +property = 5 +settings = SubResource("Resource_ontkc") +metadata/_custom_type_script = "uid://dvqqv47qdhlx0" + +[sub_resource type="Resource" id="Resource_3prhx"] +script = ExtResource("4_i5oea") +duration = 0.5 +curve = ExtResource("3_aqe7w") +timeLine = ExtResource("5_m77wg") +metadata/_custom_type_script = "uid://5w3jvlqxrvaf" + +[sub_resource type="Resource" id="Resource_4i6hj"] +script = ExtResource("2_dar7u") +property = 22 +settings = SubResource("Resource_3prhx") +metadata/_custom_type_script = "uid://dvqqv47qdhlx0" + +[sub_resource type="Resource" id="Resource_7usgj"] +script = ExtResource("1_gg0q3") +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_kcmgq"] +script = ExtResource("1_gg0q3") +value = 50.0 +unit = "%" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_ta048"] +script = ExtResource("1_gg0q3") +value = 50.0 +unit = "%" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[resource] +script = ExtResource("6_vowfj") +verticalAlignment = SubResource("Resource_kcmgq") +verticalPlacement = SubResource("Resource_ta048") +height = SubResource("Resource_wrdjr") +fontSize = SubResource("Resource_365vd") +fontColor = SubResource("Resource_m77wg") +lineWrap = 2 +right = SubResource("Resource_7usgj") +modulationColor = SubResource("Resource_wdf2m") +numberTransitions = [SubResource("Resource_d20rj"), SubResource("Resource_g3pn5"), SubResource("Resource_4i6hj")] +colorTransitions = [SubResource("Resource_i5oea"), SubResource("Resource_vowfj")] +metadata/_custom_type_script = "uid://chmcc71dvu4vj" diff --git a/UI/Collectables/Collectable Info Hidden Style.tres b/UI/Collectables/Collectable Info Hidden Style.tres new file mode 100644 index 0000000..b5ac8ac --- /dev/null +++ b/UI/Collectables/Collectable Info Hidden Style.tres @@ -0,0 +1,44 @@ +[gd_resource type="Resource" script_class="UIStyle" load_steps=10 format=3 uid="uid://c8bdoba51g7ss"] + +[ext_resource type="Script" uid="uid://drqb0pm5ub64g" path="res://addons/rokojori_action_library/Runtime/UI/Styling/UIColor.cs" id="1_k5ris"] +[ext_resource type="Script" uid="uid://cnkyynboxg1qg" path="res://addons/rokojori_action_library/Runtime/UI/Styling/UINumber.cs" id="1_ptct8"] +[ext_resource type="Resource" uid="uid://daouxrsb1i8ks" path="res://UI/Collectables/Collectable Info ActiveStyle.tres" id="2_k5ris"] +[ext_resource type="Script" uid="uid://chmcc71dvu4vj" path="res://addons/rokojori_action_library/Runtime/UI/Styling/UIStyle.cs" id="3_xqbev"] + +[sub_resource type="Resource" id="Resource_xqbev"] +script = ExtResource("1_k5ris") +color = Color(1, 0.56666666, 0, 1) +metadata/_custom_type_script = "uid://drqb0pm5ub64g" + +[sub_resource type="Resource" id="Resource_a0olc"] +script = ExtResource("1_ptct8") +value = 0.1 +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_r2why"] +script = ExtResource("1_ptct8") +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_k5ris"] +script = ExtResource("1_k5ris") +color = Color(1, 1, 1, 0) +metadata/_custom_type_script = "uid://drqb0pm5ub64g" + +[sub_resource type="Resource" id="Resource_264dg"] +script = ExtResource("1_ptct8") +value = -4.0 +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[resource] +script = ExtResource("3_xqbev") +height = SubResource("Resource_r2why") +fontSize = SubResource("Resource_a0olc") +fontColor = SubResource("Resource_xqbev") +lineWrap = 2 +right = SubResource("Resource_264dg") +modulationColor = SubResource("Resource_k5ris") +parentStyle = ExtResource("2_k5ris") +metadata/_custom_type_script = "uid://chmcc71dvu4vj" diff --git a/UI/Collectables/Collectable Label.tscn b/UI/Collectables/Collectable Label.tscn new file mode 100644 index 0000000..b6aa129 --- /dev/null +++ b/UI/Collectables/Collectable Label.tscn @@ -0,0 +1,278 @@ +[gd_scene load_steps=42 format=3 uid="uid://bxkp71wpnfu0x"] + +[ext_resource type="Script" uid="uid://c2hicupu28nbi" path="res://addons/rokojori_action_library/Runtime/UI/Nodes/UIRegion.cs" id="1_6a67w"] +[ext_resource type="Resource" uid="uid://c8bdoba51g7ss" path="res://UI/Collectables/Collectable Info Hidden Style.tres" id="2_5idi6"] +[ext_resource type="Resource" uid="uid://dp57o0ykhkqfj" path="res://addons/rokojori_action_library/Runtime/UI/UI-Settings-Default.tres" id="3_eexe3"] +[ext_resource type="Script" uid="uid://cjlsn08m0vf3k" path="res://Character/Variables/CollectableLabel.cs" id="3_htg8x"] +[ext_resource type="Script" uid="uid://rqs2m0u6yvvf" path="res://addons/rokojori_action_library/Runtime/UI/Nodes/UIText.cs" id="3_xg0o1"] +[ext_resource type="Script" uid="uid://dlu21piejg7w0" path="res://addons/rokojori_action_library/Runtime/UI/Shaders/RoundedRectangle/RoundedRectangleMaterial.cs" id="4_5et8t"] +[ext_resource type="Script" uid="uid://bvj322mokkq63" path="res://addons/rokojori_action_library/Runtime/Localization/LocaleText.cs" id="4_xt3ox"] +[ext_resource type="Shader" uid="uid://x1a008jxt3ej" path="res://addons/rokojori_action_library/Runtime/UI/Shaders/RoundedRectangle/RoundedRectangle.gdshader" id="5_eexe3"] +[ext_resource type="Script" uid="uid://5wxryjf5c2x4" path="res://addons/rokojori_action_library/Runtime/UI/Actions/SetUIStyle.cs" id="5_mxc04"] +[ext_resource type="Script" uid="uid://dyf6ee3ov3ran" path="res://addons/rokojori_action_library/Runtime/Actions/OnReady.cs" id="5_xt3ox"] +[ext_resource type="Resource" uid="uid://daouxrsb1i8ks" path="res://UI/Collectables/Collectable Info ActiveStyle.tres" id="6_bb4ew"] +[ext_resource type="Script" uid="uid://bx0bk663u3hj5" path="res://addons/rokojori_action_library/Runtime/UI/Nodes/UIImage.cs" id="6_gsx1l"] +[ext_resource type="Script" uid="uid://ceaglilesxsi4" path="res://addons/rokojori_action_library/Runtime/Actions/ActionSequence.cs" id="6_mxc04"] +[ext_resource type="Script" uid="uid://cnkyynboxg1qg" path="res://addons/rokojori_action_library/Runtime/UI/Styling/UINumber.cs" id="7_5di7b"] +[ext_resource type="Script" uid="uid://drqb0pm5ub64g" path="res://addons/rokojori_action_library/Runtime/UI/Styling/UIColor.cs" id="8_lbkd2"] +[ext_resource type="Resource" uid="uid://ch5nsa6yafs5l" path="res://addons/rokojori_action_library/Runtime/Time/TimeLines/GameTime.tres" id="8_mxc04"] +[ext_resource type="Script" uid="uid://dwuimn03cvh3" path="res://addons/rokojori_action_library/Runtime/UI/Nodes/UIImageTypes/RoundedRectangleUIImageType.cs" id="9_55wnc"] +[ext_resource type="Script" uid="uid://b2g7rycr0ouu4" path="res://addons/rokojori_action_library/Runtime/Actions/Time/Delay.cs" id="9_bb4ew"] +[ext_resource type="Script" uid="uid://dq5kae8x62gre" path="res://addons/rokojori_action_library/Runtime/Actions/RemoveNode.cs" id="11_bb4ew"] + +[sub_resource type="Resource" id="Resource_lbkd2"] +script = ExtResource("7_5di7b") +value = 50.0 +unit = "%" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_eexe3"] +shader = ExtResource("5_eexe3") +shader_parameter/size = Vector2(21.28, 0) +shader_parameter/sharpness = 5.0 +shader_parameter/borderRadius = 0.0 +shader_parameter/strokeSize = 0.0 +shader_parameter/offset = 0.0 +shader_parameter/fillColor = Color(1, 1, 1, 1) +shader_parameter/fillUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenfillMultiplyUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenfillMultiplyUVMovement = Vector2(0, 0) +shader_parameter/strokeColor = Color(1, 1, 1, 1) +shader_parameter/strokeUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenStrokeMultiplyUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenStrokeMultiplyUVMovment = Vector2(0, 0) +shader_parameter/opacity = 1.0 +shader_parameter/fillStateAngle = 0.0 +shader_parameter/fillStateOffset = 0.0 +script = ExtResource("4_5et8t") + +[sub_resource type="Gradient" id="Gradient_gsx1l"] +offsets = PackedFloat32Array(0) +colors = PackedColorArray(0, 0, 0, 0.30588236) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_5di7b"] +gradient = SubResource("Gradient_gsx1l") +fill_to = Vector2(0, 1) + +[sub_resource type="Resource" id="Resource_55wnc"] +script = ExtResource("7_5di7b") +value = 20.0 +unit = "ph" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_ugp56"] +script = ExtResource("9_55wnc") +borderRadius = SubResource("Resource_55wnc") +metadata/_custom_type_script = "uid://dwuimn03cvh3" + +[sub_resource type="Resource" id="Resource_58gtr"] +script = ExtResource("7_5di7b") +value = 100.0 +unit = "pw" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_7o8w3"] +script = ExtResource("7_5di7b") +value = 100.0 +unit = "ph" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_4yxkb"] +script = ExtResource("7_5di7b") +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_xif6n"] +script = ExtResource("7_5di7b") +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_gsx1l"] +shader = ExtResource("5_eexe3") +shader_parameter/size = Vector2(0, 0) +shader_parameter/sharpness = 5.0 +shader_parameter/borderRadius = 7.00416 +shader_parameter/strokeSize = 0.0 +shader_parameter/offset = 0.0 +shader_parameter/fillColor = Color(1, 1, 1, 1) +shader_parameter/fillUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenfillMultiplyUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenfillMultiplyUVMovement = Vector2(0, 0) +shader_parameter/strokeColor = Color(1, 1, 1, 1) +shader_parameter/strokeUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenStrokeMultiplyUVTransform = Vector4(0, 0, 0, 0) +shader_parameter/screenStrokeMultiplyUVMovment = Vector2(0, 0) +shader_parameter/opacity = 1.0 +shader_parameter/fillStateAngle = 0.0 +shader_parameter/fillStateOffset = 0.0 +script = ExtResource("4_5et8t") + +[sub_resource type="Gradient" id="Gradient_aa62o"] +offsets = PackedFloat32Array(0, 0.17349398, 0.33012047, 0.5036145, 0.6771084, 0.80240965, 1) +colors = PackedColorArray(0, 0, 0, 1, 0, 0.18404102, 1, 1, 0.60567, 0, 1, 1, 0.7919124, 0.10430693, 0.65158844, 1, 0.8869536, 0.099326104, 0.2477931, 1, 1, 0.7660846, 0.13829178, 1, 1, 1, 1, 1) + +[sub_resource type="FastNoiseLite" id="FastNoiseLite_vh1c2"] +noise_type = 2 +frequency = 0.0057 +fractal_octaves = 2 + +[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_drk6d"] +width = 128 +height = 128 +noise = SubResource("FastNoiseLite_vh1c2") +color_ramp = SubResource("Gradient_aa62o") + +[sub_resource type="Resource" id="Resource_jtfq4"] +script = ExtResource("7_5di7b") +value = 0.608 +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_mk81p"] +script = ExtResource("8_lbkd2") +metadata/_custom_type_script = "uid://drqb0pm5ub64g" + +[sub_resource type="Resource" id="Resource_mo0ou"] +script = ExtResource("9_55wnc") +fillColor = SubResource("Resource_mk81p") +borderRadius = SubResource("Resource_jtfq4") +metadata/_custom_type_script = "uid://dwuimn03cvh3" + +[sub_resource type="Resource" id="Resource_228bp"] +script = ExtResource("7_5di7b") +value = 65.0 +unit = "ph" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="Resource" id="Resource_pbne2"] +script = ExtResource("7_5di7b") +value = 0.5 +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[sub_resource type="LabelSettings" id="LabelSettings_eexe3"] +font_size = 1 +font_color = Color(1, 0.56666666, 0, 1) +shadow_size = 0 + +[sub_resource type="Resource" id="Resource_kloam"] +script = ExtResource("4_xt3ox") +en = "Present" +metadata/_custom_type_script = "uid://bvj322mokkq63" + +[sub_resource type="Resource" id="Resource_xf5ks"] +script = ExtResource("7_5di7b") +value = 0.5 +unit = "em" +metadata/_custom_type_script = "uid://cnkyynboxg1qg" + +[node name="Collectable Label" type="Control"] +modulate = Color(1, 1, 1, 0) +layout_mode = 3 +anchors_preset = 0 +offset_top = 306.72 +offset_right = 21.28 +offset_bottom = 306.72 +pivot_offset = Vector2(54.13568, 17.279999) +script = ExtResource("1_6a67w") +parentStyle = ExtResource("2_5idi6") +verticalAlignment = SubResource("Resource_lbkd2") +verticalPlacement = SubResource("Resource_lbkd2") +uiSettings = ExtResource("3_eexe3") +updateInEditor = true +computedFontSize = 11.52 +metadata/_custom_type_script = "uid://c2hicupu28nbi" + +[node name="CollectableLabel" type="Node" parent="." node_paths=PackedStringArray("text", "image")] +script = ExtResource("3_htg8x") +text = NodePath("../UIText") +image = NodePath("../Icon") +metadata/_custom_type_script = "uid://cjlsn08m0vf3k" + +[node name="BG" type="TextureRect" parent="."] +material = SubResource("ShaderMaterial_eexe3") +layout_mode = 0 +offset_right = 21.28 +pivot_offset = Vector2(10.64, 0) +texture = SubResource("GradientTexture2D_5di7b") +expand_mode = 1 +script = ExtResource("6_gsx1l") +imageType = SubResource("Resource_ugp56") +width = SubResource("Resource_58gtr") +height = SubResource("Resource_7o8w3") +position = 2 +left = SubResource("Resource_4yxkb") +top = SubResource("Resource_xif6n") +metadata/_custom_type_script = "uid://bx0bk663u3hj5" + +[node name="Icon" type="TextureRect" parent="."] +texture_filter = 4 +material = SubResource("ShaderMaterial_gsx1l") +layout_mode = 0 +offset_left = 5.76 +offset_right = 5.76 +texture = SubResource("NoiseTexture2D_drk6d") +expand_mode = 1 +script = ExtResource("6_gsx1l") +imageType = SubResource("Resource_mo0ou") +width = SubResource("Resource_228bp") +height = SubResource("Resource_228bp") +marginLeft = SubResource("Resource_pbne2") +metadata/_custom_type_script = "uid://bx0bk663u3hj5" + +[node name="UIText" type="Label" parent="."] +layout_mode = 0 +offset_left = 11.52 +offset_top = -1.4999995 +offset_right = 15.52 +offset_bottom = 1.5000005 +pivot_offset = Vector2(2, 1.5) +text = "Present" +label_settings = SubResource("LabelSettings_eexe3") +script = ExtResource("3_xg0o1") +locale = SubResource("Resource_kloam") +margin = SubResource("Resource_xf5ks") +metadata/_custom_type_script = "uid://rqs2m0u6yvvf" + +[node name="OnReady" type="Node" parent="."] +script = ExtResource("5_xt3ox") +metadata/_custom_type_script = "uid://dyf6ee3ov3ran" + +[node name="ActionSequence" type="Node" parent="OnReady"] +script = ExtResource("6_mxc04") +metadata/_custom_type_script = "uid://ceaglilesxsi4" + +[node name="Delay" type="Node" parent="OnReady/ActionSequence"] +script = ExtResource("9_bb4ew") +duration = 0.1 +timeLine = ExtResource("8_mxc04") +metadata/_custom_type_script = "uid://b2g7rycr0ouu4" + +[node name="Set Active" type="Node" parent="OnReady/ActionSequence" node_paths=PackedStringArray("uiNode")] +script = ExtResource("5_mxc04") +uiNode = NodePath("../../..") +style = ExtResource("6_bb4ew") +metadata/_custom_type_script = "uid://5wxryjf5c2x4" + +[node name="Delay2" type="Node" parent="OnReady/ActionSequence"] +script = ExtResource("9_bb4ew") +duration = 2.0 +timeLine = ExtResource("8_mxc04") +metadata/_custom_type_script = "uid://b2g7rycr0ouu4" + +[node name="Set Hidden" type="Node" parent="OnReady/ActionSequence" node_paths=PackedStringArray("uiNode")] +script = ExtResource("5_mxc04") +uiNode = NodePath("../../..") +style = ExtResource("2_5idi6") +metadata/_custom_type_script = "uid://5wxryjf5c2x4" + +[node name="Delay3" type="Node" parent="OnReady/ActionSequence"] +script = ExtResource("9_bb4ew") +duration = 2.0 +timeLine = ExtResource("8_mxc04") +metadata/_custom_type_script = "uid://b2g7rycr0ouu4" + +[node name="RemoveNode" type="Node" parent="OnReady/ActionSequence" node_paths=PackedStringArray("target")] +script = ExtResource("11_bb4ew") +target = NodePath("../../..") +metadata/_custom_type_script = "uid://dq5kae8x62gre" diff --git a/UI/GameUI.cs b/UI/GameUI.cs new file mode 100644 index 0000000..3795333 --- /dev/null +++ b/UI/GameUI.cs @@ -0,0 +1,9 @@ +using Godot; +using Rokojori; + +[Tool, GlobalClass] +public partial class GameUI : UI +{ + [Export] + public UIRegion collectablesContainer; +} diff --git a/UI/GameUI.cs.uid b/UI/GameUI.cs.uid new file mode 100644 index 0000000..1747140 --- /dev/null +++ b/UI/GameUI.cs.uid @@ -0,0 +1 @@ +uid://bbubpsnpa3lq0 diff --git a/UI/Map/Map Buildings Primary Square.tres b/UI/Map/Map Buildings Primary Square.tres new file mode 100644 index 0000000..a991024 --- /dev/null +++ b/UI/Map/Map Buildings Primary Square.tres @@ -0,0 +1,5 @@ +[gd_resource type="StandardMaterial3D" format=3 uid="uid://b24lh737lun5h"] + +[resource] +shading_mode = 0 +albedo_color = Color(0.8733763, 0.42592937, 0.38499424, 1) diff --git a/UI/Map/Map Buildings Secondary Circle.tres b/UI/Map/Map Buildings Secondary Circle.tres new file mode 100644 index 0000000..a5c6e82 --- /dev/null +++ b/UI/Map/Map Buildings Secondary Circle.tres @@ -0,0 +1,11 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://b5fpd1257bng8"] + +[ext_resource type="Texture2D" uid="uid://cg0xt6yev5fxv" path="res://UI/Map/Textures/Map Circle Texture.tres" id="1_uqcd5"] + +[resource] +transparency = 2 +alpha_scissor_threshold = 0.5 +alpha_antialiasing_mode = 0 +shading_mode = 0 +albedo_color = Color(0.4456907, 0.365017, 0.34888226, 1) +albedo_texture = ExtResource("1_uqcd5") diff --git a/UI/Map/Map Player Arrow.tres b/UI/Map/Map Player Arrow.tres new file mode 100644 index 0000000..4e2b2c5 --- /dev/null +++ b/UI/Map/Map Player Arrow.tres @@ -0,0 +1,11 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://clba0ob51hayq"] + +[ext_resource type="Texture2D" uid="uid://bvf2li8i1g1gv" path="res://UI/Map/Textures/Map Player Arrow.svg" id="1_c2nts"] + +[resource] +transparency = 2 +alpha_scissor_threshold = 0.5 +alpha_antialiasing_mode = 0 +shading_mode = 0 +albedo_color = Color(1.9187353, 1.3064493, 0.1510295, 1) +albedo_texture = ExtResource("1_c2nts") diff --git a/UI/Map/Map Player Camera.tres b/UI/Map/Map Player Camera.tres new file mode 100644 index 0000000..7089a81 --- /dev/null +++ b/UI/Map/Map Player Camera.tres @@ -0,0 +1,9 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://corl7v1lydilm"] + +[ext_resource type="Texture2D" uid="uid://crisw3uvsjipd" path="res://UI/Map/Textures/Map Player Camera.svg" id="1_fka4q"] + +[resource] +transparency = 1 +shading_mode = 0 +albedo_color = Color(0.89374226, 0.813017, 0.529159, 0.46666667) +albedo_texture = ExtResource("1_fka4q") diff --git a/UI/Map/Map Trees Circle.tres b/UI/Map/Map Trees Circle.tres new file mode 100644 index 0000000..0cfd5d4 --- /dev/null +++ b/UI/Map/Map Trees Circle.tres @@ -0,0 +1,11 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://dhup2o6fwun4t"] + +[ext_resource type="Texture2D" uid="uid://cg0xt6yev5fxv" path="res://UI/Map/Textures/Map Circle Texture.tres" id="1_5mjpr"] + +[resource] +transparency = 2 +alpha_scissor_threshold = 0.5 +alpha_antialiasing_mode = 0 +shading_mode = 0 +albedo_color = Color(0.4342862, 0.45926803, 0.4259589, 1) +albedo_texture = ExtResource("1_5mjpr") diff --git a/UI/Map/Map Vegetation Circle.tres b/UI/Map/Map Vegetation Circle.tres new file mode 100644 index 0000000..7502010 --- /dev/null +++ b/UI/Map/Map Vegetation Circle.tres @@ -0,0 +1,9 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://dbqr1iev2b5t4"] + +[ext_resource type="Texture2D" uid="uid://5g7pj5li4lnb" path="res://UI/Map/Textures/Map Soft-Circle Texture.tres" id="1_skr0k"] + +[resource] +transparency = 1 +shading_mode = 0 +albedo_color = Color(0.18097316, 0.18772161, 0.17904502, 1) +albedo_texture = ExtResource("1_skr0k") diff --git a/UI/Map/Textures/Map Circle Texture.tres b/UI/Map/Textures/Map Circle Texture.tres new file mode 100644 index 0000000..fcf39ae --- /dev/null +++ b/UI/Map/Textures/Map Circle Texture.tres @@ -0,0 +1,11 @@ +[gd_resource type="GradientTexture2D" load_steps=2 format=3 uid="uid://cg0xt6yev5fxv"] + +[sub_resource type="Gradient" id="Gradient_ofubf"] +offsets = PackedFloat32Array(0.97590363, 0.9879518) +colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0) + +[resource] +gradient = SubResource("Gradient_ofubf") +fill = 1 +fill_from = Vector2(0.5, 0.5) +fill_to = Vector2(1, 0.5) diff --git a/UI/Map/Textures/Map Player Arrow.svg b/UI/Map/Textures/Map Player Arrow.svg new file mode 100644 index 0000000..8d21472 --- /dev/null +++ b/UI/Map/Textures/Map Player Arrow.svg @@ -0,0 +1,53 @@ + + + + diff --git a/UI/Map/Textures/Map Player Arrow.svg.import b/UI/Map/Textures/Map Player Arrow.svg.import new file mode 100644 index 0000000..df1be4f --- /dev/null +++ b/UI/Map/Textures/Map Player Arrow.svg.import @@ -0,0 +1,44 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bvf2li8i1g1gv" +path.s3tc="res://.godot/imported/Map Player Arrow.svg-abb11e6f4dc01142f47338afc401fad3.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://UI/Map/Textures/Map Player Arrow.svg" +dest_files=["res://.godot/imported/Map Player Arrow.svg-abb11e6f4dc01142f47338afc401fad3.s3tc.ctex"] + +[params] + +compress/mode=2 +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=true +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=0 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/UI/Map/Textures/Map Player Camera.svg b/UI/Map/Textures/Map Player Camera.svg new file mode 100644 index 0000000..c7478bc --- /dev/null +++ b/UI/Map/Textures/Map Player Camera.svg @@ -0,0 +1,76 @@ + + + + diff --git a/UI/Map/Textures/Map Player Camera.svg.import b/UI/Map/Textures/Map Player Camera.svg.import new file mode 100644 index 0000000..d5f7122 --- /dev/null +++ b/UI/Map/Textures/Map Player Camera.svg.import @@ -0,0 +1,44 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://crisw3uvsjipd" +path.s3tc="res://.godot/imported/Map Player Camera.svg-93cbb31c18a9a2c11e6f933059ac2f31.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://UI/Map/Textures/Map Player Camera.svg" +dest_files=["res://.godot/imported/Map Player Camera.svg-93cbb31c18a9a2c11e6f933059ac2f31.s3tc.ctex"] + +[params] + +compress/mode=2 +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=true +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=0 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/UI/Map/Textures/Map Soft-Circle Texture.tres b/UI/Map/Textures/Map Soft-Circle Texture.tres new file mode 100644 index 0000000..ba965f0 --- /dev/null +++ b/UI/Map/Textures/Map Soft-Circle Texture.tres @@ -0,0 +1,11 @@ +[gd_resource type="GradientTexture2D" load_steps=2 format=3 uid="uid://5g7pj5li4lnb"] + +[sub_resource type="Gradient" id="Gradient_qjmun"] +offsets = PackedFloat32Array(0.4745098, 0.80784315, 1) +colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0.46268654, 1, 1, 1, 0) + +[resource] +gradient = SubResource("Gradient_qjmun") +fill = 1 +fill_from = Vector2(0.5, 0.5) +fill_to = Vector2(1, 0.5) diff --git a/Utilities/Testing/TweenPixels.cs b/Utilities/Testing/TweenPixels.cs new file mode 100644 index 0000000..303c8d1 --- /dev/null +++ b/Utilities/Testing/TweenPixels.cs @@ -0,0 +1,117 @@ + +using System; +using Godot; + + +namespace Rokojori +{ + [Tool] + [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/Tween.svg")] + public partial class TweenPixels:SequenceAction, Animator + { + // [Export] + // public PixelationEffect target; + + [Export] + public WorldEnvironment worldEnvironment; + + [Export] + public int effectIndex; + + // [Export] + // public string targetMember; + + [Export] + public float endValue; + + [Export] + public Duration duration; + + [Export] + public Curve curve; + + public void OnAnimatorStart(){} + public void OnAnimatorEnd(){} + public void OnAnimatorCancel(){} + + int _actionID = -1; + int _timeID = -1; + + protected override void _OnTrigger() + { + this.LogInfo( "Started Float Tween" ); + + + // if ( Engine.IsEditorHint() ) + // { + // return; + // } + + if ( _actionID != -1 ) + { + CancelAction( _actionID ); + } + + _actionID = DispatchStart(); + + var target = worldEnvironment.Compositor.CompositorEffects[ effectIndex ] as PixelationEffect; + + var startValue = target.pixelSize; + + var targetMember = "pixelSize"; + + + AnimationManager.StartAnimation( this, target, targetMember ); + + this.LogInfo( "Start Value Float Tween", HierarchyName.OfAny( target ), target.GetType().Name, targetMember, ">>", startValue ); + + _timeID = TimeLineManager.ScheduleSpanWith( duration, + ( span, type )=> + { + + // this.LogInfo( "Update Float Tween", startValue ); + if ( span.id != _timeID ) + { + return; + } + + if ( ! AnimationManager.IsAnimating( this, target, targetMember ) ) + { + return; + } + + var phase = span.phase; + + if ( curve != null ) + { + phase = curve.Sample( phase ); + } + + var value = Mathf.Lerp( startValue, endValue, phase ); + + this.LogInfo( "Updating Float Tween", "phase:", phase, "value:", value, target ); + + // ReflectionHelper.SetValue( target, targetMember, value ); + + target.pixelSize = value; + + if ( type == TimeLineSpanUpdateType.End ) + { + this.LogInfo( "End Float Tween", endValue ); + + // target._Set( targetMember, endValue ); + + target.pixelSize = endValue; + AnimationManager.EndAnimation( this, target, targetMember ); + DispatchEnd( _actionID ); + _actionID = -1; + _timeID = -1; + } + }, + + this + ).id; + } + + } +} \ No newline at end of file diff --git a/Utilities/Testing/TweenPixels.cs.uid b/Utilities/Testing/TweenPixels.cs.uid new file mode 100644 index 0000000..fd29286 --- /dev/null +++ b/Utilities/Testing/TweenPixels.cs.uid @@ -0,0 +1 @@ +uid://2ljfg1gg0jkf diff --git a/addons/rokojori_action_library b/addons/rokojori_action_library index 04b8266..282b66e 160000 --- a/addons/rokojori_action_library +++ b/addons/rokojori_action_library @@ -1 +1 @@ -Subproject commit 04b8266c085e57d3c7356af6d13d42f3e4836848 +Subproject commit 282b66eadf99b1c2260aad47ee90c8c8a3689843 diff --git a/assets/KayKit_Adventurers_2.0_FREE/Animations/rokojori-extensions.blend b/assets/KayKit_Adventurers_2.0_FREE/Animations/rokojori-extensions.blend index 77dc847..22de11c 100644 Binary files a/assets/KayKit_Adventurers_2.0_FREE/Animations/rokojori-extensions.blend and b/assets/KayKit_Adventurers_2.0_FREE/Animations/rokojori-extensions.blend differ diff --git a/assets/KayKit_Adventurers_2.0_FREE/Animations/rokojori-extensions.blend1 b/assets/KayKit_Adventurers_2.0_FREE/Animations/rokojori-extensions.blend1 index 79b94e3..77dc847 100644 Binary files a/assets/KayKit_Adventurers_2.0_FREE/Animations/rokojori-extensions.blend1 and b/assets/KayKit_Adventurers_2.0_FREE/Animations/rokojori-extensions.blend1 differ diff --git a/assets/rokojori-houses/bush-cover.png b/assets/rokojori-houses/bush-cover.png new file mode 100644 index 0000000..7e552c3 Binary files /dev/null and b/assets/rokojori-houses/bush-cover.png differ diff --git a/assets/rokojori-houses/bush-cover.png.import b/assets/rokojori-houses/bush-cover.png.import new file mode 100644 index 0000000..ac2bcb9 --- /dev/null +++ b/assets/rokojori-houses/bush-cover.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://snaptjpwvmdn" +path.s3tc="res://.godot/imported/bush-cover.png-5f85dd3126075663926208dbb3d9f5e4.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/rokojori-houses/bush-cover.png" +dest_files=["res://.godot/imported/bush-cover.png-5f85dd3126075663926208dbb3d9f5e4.s3tc.ctex"] + +[params] + +compress/mode=2 +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=true +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=0 diff --git a/assets/rokojori-houses/flower-bush.png b/assets/rokojori-houses/flower-bush.png index 124a29a..0f65539 100644 Binary files a/assets/rokojori-houses/flower-bush.png and b/assets/rokojori-houses/flower-bush.png differ diff --git a/assets/rokojori-houses/foliage.svg b/assets/rokojori-houses/foliage.svg index 2c32529..6e3070d 100644 --- a/assets/rokojori-houses/foliage.svg +++ b/assets/rokojori-houses/foliage.svg @@ -25,19 +25,67 @@ inkscape:deskcolor="#333333" inkscape:document-units="px" showgrid="true" - inkscape:zoom="30.711708" - inkscape:cx="28.897774" - inkscape:cy="-0.065121744" + inkscape:zoom="15.355854" + inkscape:cx="19.243475" + inkscape:cy="8.921679" inkscape:window-width="1920" inkscape:window-height="1017" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:window-maximized="1" - inkscape:current-layer="g122453">