Compare commits

...

3 commits

Author SHA1 Message Date
Sara 4f525b2b16 fix: bug with player Basis getting weird when stopping
+ some tweaks to the camera
2025-05-28 00:33:43 +02:00
Sara 39dfc96222 feat: optimized tree (slightly) 2025-05-28 00:33:00 +02:00
Sara 02e4a2e3bc feat: redesigned ground texture 2025-05-28 00:32:49 +02:00
12 changed files with 338 additions and 36 deletions

View file

@ -132,7 +132,7 @@
"y": 317.725281
},
"parameters": {
"count": 153,
"count": 91,
"opacity": 0.46,
"rotate": 33.6,
"scale": 0,
@ -141,7 +141,7 @@
"select_inputs": 0,
"variations": false
},
"seed_int": 1176364672,
"seed_int": 2284820480,
"seed_locked": true,
"type": "splatter_color"
},
@ -894,7 +894,7 @@
"y": 577.464539
},
"parameters": {
"count": 153,
"count": 91,
"opacity": 0,
"rotate": 33.6,
"scale": 0,
@ -903,7 +903,7 @@
"select_inputs": 0,
"variations": false
},
"seed_int": 1176364672,
"seed_int": 2284820480,
"seed_locked": true,
"type": "splatter_color"
},

View file

@ -30,9 +30,10 @@ void StandingState::physics_process(double delta) {
}
PlayerState::StateID RunningState::get_next_state() const {
Vector3 const velocity{this->get_body()->get_velocity()};
if(!this->get_body()->is_on_floor()) {
return FallingState::get_class_static();
} else if(this->get_body()->get_velocity().is_zero_approx()) {
} else if(Vector2{velocity.x, velocity.z}.is_zero_approx()) {
return StandingState::get_class_static();
} else if(Input::get_singleton()->is_action_just_pressed(PlayerBody::split_step_action) && this->get_body()->get_velocity().length() > this->get_body()->get_min_step_speed()) {
return SplitStepState::get_class_static();
@ -46,8 +47,8 @@ void RunningState::state_entered() {
}
void RunningState::process(double delta) {
if(!this->get_body()->get_velocity().is_zero_approx()) {
Vector3 const current{this->get_body()->get_velocity()};
Vector3 const current{this->get_body()->get_velocity()};
if(!current.is_zero_approx()) {
Vector3 const cross{Vector3{0.f, 1.f, 0.f}.cross(current).normalized()};
Vector3 const desired_direction{this->get_body()->get_desired_direction()};
this->lean_modifier = Math::move_toward(
@ -55,8 +56,11 @@ void RunningState::process(double delta) {
cross.dot(desired_direction) * this->get_body()->get_model_lean(),
float(this->get_body()->get_model_lean_speed() * delta)
);
Vector3 up{Vector3{0.0, 1.0, 0.0} + cross * this->lean_modifier};
this->get_body()->get_model()->look_at(this->get_body()->get_global_position() - current, up);
Vector3 const up{Vector3{0.0, 1.0, 0.0} + Vector3{cross.x, 0.f, cross.y} * this->lean_modifier};
Vector3 const forward{current.x, 0.f, current.z};
if(!forward.is_zero_approx()) {
this->get_body()->get_model()->look_at(this->get_body()->get_global_position() - current, up);
}
}
}
@ -75,7 +79,11 @@ void RunningState::physics_process(double delta) {
}
void RunningState::state_exited() {
this->get_body()->get_model()->look_at(this->get_body()->get_global_position() - this->get_body()->get_velocity());
Vector3 const velocity{this->get_body()->get_velocity()};
Vector3 const velocity_flat{velocity.x, 0.f, velocity.z};
if(!velocity_flat.is_zero_approx()) {
this->get_body()->get_model()->look_at(this->get_body()->get_global_position() - velocity_flat);
}
this->lean_modifier = 0.f;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 MiB

After

Width:  |  Height:  |  Size: 5.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 MiB

After

Width:  |  Height:  |  Size: 8.4 MiB

View file

@ -3,32 +3,33 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://boxhd026e1ohc"
path="res://.godot/imported/forest_background_normal.png-cc0828bc4cebd94b47dfb57e8f90a93e.ctex"
path.s3tc="res://.godot/imported/forest_background_normal.png-cc0828bc4cebd94b47dfb57e8f90a93e.s3tc.ctex"
metadata={
"vram_texture": false
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://materials/forest_background_normal.png"
dest_files=["res://.godot/imported/forest_background_normal.png-cc0828bc4cebd94b47dfb57e8f90a93e.ctex"]
dest_files=["res://.godot/imported/forest_background_normal.png-cc0828bc4cebd94b47dfb57e8f90a93e.s3tc.ctex"]
[params]
compress/mode=0
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=false
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
roughness/mode=1
roughness/src_normal="res://materials/forest_background_normal.png"
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
detect_3d/compress_to=0

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -35,9 +35,18 @@ import_script/path=""
_subresources={
"materials": {
"Terrain": {
"use_external/enabled": true,
"use_external/enabled": false,
"use_external/path": "uid://5knww03rsy1a"
}
},
"nodes": {
"PATH:entrance": {
"mesh_instance/cast_shadow": 2
},
"PATH:ground-occ": {
"generate/occluder": 1,
"mesh_instance/cast_shadow": 2
}
}
}
blender/nodes/visible=0

Binary file not shown.

View file

@ -9,7 +9,7 @@ height = 2.15448
[sub_resource type="GDScript" id="GDScript_eqqp1"]
script/source = "extends Camera3D
@export var dist : float = 2.0
@export var pivot_height : float = 3.0
@export var pivot_height : float = 1.0
@export var look_target_height : float = 1.0
func _ready():
@ -23,8 +23,7 @@ func _process(_delta):
[node name="Player" type="PlayerBody"]
wall_min_slide_angle = 0.785398
floor_max_angle = 0.968658
floor_snap_length = 1.5
floor_max_angle = 0.460767
[node name="PlayerStateMachine" type="PlayerStateMachine" parent="."]
@ -36,8 +35,8 @@ shape = SubResource("CapsuleShape3D_bxedw")
transform = Transform3D(-1, -6.18173e-08, -6.18173e-08, -6.71313e-08, 0.99594, 0.0900246, 5.60012e-08, 0.0900246, -0.99594, 3.76484e-07, 1.43409, -2.96511)
fov = 100.0
script = SubResource("GDScript_eqqp1")
dist = 1.5
pivot_height = 2.5
dist = 1.75
pivot_height = 2.0
look_target_height = 1.5
[node name="character" parent="." instance=ExtResource("1_eqqp1")]

View file

@ -1,24 +1,309 @@
[gd_scene load_steps=3 format=3 uid="uid://sofv1apr4467"]
[gd_scene load_steps=7 format=3 uid="uid://sofv1apr4467"]
[ext_resource type="PackedScene" uid="uid://5cfl3xu1861l" path="res://models/terrains/level.blend" id="1_ch7jd"]
[ext_resource type="PackedScene" uid="uid://dcgsrdacswacl" path="res://objects/player.tscn" id="2_pvuhy"]
[ext_resource type="PackedScene" uid="uid://dqjurq1nq1fle" path="res://objects/tre.tscn" id="3_lj5yw"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_pvuhy"]
sky_top_color = Color(0.0825, 0.277292, 0.55, 1)
sky_horizon_color = Color(0.4422, 0.529523, 0.67, 1)
ground_bottom_color = Color(0.132, 0.2, 0.134267, 1)
ground_horizon_color = Color(0.4087, 0.508865, 0.67, 1)
[sub_resource type="Sky" id="Sky_x4b8f"]
sky_material = SubResource("ProceduralSkyMaterial_pvuhy")
[sub_resource type="Environment" id="Environment_lj5yw"]
background_mode = 2
sky = SubResource("Sky_x4b8f")
ambient_light_source = 3
[node name="Valley" type="Node3D"]
[node name="level" parent="." instance=ExtResource("1_ch7jd")]
[node name="Player" parent="." instance=ExtResource("2_pvuhy")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 523.554, 26.0153, -0.09375)
transform = Transform3D(0.99745, 0, 0.0713757, 0, 1, 0, -0.0713757, 0, 0.99745, 4.57328, 0.0706022, -40.0223)
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, -0.740828, 0.671695, 0, -0.671695, -0.740828, 0, 6.05439, 0)
shadow_enabled = true
shadow_normal_bias = 9.168
shadow_reverse_cull_face = true
shadow_blur = 0.973
directional_shadow_split_1 = 0.009
directional_shadow_split_2 = 0.173
directional_shadow_split_3 = 0.73
directional_shadow_fade_start = 0.712
directional_shadow_max_distance = 1010.0
directional_shadow_pancake_size = 1.7
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_lj5yw")
[node name="Node3D" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.583853, 0, 0.811859, 0, 1, 0, -0.811859, 0, -0.583853, 15.6154, 1.23662, 45.4222)
[node name="Node3D18" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.583853, 0, 0.811859, 0, 1, 0, -0.811859, 0, -0.583853, 13.7156, 1.23662, 49.7733)
[node name="Node3D20" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.880138, 0, 0.474718, 0, 1, 0, -0.474718, 0, -0.880138, 13.7156, 1.23662, 54.7037)
[node name="Node3D23" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.635459, 0, 0.772135, 0, 1, 0, -0.772135, 0, -0.635459, 13.5623, 1.23662, 60.5792)
[node name="Node3D2" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.583853, 0, 0.811859, 0, 1, 0, -0.811859, 0, -0.583853, 13.7278, 1.31703, 30.075)
[node name="Node3D3" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.806857, 0, 0.590747, 0, 1, 0, -0.590747, 0, -0.806857, 12.9538, 1.31703, 24.3136)
[node name="Node3D4" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.127411, 0, 0.99185, 0, 1, 0, -0.99185, 0, -0.127411, 12.4476, 1.31703, 20.4107)
[node name="Node3D60" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.361966, 0, 0.932191, 0, 1, 0, -0.932191, 0, -0.361966, 11.4033, 1.31703, 15.804)
[node name="Node3D5" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.997162, 0, 0.0752921, 0, 1, 0, -0.0752921, 0, -0.997162, 9.69094, 1.31703, 8.98693)
[node name="Node3D17" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.729256, 0, -0.684242, 0, 1, 0, 0.684242, 0, -0.729256, 25.3264, 1.31703, 1.97371)
[node name="Node3D19" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.63905, 0, -0.769166, 0, 1, 0, 0.769166, 0, -0.63905, 36.3753, 1.31703, 4.2828)
[node name="Node3D7" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.774713, -3.01105e-08, 0.632313, -2.43482e-08, 1, 7.74511e-08, -0.632313, -7.5398e-08, 0.774713, 17.5999, 1.31703, 11.2755)
[node name="Node3D21" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.87511, -1.61731e-08, 0.483924, -2.43482e-08, 1, 7.74511e-08, -0.483924, -7.95609e-08, 0.87511, 13.5795, 1.31703, 10.1914)
[node name="Node3D8" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.990129, -9.36775e-09, 0.140158, -2.83538e-09, 1, 8.68673e-08, -0.140158, -8.64072e-08, 0.990129, 21.7395, 1.31703, 12.588)
[node name="Node3D9" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.883251, -2.3345e-08, 0.468901, -1.72052e-08, 1, 8.21955e-08, -0.468901, -8.06667e-08, 0.883251, 29.2016, 1.31703, 14.1554)
[node name="Node3D22" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.883251, -2.3345e-08, 0.468901, -1.72052e-08, 1, 8.21955e-08, -0.468901, -8.06667e-08, 0.883251, 25.1788, 1.31703, 13.2617)
[node name="Node3D10" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.988712, 3.27667e-09, -0.149829, 9.84035e-09, 1, 8.68053e-08, 0.149829, -8.72998e-08, 0.988712, 33.2686, 1.31703, 14.9202)
[node name="Node3D24" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.284517, -8.60175e-08, 0.958671, 9.84035e-09, 1, 8.68053e-08, -0.958671, -1.5264e-08, 0.284517, 47.1465, 1.31703, 18.4804)
[node name="Node3D25" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.539903, -3.46608e-08, 0.841728, 1.49521e-08, 1, 5.07688e-08, -0.841728, 3.99958e-08, -0.539903, 44.5556, 1.31703, 25.3502)
[node name="Node3D26" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.0709578, -7.05095e-08, 0.99748, 8.14398e-09, 1, 7.1267e-08, -0.99748, 1.31804e-08, -0.0709578, 40.3404, 1.31703, 33.6466)
[node name="Node3D27" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.277952, -8.58208e-08, 0.960595, 9.75624e-09, 1, 8.65183e-08, -0.960595, -1.46761e-08, 0.277952, 32.1964, 1.31703, 38.7791)
[node name="Node3D28" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.123532, -8.01912e-08, 0.992341, 8.3686e-09, 1, 7.97684e-08, -0.992341, -1.54947e-09, 0.123532, 23.0555, 1.31703, 42.1936)
[node name="Node3D29" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.819882, -8.50034e-08, 0.572532, 2.6719e-08, 1, 1.10207e-07, -0.572532, -7.50591e-08, 0.819882, 53.0963, 1.31703, 17.6928)
[node name="Node3D30" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.862249, -8.22838e-08, 0.506485, 2.9606e-08, 1, 1.12059e-07, -0.506485, -8.16275e-08, 0.862249, 61.9833, 1.31704, 21.3272)
[node name="Node3D31" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.887599, -8.01845e-08, 0.460618, 3.16109e-08, 1, 1.13167e-07, -0.460618, -8.58861e-08, 0.887599, 70.3985, 1.31703, 24.3416)
[node name="Node3D32" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.925203, -7.60956e-08, 0.379472, 3.51579e-08, 1, 1.14811e-07, -0.379472, -9.28816e-08, 0.925203, 78.8481, 1.31703, 27.2798)
[node name="Node3D49" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.925203, -7.60956e-08, 0.379472, 3.51579e-08, 1, 1.14811e-07, -0.379472, -9.28816e-08, 0.925203, 73.5335, 1.60083, 32.52)
[node name="Node3D63" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.853969, 2.9715e-08, -0.520324, 3.51579e-08, 1, 1.14811e-07, 0.520324, -1.16338e-07, 0.853969, 81.8453, 1.65131, 44.8753)
[node name="Node3D79" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.853969, 2.9715e-08, -0.520324, 3.51579e-08, 1, 1.14811e-07, 0.520324, -1.16338e-07, 0.853969, 76.6378, 4.23415, 48.4096)
[node name="Node3D85" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.853969, 2.9715e-08, -0.520324, 3.51579e-08, 1, 1.14811e-07, 0.520324, -1.16338e-07, 0.853969, 76.5773, 5.16956, 40.8967)
[node name="Node3D64" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.853969, 2.9715e-08, -0.520324, 3.51579e-08, 1, 1.14811e-07, 0.520324, -1.16338e-07, 0.853969, 82.4687, 1.16971, 35.6958)
[node name="Node3D65" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.354732, 9.48726e-08, -0.934968, 3.51579e-08, 1, 1.14811e-07, 0.934968, -7.35985e-08, 0.354732, 81.5022, 1.26067, 54.9918)
[node name="Node3D66" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.217615, 1.04408e-07, -0.976035, 3.51579e-08, 1, 1.14811e-07, 0.976035, -5.92999e-08, 0.217615, 83.5242, 1.26067, 66.5286)
[node name="Node3D69" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.217615, 1.04408e-07, -0.976035, 3.51579e-08, 1, 1.14811e-07, 0.976035, -5.92999e-08, 0.217615, 75.4346, 1.26067, 67.7428)
[node name="Node3D70" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.217615, 1.04408e-07, -0.976035, 3.51579e-08, 1, 1.14811e-07, 0.976035, -5.92999e-08, 0.217615, 75.8122, 1.26067, 60.0524)
[node name="Node3D80" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.217615, 1.04408e-07, -0.976035, 3.51579e-08, 1, 1.14811e-07, 0.976035, -5.92999e-08, 0.217615, 75.0123, 3.77203, 53.4463)
[node name="Node3D81" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.217615, 1.04408e-07, -0.976035, 3.51579e-08, 1, 1.14811e-07, 0.976035, -5.92999e-08, 0.217615, 66.5641, 3.55283, 69.4585)
[node name="Node3D89" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.217615, 1.04408e-07, -0.976035, 3.51579e-08, 1, 1.14811e-07, 0.976035, -5.92999e-08, 0.217615, 69.6701, 3.37301, 62.7934)
[node name="Node3D84" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.910323, 1.55149e-08, -0.413899, 3.51579e-08, 1, 1.14811e-07, 0.413899, -1.19067e-07, 0.910323, 65.0918, 2.76686, 84.3136)
[node name="Node3D67" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.217615, 1.04408e-07, -0.976035, 3.51579e-08, 1, 1.14811e-07, 0.976035, -5.92999e-08, 0.217615, 80.8572, 1.26067, 72.2901)
[node name="Node3D68" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.573348, 7.3908e-08, -0.819312, 3.51579e-08, 1, 1.14811e-07, 0.819312, -9.46317e-08, 0.573348, 78.4961, 1.26067, 80.3193)
[node name="Node3D82" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.573348, 7.3908e-08, -0.819312, 3.51579e-08, 1, 1.14811e-07, 0.819312, -9.46317e-08, 0.573348, 69.7253, 1.26067, 78.5492)
[node name="Node3D83" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.874772, 2.48746e-08, -0.484535, 3.51579e-08, 1, 1.14811e-07, 0.484535, -1.17468e-07, 0.874772, 73.4428, 1.26067, 86.586)
[node name="Node3D74" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.832099, 3.44221e-08, -0.554627, 3.51579e-08, 1, 1.14811e-07, 0.554627, -1.15033e-07, 0.832099, 79.931, 1.26067, 88.352)
[node name="Node3D75" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.994766, -2.3242e-08, -0.102185, 3.51579e-08, 1, 1.14811e-07, 0.102185, -1.17802e-07, 0.994766, 82.1535, 1.26067, 94.2797)
[node name="Node3D76" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.996752, 4.42894e-08, -0.0805294, 3.51579e-08, 1, 1.14811e-07, 0.0805294, 1.11606e-07, -0.996752, 93.2526, 1.26067, 89.5037)
[node name="Node3D77" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.889632, -2.1154e-08, 0.456679, 3.51579e-08, 1, 1.14811e-07, -0.456679, 1.18195e-07, -0.889632, 96.8747, 1.26067, 83.8684)
[node name="Node3D52" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.925203, -7.60956e-08, 0.379472, 3.51579e-08, 1, 1.14811e-07, -0.379472, -9.28816e-08, 0.925203, 57.8456, 1.35763, 29.0741)
[node name="Node3D55" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.925203, -7.60956e-08, 0.379472, 3.51579e-08, 1, 1.14811e-07, -0.379472, -9.28816e-08, 0.925203, 65.9098, 1.67732, 28.9301)
[node name="Node3D56" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.262273, -1.0157e-07, 0.964994, 3.51579e-08, 1, 1.14811e-07, -0.964994, 6.40389e-08, -0.262273, 24.6784, 2.37762, 59.7155)
[node name="Node3D86" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.262273, -1.0157e-07, 0.964994, 3.51579e-08, 1, 1.14811e-07, -0.964994, 6.40389e-08, -0.262273, 18.7966, 0.853164, 61.4759)
[node name="Node3D87" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.262273, -1.0157e-07, 0.964994, 3.51579e-08, 1, 1.14811e-07, -0.964994, 6.40389e-08, -0.262273, 21.7753, 1.18729, 49.1584)
[node name="Node3D88" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.262273, -1.0157e-07, 0.964994, 3.51579e-08, 1, 1.14811e-07, -0.964994, 6.40389e-08, -0.262273, 18.4983, 1.18729, 52.6066)
[node name="Node3D57" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.981618, 1.25988e-08, 0.190861, 3.51579e-08, 1, 1.14811e-07, -0.190861, 1.1941e-07, -0.981618, 33.2863, 3.25567, 46.3722)
[node name="Node3D59" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.262273, -1.0157e-07, 0.964994, 3.51579e-08, 1, 1.14811e-07, -0.964994, 6.40389e-08, -0.262273, 25.0965, 2.2547, 55.4365)
[node name="Node3D58" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.27713, 1.20057e-07, -0.960833, 3.51579e-08, 1, 1.14811e-07, 0.960833, -1.96341e-09, -0.27713, 42.17, 1.54121, 39.0659)
[node name="Node3D53" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.437132, -8.78917e-08, 0.899398, 3.51579e-08, 1, 1.14811e-07, -0.899398, 8.18083e-08, -0.437132, 49.8716, 1.23147, 32.2861)
[node name="Node3D54" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.437132, -8.78917e-08, 0.899398, 3.51579e-08, 1, 1.14811e-07, -0.899398, 8.18083e-08, -0.437132, 51.6907, 1.23147, 24.7903)
[node name="Node3D33" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.983757, -6.42543e-08, 0.179506, 4.38987e-08, 1, 1.1737e-07, -0.179506, -1.07583e-07, 0.983757, 85.1805, 1.31703, 30.1392)
[node name="Node3D34" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.892822, -1.27028e-08, -0.45041, 7.14332e-08, 1, 1.13395e-07, 0.45041, -1.33416e-07, 0.892822, 90.217, 1.31703, 32.7809)
[node name="Node3D41" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.773464, -1.66233e-08, 0.63384, 7.14332e-08, 1, 1.13395e-07, -0.63384, 1.32984e-07, -0.773464, 108.011, 1.31703, 36.0218)
[node name="Node3D42" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.962998, 3.82291e-08, 0.269508, 7.14332e-08, 1, 1.13395e-07, -0.269508, 1.28451e-07, -0.962998, 103.38, 1.31703, 30.3758)
[node name="Node3D78" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.942869, 1.05131e-07, -0.333165, 7.14332e-08, 1, 1.13395e-07, 0.333165, 8.31176e-08, -0.942869, 99.4241, 1.31703, 23.1234)
[node name="Node3D48" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.596673, -1.3362e-07, 0.802485, 7.14332e-08, 1, 1.13395e-07, -0.802485, -1.03358e-08, 0.596673, 108.921, 1.35799, 29.4322)
[node name="Node3D43" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.84233, -9.45299e-10, 0.538962, 7.14332e-08, 1, 1.13395e-07, -0.538962, 1.34016e-07, -0.84233, 108.139, 1.31703, 40.98)
[node name="Node3D44" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.84233, -9.45299e-10, 0.538962, 7.14332e-08, 1, 1.13395e-07, -0.538962, 1.34016e-07, -0.84233, 104.391, 1.31703, 46.5612)
[node name="Node3D45" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.84233, -9.45299e-10, 0.538962, 7.14332e-08, 1, 1.13395e-07, -0.538962, 1.34016e-07, -0.84233, 103.169, 1.31703, 51.5561)
[node name="Node3D46" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.84233, -9.45299e-10, 0.538962, 7.14332e-08, 1, 1.13395e-07, -0.538962, 1.34016e-07, -0.84233, 105.126, 1.31703, 58.6679)
[node name="Node3D50" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.84233, -9.45299e-10, 0.538962, 7.14332e-08, 1, 1.13395e-07, -0.538962, 1.34016e-07, -0.84233, 113.375, 2.93283, 61.928)
[node name="Node3D92" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.991884, 8.52718e-08, -0.127151, 7.14333e-08, 1, 1.13395e-07, 0.127151, 1.03392e-07, -0.991884, 108.002, 1.60901, 67.8028)
[node name="Node3D93" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.991884, 8.52718e-08, -0.127151, 7.14333e-08, 1, 1.13395e-07, 0.127151, 1.03392e-07, -0.991884, 103.059, 1.61936, 72.7256)
[node name="Node3D51" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.84233, -9.45299e-10, 0.538962, 7.14332e-08, 1, 1.13395e-07, -0.538962, 1.34016e-07, -0.84233, 114.037, 1.87432, 50.365)
[node name="Node3D90" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.84233, -9.45299e-10, 0.538962, 7.14332e-08, 1, 1.13395e-07, -0.538962, 1.34016e-07, -0.84233, 116.797, 2.06606, 39.937)
[node name="Node3D91" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.98307, 4.94464e-08, 0.183231, 7.14333e-08, 1, 1.13395e-07, -0.183231, 1.24564e-07, -0.98307, 114.973, 1.68037, 31.6838)
[node name="Node3D47" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.84233, -9.45299e-10, 0.538962, 7.14332e-08, 1, 1.13395e-07, -0.538962, 1.34016e-07, -0.84233, 99.6555, 1.31703, 60.9619)
[node name="Node3D71" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.84233, -9.45299e-10, 0.538962, 7.14332e-08, 1, 1.13395e-07, -0.538962, 1.34016e-07, -0.84233, 97.3573, 1.31703, 66.5559)
[node name="Node3D72" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.84233, -9.45299e-10, 0.538962, 7.14332e-08, 1, 1.13395e-07, -0.538962, 1.34016e-07, -0.84233, 93.6152, 1.31703, 73.618)
[node name="Node3D73" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.84233, -9.45299e-10, 0.538962, 7.14332e-08, 1, 1.13395e-07, -0.538962, 1.34016e-07, -0.84233, 91.0976, 1.31703, 79.5927)
[node name="Node3D35" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.759272, 1.95574e-08, -0.650774, 7.14332e-08, 1, 1.13395e-07, 0.650774, -1.32585e-07, 0.759272, 93.4723, 1.31703, 37.2277)
[node name="Node3D36" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.200428, 9.67769e-08, -0.979709, 7.14332e-08, 1, 1.13395e-07, 0.979709, -9.27113e-08, 0.200428, 93.2384, 1.31703, 42.1684)
[node name="Node3D37" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.200428, 9.67769e-08, -0.979709, 7.14332e-08, 1, 1.13395e-07, 0.979709, -9.27113e-08, 0.200428, 92.2249, 1.31703, 46.2442)
[node name="Node3D38" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.200428, 9.67769e-08, -0.979709, 7.14332e-08, 1, 1.13395e-07, 0.979709, -9.27113e-08, 0.200428, 88.1267, 1.31703, 52.0851)
[node name="Node3D40" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.200428, 9.67769e-08, -0.979709, 7.14332e-08, 1, 1.13395e-07, 0.979709, -9.27113e-08, 0.200428, 86.3157, 1.31703, 61.2705)
[node name="Node3D11" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.172943, 8.37955e-08, -0.984932, 9.84035e-09, 1, 8.68053e-08, 0.984932, -2.47045e-08, 0.172943, 32.4361, 1.31703, 17.5855)
[node name="Node3D12" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.622665, 6.17969e-08, -0.782489, 9.84035e-09, 1, 8.68053e-08, 0.782489, -6.17505e-08, 0.622665, 31.0509, 1.31703, 22.4631)
[node name="Node3D13" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.0878859, 8.73342e-08, -0.996131, 9.84035e-09, 1, 8.68053e-08, 0.996131, -2.17329e-09, -0.0878859, 30.0018, 1.31703, 26.6093)
[node name="Node3D14" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.498624, 8.0151e-08, -0.866819, 9.84035e-09, 1, 8.68053e-08, 0.866819, 3.47534e-08, -0.498624, 25.0543, 1.31703, 29.0264)
[node name="Node3D15" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.498624, 8.0151e-08, -0.866819, 9.84035e-09, 1, 8.68053e-08, 0.866819, 3.47534e-08, -0.498624, 20.3024, 1.31703, 30.2006)
[node name="Node3D16" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.498624, 8.0151e-08, -0.866819, 9.84035e-09, 1, 8.68053e-08, 0.866819, 3.47534e-08, -0.498624, 16.6874, 1.31703, 31.2451)
[node name="Node3D6" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.225869, 0, 0.974158, 0, 1, 0, -0.974158, 0, -0.225869, 21.059, 1.31703, 18.7848)
[node name="Node3D61" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.990244, 0, -0.139346, 0, 1, 0, 0.139346, 0, -0.990244, 20.4197, 1.31703, 23.4878)
[node name="Node3D62" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.950375, 0, 0.311108, 0, 1, 0, -0.311108, 0, -0.950375, 28.1805, 1.31703, 19.1872)