diff --git a/Screenshots/.gdignore b/Screenshots/.gdignore deleted file mode 100644 index e69de29..0000000 diff --git a/Screenshots/Godot_icon.png b/Screenshots/Godot_icon.png deleted file mode 100644 index 6f89a70..0000000 --- a/Screenshots/Godot_icon.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3d5ea98efcc1cf3bc04cff0c127ffbfbfe7bfd3794b90ac386bca38d76a624dd -size 11660 diff --git a/Screenshots/Godot_icon.svg b/Screenshots/Godot_icon.svg deleted file mode 100644 index c793eb9..0000000 --- a/Screenshots/Godot_icon.svg +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Screenshots/Mirror.png b/Screenshots/Mirror.png deleted file mode 100644 index 07ce30c..0000000 --- a/Screenshots/Mirror.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5de1986bc95588b6dc359717220982f4bcf7554a7afd23dc9d21a40edf00b8eb -size 50035 diff --git a/addons/kenney_prototype_textures/red/texture_02.png.import b/addons/kenney_prototype_textures/red/texture_02.png.import index 74ea56a..b6e0636 100644 --- a/addons/kenney_prototype_textures/red/texture_02.png.import +++ b/addons/kenney_prototype_textures/red/texture_02.png.import @@ -3,25 +3,26 @@ importer="texture" type="CompressedTexture2D" uid="uid://coqym2otrhygu" -path="res://.godot/imported/texture_02.png-bb6eefc15212ba5b8098e9e672c21f12.ctex" +path.s3tc="res://.godot/imported/texture_02.png-bb6eefc15212ba5b8098e9e672c21f12.s3tc.ctex" metadata={ -"vram_texture": false +"imported_formats": ["s3tc_bptc"], +"vram_texture": true } [deps] source_file="res://addons/kenney_prototype_textures/red/texture_02.png" -dest_files=["res://.godot/imported/texture_02.png-bb6eefc15212ba5b8098e9e672c21f12.ctex"] +dest_files=["res://.godot/imported/texture_02.png-bb6eefc15212ba5b8098e9e672c21f12.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/channel_pack=0 -mipmaps/generate=false +mipmaps/generate=true mipmaps/limit=-1 roughness/mode=0 roughness/src_normal="" @@ -31,4 +32,4 @@ 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 diff --git a/assets/crosshairs/crosshair_default.png b/assets/crosshairs/crosshair_default.png new file mode 100644 index 0000000..d1b7741 --- /dev/null +++ b/assets/crosshairs/crosshair_default.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:032d87f216cc54bc67a3567c3d9e8c304c1861bd5ee8736a8c52018d891cfa0a +size 191 diff --git a/assets/crosshairs/crosshair_default.png.import b/assets/crosshairs/crosshair_default.png.import new file mode 100644 index 0000000..ea1791c --- /dev/null +++ b/assets/crosshairs/crosshair_default.png.import @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d150cea28056bba49152d170fe97e27d344b3aa2c98ce5eaf41b78a0f3c3189 +size 802 diff --git a/project.godot b/project.godot index 866ddde..7fb872c 100644 --- a/project.godot +++ b/project.godot @@ -30,6 +30,11 @@ window/size/borderless=true import/blender/enabled=false +[global_group] + +body="" +target="" + [input] move_left={ diff --git a/scenes/characters/blue/dummy.gd b/scenes/characters/blue/dummy.gd new file mode 100644 index 0000000..3c3f6e5 --- /dev/null +++ b/scenes/characters/blue/dummy.gd @@ -0,0 +1,16 @@ +extends Node3D + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass + + +func _on_head_collision_body_part_hit(dam: Variant) -> void: + print("head is hit") + pass # Replace with function body. diff --git a/scenes/characters/blue/dummy.tscn b/scenes/characters/blue/dummy.tscn index cd833fa..d594a47 100644 --- a/scenes/characters/blue/dummy.tscn +++ b/scenes/characters/blue/dummy.tscn @@ -1,4 +1,7 @@ -[gd_scene load_steps=9 format=4 uid="uid://1txob6jskn5s"] +[gd_scene load_steps=12 format=4 uid="uid://1txob6jskn5s"] + +[ext_resource type="Script" path="res://scenes/characters/blue/dummy.gd" id="1_cyeub"] +[ext_resource type="Script" path="res://scenes/characters/blue/head_collision.gd" id="1_lianf"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gqjtb"] resource_name = "Alpha_Joints_MAT" @@ -255,6 +258,10 @@ blend_shape_mode = 0 [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_j3emx"] albedo_color = Color(0, 0, 1, 1) +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_k5bjr"] +radius = 11.245 +height = 27.8 + [sub_resource type="Animation" id="Animation_6g1lc"] resource_name = "Run Forward" length = 0.533333 @@ -861,6 +868,7 @@ _data = { [node name="Dummy" type="Node3D"] transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0) +script = ExtResource("1_cyeub") [node name="Body" type="Node3D" parent="."] @@ -1333,7 +1341,25 @@ mesh = SubResource("ArrayMesh_8h4ki") skin = SubResource("Skin_hwx5g") surface_material_override/0 = SubResource("StandardMaterial3D_j3emx") +[node name="HitCollisions" type="Node3D" parent="Body/Armature/Skeleton3D"] + +[node name="BoneAttachment3D" type="BoneAttachment3D" parent="Body/Armature/Skeleton3D"] +transform = Transform3D(0.978017, -0.176546, -0.110972, 0.15839, 0.282801, 0.94601, -0.135631, -0.942791, 0.304547, -11.8203, 17.7472, -135.936) +bone_name = "mixamorig_Head" +bone_idx = 5 + +[node name="HeadCollision" type="Area3D" parent="Body/Armature/Skeleton3D/BoneAttachment3D" groups=["body"]] +transform = Transform3D(9.90229, 1.3945, -6.09554e-08, 0, -4.37114e-07, -10, -1.3945, 9.90229, -4.32843e-07, 0.58762, 7.43451, 1.4646) +script = ExtResource("1_lianf") + +[node name="Collision" type="CollisionShape3D" parent="Body/Armature/Skeleton3D/BoneAttachment3D/HeadCollision"] +shape = SubResource("CapsuleShape3D_k5bjr") + +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Body/Armature/Skeleton3D/BoneAttachment3D"] + [node name="AnimationPlayer" type="AnimationPlayer" parent="Body"] libraries = { "": SubResource("AnimationLibrary_dbxeu") } + +[connection signal="body_part_hit" from="Body/Armature/Skeleton3D/BoneAttachment3D/HeadCollision" to="." method="_on_head_collision_body_part_hit"] diff --git a/scenes/characters/blue/head_collision.gd b/scenes/characters/blue/head_collision.gd new file mode 100644 index 0000000..bf7356b --- /dev/null +++ b/scenes/characters/blue/head_collision.gd @@ -0,0 +1,16 @@ +extends Area3D + +@export var damage: int = 100 + +signal body_part_hit(dam) +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass + +func hit(): + emit_signal("body_part_hit", damage) diff --git a/scenes/characters/placeholder.tscn b/scenes/characters/placeholder.tscn index 7aae069..0ee0ad7 100644 --- a/scenes/characters/placeholder.tscn +++ b/scenes/characters/placeholder.tscn @@ -1,6 +1,7 @@ -[gd_scene load_steps=8 format=3 uid="uid://b10lpwfjgxds4"] +[gd_scene load_steps=9 format=3 uid="uid://b10lpwfjgxds4"] [ext_resource type="Script" path="res://scripts/player/player_input_controller.gd" id="1_q75ai"] +[ext_resource type="Texture2D" uid="uid://oopj5mj1vdp0" path="res://assets/crosshairs/crosshair_default.png" id="2_lsd7c"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_jc50w"] radius = 0.3 @@ -90,7 +91,11 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.609154, 0) fov = 40.0 [node name="BulletStartingPoint" type="Node3D" parent="FirstPersonCameraMount"] -transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, -0.343115) +transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, -0.42185) + +[node name="AimRay" type="RayCast3D" parent="FirstPersonCameraMount/BulletStartingPoint"] +target_position = Vector3(0, 0, 1000) +hit_from_inside = true [node name="GunMount" type="Node3D" parent="FirstPersonCameraMount"] @@ -99,5 +104,31 @@ libraries = { "": SubResource("AnimationLibrary_u1b6p") } +[node name="HUD" type="Control" parent="FirstPersonCameraMount"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 8.0 +offset_right = 8.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 + +[node name="TextureRect" type="TextureRect" parent="FirstPersonCameraMount/HUD"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -36.0 +offset_top = -36.0 +offset_right = 36.0 +offset_bottom = 36.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("2_lsd7c") + [node name="ModelMount" type="Node3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.790262, 0) diff --git a/scenes/maps/csg_box_3d.gd b/scenes/maps/csg_box_3d.gd new file mode 100644 index 0000000..0c4ca5d --- /dev/null +++ b/scenes/maps/csg_box_3d.gd @@ -0,0 +1,15 @@ +extends CSGBox3D + +var health = 5 + +func take_damage(): + health -= 1 +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + if health < 1: + queue_free() diff --git a/scenes/maps/el_test.tscn b/scenes/maps/el_test.tscn index 6dcfaee..747e82c 100644 --- a/scenes/maps/el_test.tscn +++ b/scenes/maps/el_test.tscn @@ -1,7 +1,839 @@ -[gd_scene load_steps=5 format=3 uid="uid://c1v6kb00y77ij"] +[gd_scene load_steps=81 format=4 uid="uid://c1v6kb00y77ij"] [ext_resource type="Script" path="res://scenes/maps/el_test.gd" id="1_d5e7i"] -[ext_resource type="PackedScene" uid="uid://clp0pm3nxovxc" path="res://assets/models/maps/el_test.glb" id="2_cnkr5"] +[ext_resource type="Texture2D" uid="uid://60qg81svnxfd" path="res://assets/models/maps/el_test_Image_0.png" id="2_o6seo"] +[ext_resource type="Texture2D" uid="uid://blj7gvw33u8qd" path="res://assets/models/maps/el_test_Image_1.png" id="3_7c4ej"] +[ext_resource type="Texture2D" uid="uid://to0g5ktan37x" path="res://assets/models/maps/el_test_Image_2.png" id="4_03be1"] +[ext_resource type="Script" path="res://scenes/maps/csg_box_3d.gd" id="5_3oqpw"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1on1b"] +resource_name = "Orange_Playground_Base_Color" +cull_mode = 2 +albedo_texture = ExtResource("2_o6seo") +roughness = 0.6 + +[sub_resource type="ArrayMesh" id="ArrayMesh_q7wvg"] +_surfaces = [{ +"aabb": AABB(-100, 0, -100, 100, 500, 100), +"format": 34896613377, +"index_count": 36, +"index_data": PackedByteArray("AAACAAEAAAADAAIAAwAEAAIAAwAFAAQABQAGAAQABQAHAAYABwABAAYABwAAAAEAAQAEAAYAAQACAAQABwADAAAABwAFAAMA"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 8, +"vertex_data": PackedByteArray("//8AAP//AAD///////8AAAAA/////wAAAAAAAP//AAAAAP//AAAAAAAAAAAAAAAA/////wAAAAD//wAAAAAAAA==") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_kw7ro"] +resource_name = "el_test_Cube__10__Orange_Playground_Base_Color_0" +_surfaces = [{ +"aabb": AABB(-100, 0, -100, 100, 500, 100), +"attribute_data": PackedByteArray("/3//f/9//3//f////3///wAA//8AAP//AAD/fwAA/3//f/9//3//f/9/////f///AAD//wAA//8AAP9/AAD/f////3////9/////////////f////3////9//3//f/9/////f////3////////////9/////f////3//f/9//3//f/9//3//f/9/Zmb/f2Zm//9mZv//Zmb///9/////f/9/Zmb/f2Zm/3//f/9//38AAP9/AAD/fwAAZmYAAGZm"), +"format": 34896613431, +"index_count": 36, +"index_data": PackedByteArray("AAACAAEAAAADAAIABAAGAAUABAAHAAYACAAKAAkACAALAAoADAAOAA0ADAAPAA4AEAASABEAEAATABIAFAAWABUAFAAXABYA"), +"material": SubResource("StandardMaterial3D_1on1b"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(2, 10, 2, 10), +"vertex_count": 24, +"vertex_data": PackedByteArray("//8AAP///n/////////+fwAA//////5/AAAAAP///n8AAAAA////PwAA//////8/AAD//wAA/z8AAAAAAAD/PwAAAAAAAAAAAAD//wAAAAD/////AAAAAP//AAAAAAAA//8AAAAA/z//////AAD/P/////////8///8AAP///z////////8AAP////8AAAAAAAD//wAAAAAAAP////8AAP//AAAAAP8///8AAP///z8AAAAA////PwAAAAAAAP8//3////9/////f////3////9/////f////3////9/////f////3////9/////f////38AAP9/AAD/fwAA/38AAP9//7//f/+//3//v/9//78AAP9/AAD/fwAA/38AAP9/") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_q7wvg") + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_vpgxf"] +data = PackedVector3Array(0, 0, 0, -100, 500, 0, 0, 500, 0, 0, 0, 0, -100, 0, 0, -100, 500, 0, -100, 0, 0, -100, 500, -100, -100, 500, 0, -100, 0, 0, -100, 0, -100, -100, 500, -100, -100, 0, -100, 0, 500, -100, -100, 500, -100, -100, 0, -100, 0, 0, -100, 0, 500, -100, 0, 0, -100, 0, 500, 0, 0, 500, -100, 0, 0, -100, 0, 0, 0, 0, 500, 0, 0, 500, 0, -100, 500, -100, 0, 500, -100, 0, 500, 0, -100, 500, 0, -100, 500, -100, 0, 0, -100, -100, 0, 0, 0, 0, 0, 0, 0, -100, -100, 0, -100, -100, 0, 0) + +[sub_resource type="ArrayMesh" id="ArrayMesh_se1ue"] +_surfaces = [{ +"aabb": AABB(-100, 0, -100, 100, 500, 100), +"format": 34896613377, +"index_count": 36, +"index_data": PackedByteArray("AAACAAEAAAADAAIAAwAEAAIAAwAFAAQABQAGAAQABQAHAAYABwABAAYABwAAAAEAAQAEAAYAAQACAAQABwADAAAABwAFAAMA"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 8, +"vertex_data": PackedByteArray("//8AAP//AAD///////8AAAAA/////wAAAAAAAP//AAAAAP//AAAAAAAAAAAAAAAA/////wAAAAD//wAAAAAAAA==") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_7210i"] +resource_name = "el_test_Cube__11__Orange_Playground_Base_Color_0" +_surfaces = [{ +"aabb": AABB(-100, 0, -100, 100, 500, 100), +"attribute_data": PackedByteArray("/3//f/9//3//f////3///wAA//8AAP//AAD/fwAA/3//f/9//3//f/9/////f///AAD//wAA//8AAP9/AAD/f////3////9/////////////f////3////9//3//f/9/////f////3////////////9/////f////3//f/9//3//f/9//3//f/9/Zmb/f2Zm//9mZv//Zmb///9/////f/9/Zmb/f2Zm/3//f/9//38AAP9/AAD/fwAAZmYAAGZm"), +"format": 34896613431, +"index_count": 36, +"index_data": PackedByteArray("AAACAAEAAAADAAIABAAGAAUABAAHAAYACAAKAAkACAALAAoADAAOAA0ADAAPAA4AEAASABEAEAATABIAFAAWABUAFAAXABYA"), +"material": SubResource("StandardMaterial3D_1on1b"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(2, 10, 2, 10), +"vertex_count": 24, +"vertex_data": PackedByteArray("//8AAP///n/////////+fwAA//////5/AAAAAP///n8AAAAA////PwAA//////8/AAD//wAA/z8AAAAAAAD/PwAAAAAAAAAAAAD//wAAAAD/////AAAAAP//AAAAAAAA//8AAAAA/z//////AAD/P/////////8///8AAP///z////////8AAP////8AAAAAAAD//wAAAAAAAP////8AAP//AAAAAP8///8AAP///z8AAAAA////PwAAAAAAAP8//3////9/////f////3////9/////f////3////9/////f////3////9/////f////38AAP9/AAD/fwAA/38AAP9//7//f/+//3//v/9//78AAP9/AAD/fwAA/38AAP9/") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_se1ue") + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_q5888"] +data = PackedVector3Array(0, 0, 0, -100, 500, 0, 0, 500, 0, 0, 0, 0, -100, 0, 0, -100, 500, 0, -100, 0, 0, -100, 500, -100, -100, 500, 0, -100, 0, 0, -100, 0, -100, -100, 500, -100, -100, 0, -100, 0, 500, -100, -100, 500, -100, -100, 0, -100, 0, 0, -100, 0, 500, -100, 0, 0, -100, 0, 500, 0, 0, 500, -100, 0, 0, -100, 0, 0, 0, 0, 500, 0, 0, 500, 0, -100, 500, -100, 0, 500, -100, 0, 500, 0, -100, 500, 0, -100, 500, -100, 0, 0, -100, -100, 0, 0, 0, 0, 0, 0, 0, -100, -100, 0, -100, -100, 0, 0) + +[sub_resource type="ArrayMesh" id="ArrayMesh_a7ih1"] +_surfaces = [{ +"aabb": AABB(-100, 0, -100, 100, 500, 100), +"format": 34896613377, +"index_count": 36, +"index_data": PackedByteArray("AAACAAEAAAADAAIAAwAEAAIAAwAFAAQABQAGAAQABQAHAAYABwABAAYABwAAAAEAAQAEAAYAAQACAAQABwADAAAABwAFAAMA"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 8, +"vertex_data": PackedByteArray("//8AAP//AAD///////8AAAAA/////wAAAAAAAP//AAAAAP//AAAAAAAAAAAAAAAA/////wAAAAD//wAAAAAAAA==") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_77vh5"] +resource_name = "el_test_Cube__6__Orange_Playground_Base_Color_0" +_surfaces = [{ +"aabb": AABB(-100, 0, -100, 100, 500, 100), +"attribute_data": PackedByteArray("/3//f/9//3//f////3///wAA//8AAP//AAD/fwAA/3//f/9//3//f/9/////f///AAD//wAA//8AAP9/AAD/f////3////9/////////////f////3////9//3//f/9/////f////3////////////9/////f////3//f/9//3//f/9//3//f/9/Zmb/f2Zm//9mZv//Zmb///9/////f/9/Zmb/f2Zm/3//f/9//38AAP9/AAD/fwAAZmYAAGZm"), +"format": 34896613431, +"index_count": 36, +"index_data": PackedByteArray("AAACAAEAAAADAAIABAAGAAUABAAHAAYACAAKAAkACAALAAoADAAOAA0ADAAPAA4AEAASABEAEAATABIAFAAWABUAFAAXABYA"), +"material": SubResource("StandardMaterial3D_1on1b"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(2, 10, 2, 10), +"vertex_count": 24, +"vertex_data": PackedByteArray("//8AAP///n/////////+fwAA//////5/AAAAAP///n8AAAAA////PwAA//////8/AAD//wAA/z8AAAAAAAD/PwAAAAAAAAAAAAD//wAAAAD/////AAAAAP//AAAAAAAA//8AAAAA/z//////AAD/P/////////8///8AAP///z////////8AAP////8AAAAAAAD//wAAAAAAAP////8AAP//AAAAAP8///8AAP///z8AAAAA////PwAAAAAAAP8//3////9/////f////3////9/////f////3////9/////f////3////9/////f////38AAP9/AAD/fwAA/38AAP9//7//f/+//3//v/9//78AAP9/AAD/fwAA/38AAP9/") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_a7ih1") + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_gwixi"] +data = PackedVector3Array(0, 0, 0, -100, 500, 0, 0, 500, 0, 0, 0, 0, -100, 0, 0, -100, 500, 0, -100, 0, 0, -100, 500, -100, -100, 500, 0, -100, 0, 0, -100, 0, -100, -100, 500, -100, -100, 0, -100, 0, 500, -100, -100, 500, -100, -100, 0, -100, 0, 0, -100, 0, 500, -100, 0, 0, -100, 0, 500, 0, 0, 500, -100, 0, 0, -100, 0, 0, 0, 0, 500, 0, 0, 500, 0, -100, 500, -100, 0, 500, -100, 0, 500, 0, -100, 500, 0, -100, 500, -100, 0, 0, -100, -100, 0, 0, 0, 0, 0, 0, 0, -100, -100, 0, -100, -100, 0, 0) + +[sub_resource type="ArrayMesh" id="ArrayMesh_2gurj"] +_surfaces = [{ +"aabb": AABB(-100, 0, -100, 100, 500, 100), +"format": 34896613377, +"index_count": 36, +"index_data": PackedByteArray("AAACAAEAAAADAAIAAwAEAAIAAwAFAAQABQAGAAQABQAHAAYABwABAAYABwAAAAEAAQAEAAYAAQACAAQABwADAAAABwAFAAMA"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 8, +"vertex_data": PackedByteArray("//8AAP//AAD///////8AAAAA/////wAAAAAAAP//AAAAAP//AAAAAAAAAAAAAAAA/////wAAAAD//wAAAAAAAA==") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_4xdom"] +resource_name = "el_test_Cube__7__Orange_Playground_Base_Color_0" +_surfaces = [{ +"aabb": AABB(-100, 0, -100, 100, 500, 100), +"attribute_data": PackedByteArray("/3//f/9//3//f////3///wAA//8AAP//AAD/fwAA/3//f/9//3//f/9/////f///AAD//wAA//8AAP9/AAD/f////3////9/////////////f////3////9//3//f/9/////f////3////////////9/////f////3//f/9//3//f/9//3//f/9/Zmb/f2Zm//9mZv//Zmb///9/////f/9/Zmb/f2Zm/3//f/9//38AAP9/AAD/fwAAZmYAAGZm"), +"format": 34896613431, +"index_count": 36, +"index_data": PackedByteArray("AAACAAEAAAADAAIABAAGAAUABAAHAAYACAAKAAkACAALAAoADAAOAA0ADAAPAA4AEAASABEAEAATABIAFAAWABUAFAAXABYA"), +"material": SubResource("StandardMaterial3D_1on1b"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(2, 10, 2, 10), +"vertex_count": 24, +"vertex_data": PackedByteArray("//8AAP///n/////////+fwAA//////5/AAAAAP///n8AAAAA////PwAA//////8/AAD//wAA/z8AAAAAAAD/PwAAAAAAAAAAAAD//wAAAAD/////AAAAAP//AAAAAAAA//8AAAAA/z//////AAD/P/////////8///8AAP///z////////8AAP////8AAAAAAAD//wAAAAAAAP////8AAP//AAAAAP8///8AAP///z8AAAAA////PwAAAAAAAP8//3////9/////f////3////9/////f////3////9/////f////3////9/////f////38AAP9/AAD/fwAA/38AAP9//7//f/+//3//v/9//78AAP9/AAD/fwAA/38AAP9/") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_2gurj") + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_gpqh8"] +data = PackedVector3Array(0, 0, 0, -100, 500, 0, 0, 500, 0, 0, 0, 0, -100, 0, 0, -100, 500, 0, -100, 0, 0, -100, 500, -100, -100, 500, 0, -100, 0, 0, -100, 0, -100, -100, 500, -100, -100, 0, -100, 0, 500, -100, -100, 500, -100, -100, 0, -100, 0, 0, -100, 0, 500, -100, 0, 0, -100, 0, 500, 0, 0, 500, -100, 0, 0, -100, 0, 0, 0, 0, 500, 0, 0, 500, 0, -100, 500, -100, 0, 500, -100, 0, 500, 0, -100, 500, 0, -100, 500, -100, 0, 0, -100, -100, 0, 0, 0, 0, 0, 0, 0, -100, -100, 0, -100, -100, 0, 0) + +[sub_resource type="ArrayMesh" id="ArrayMesh_gk7hf"] +_surfaces = [{ +"aabb": AABB(-100, 0, -100, 100, 500, 100), +"format": 34896613377, +"index_count": 36, +"index_data": PackedByteArray("AAACAAEAAAADAAIAAwAEAAIAAwAFAAQABQAGAAQABQAHAAYABwABAAYABwAAAAEAAQAEAAYAAQACAAQABwADAAAABwAFAAMA"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 8, +"vertex_data": PackedByteArray("//8AAP//AAD///////8AAAAA/////wAAAAAAAP//AAAAAP//AAAAAAAAAAAAAAAA/////wAAAAD//wAAAAAAAA==") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_nlknl"] +resource_name = "el_test_Cube__8__Orange_Playground_Base_Color_0" +_surfaces = [{ +"aabb": AABB(-100, 0, -100, 100, 500, 100), +"attribute_data": PackedByteArray("/3//f/9//3//f////3///wAA//8AAP//AAD/fwAA/3//f/9//3//f/9/////f///AAD//wAA//8AAP9/AAD/f////3////9/////////////f////3////9//3//f/9/////f////3////////////9/////f////3//f/9//3//f/9//3//f/9/Zmb/f2Zm//9mZv//Zmb///9/////f/9/Zmb/f2Zm/3//f/9//38AAP9/AAD/fwAAZmYAAGZm"), +"format": 34896613431, +"index_count": 36, +"index_data": PackedByteArray("AAACAAEAAAADAAIABAAGAAUABAAHAAYACAAKAAkACAALAAoADAAOAA0ADAAPAA4AEAASABEAEAATABIAFAAWABUAFAAXABYA"), +"material": SubResource("StandardMaterial3D_1on1b"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(2, 10, 2, 10), +"vertex_count": 24, +"vertex_data": PackedByteArray("//8AAP///n/////////+fwAA//////5/AAAAAP///n8AAAAA////PwAA//////8/AAD//wAA/z8AAAAAAAD/PwAAAAAAAAAAAAD//wAAAAD/////AAAAAP//AAAAAAAA//8AAAAA/z//////AAD/P/////////8///8AAP///z////////8AAP////8AAAAAAAD//wAAAAAAAP////8AAP//AAAAAP8///8AAP///z8AAAAA////PwAAAAAAAP8//3////9/////f////3////9/////f////3////9/////f////3////9/////f////38AAP9/AAD/fwAA/38AAP9//7//f/+//3//v/9//78AAP9/AAD/fwAA/38AAP9/") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_gk7hf") + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_4g871"] +data = PackedVector3Array(0, 0, 0, -100, 500, 0, 0, 500, 0, 0, 0, 0, -100, 0, 0, -100, 500, 0, -100, 0, 0, -100, 500, -100, -100, 500, 0, -100, 0, 0, -100, 0, -100, -100, 500, -100, -100, 0, -100, 0, 500, -100, -100, 500, -100, -100, 0, -100, 0, 0, -100, 0, 500, -100, 0, 0, -100, 0, 500, 0, 0, 500, -100, 0, 0, -100, 0, 0, 0, 0, 500, 0, 0, 500, 0, -100, 500, -100, 0, 500, -100, 0, 500, 0, -100, 500, 0, -100, 500, -100, 0, 0, -100, -100, 0, 0, 0, 0, 0, 0, 0, -100, -100, 0, -100, -100, 0, 0) + +[sub_resource type="ArrayMesh" id="ArrayMesh_dvyif"] +_surfaces = [{ +"aabb": AABB(-100, 0, -100, 100, 500, 100), +"format": 34896613377, +"index_count": 36, +"index_data": PackedByteArray("AAACAAEAAAADAAIAAwAEAAIAAwAFAAQABQAGAAQABQAHAAYABwABAAYABwAAAAEAAQAEAAYAAQACAAQABwADAAAABwAFAAMA"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 8, +"vertex_data": PackedByteArray("//8AAP//AAD///////8AAAAA/////wAAAAAAAP//AAAAAP//AAAAAAAAAAAAAAAA/////wAAAAD//wAAAAAAAA==") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_adj4m"] +resource_name = "el_test_Cube__9__Orange_Playground_Base_Color_0" +_surfaces = [{ +"aabb": AABB(-100, 0, -100, 100, 500, 100), +"attribute_data": PackedByteArray("/3//f/9//3//f////3///wAA//8AAP//AAD/fwAA/3//f/9//3//f/9/////f///AAD//wAA//8AAP9/AAD/f////3////9/////////////f////3////9//3//f/9/////f////3////////////9/////f////3//f/9//3//f/9//3//f/9/Zmb/f2Zm//9mZv//Zmb///9/////f/9/Zmb/f2Zm/3//f/9//38AAP9/AAD/fwAAZmYAAGZm"), +"format": 34896613431, +"index_count": 36, +"index_data": PackedByteArray("AAACAAEAAAADAAIABAAGAAUABAAHAAYACAAKAAkACAALAAoADAAOAA0ADAAPAA4AEAASABEAEAATABIAFAAWABUAFAAXABYA"), +"material": SubResource("StandardMaterial3D_1on1b"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(2, 10, 2, 10), +"vertex_count": 24, +"vertex_data": PackedByteArray("//8AAP///n/////////+fwAA//////5/AAAAAP///n8AAAAA////PwAA//////8/AAD//wAA/z8AAAAAAAD/PwAAAAAAAAAAAAD//wAAAAD/////AAAAAP//AAAAAAAA//8AAAAA/z//////AAD/P/////////8///8AAP///z////////8AAP////8AAAAAAAD//wAAAAAAAP////8AAP//AAAAAP8///8AAP///z8AAAAA////PwAAAAAAAP8//3////9/////f////3////9/////f////3////9/////f////3////9/////f////38AAP9/AAD/fwAA/38AAP9//7//f/+//3//v/9//78AAP9/AAD/fwAA/38AAP9/") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_dvyif") + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_38cn8"] +data = PackedVector3Array(0, 0, 0, -100, 500, 0, 0, 500, 0, 0, 0, 0, -100, 0, 0, -100, 500, 0, -100, 0, 0, -100, 500, -100, -100, 500, 0, -100, 0, 0, -100, 0, -100, -100, 500, -100, -100, 0, -100, 0, 500, -100, -100, 500, -100, -100, 0, -100, 0, 0, -100, 0, 500, -100, 0, 0, -100, 0, 500, 0, 0, 500, -100, 0, 0, -100, 0, 0, 0, 0, 500, 0, 0, 500, 0, -100, 500, -100, 0, 500, -100, 0, 500, 0, -100, 500, 0, -100, 500, -100, 0, 0, -100, -100, 0, 0, 0, 0, 0, 0, 0, -100, -100, 0, -100, -100, 0, 0) + +[sub_resource type="ArrayMesh" id="ArrayMesh_n8qtr"] +_surfaces = [{ +"aabb": AABB(-500, 0, -500, 500, 400, 700), +"format": 34896613377, +"index_count": 24, +"index_data": PackedByteArray("AAACAAEAAwAFAAQABAAFAAIAAgAAAAQABQADAAEAAQACAAUAAwAEAAAAAAABAAMA"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 6, +"vertex_data": PackedByteArray("/////wAAAAAAAP////8AAP///////wAAAAAAAP//AAD//wAAAAAAAP//AAD//wAA") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_3c2kp"] +resource_name = "el_test_PolyShape_Orange_Playground_Base_Color_0" +_surfaces = [{ +"aabb": AABB(-500, 0, -500, 500, 400, 700), +"attribute_data": PackedByteArray("/38AAP9/AAD//zKz//8ys/9/MrP/fzKzAAAyswAAMrP/fwAA/38AAP9/MrP/fzKz////f////3/MTGXmzExl5sxM/3/MTP9///9l5v//Zeb/f/9//3//fwAAZeYAAGXmAAD/fwAA/3//f2Xm/39l5g70/38O9P9/1xdl5tcXZebXF/9/1xf/fw70ZeYO9GXm"), +"format": 34896613431, +"index_count": 24, +"index_data": PackedByteArray("AAACAAEAAwAFAAQABgAIAAcABwAJAAYACgAMAAsACwANAAoADgAQAA8ADwARAA4A"), +"material": SubResource("StandardMaterial3D_1on1b"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(10, 10, 10, 10), +"vertex_count": 18, +"vertex_data": PackedByteArray("/////wAAAAAAAP////8AAP///////wAAAAAAAP///z///wAAAAD/P///AAD///8///8AAAAA/z//////////P///AAD///8//////wAA/z///wAA///+fwAA//////5/AAAAAP///n/////////+fwAAAAD//7om/////wAAuib//wAAAAC6JgAA/////7om/3//v/9//7//f/+/AAD/fwAA/38AAP9//38AAP9/AAD/fwAA/38AAP9/////f////3////9/////f////3////9/////f///") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_n8qtr") + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_fbarj"] +data = PackedVector3Array(0, 400, -500, 0, 400, 200, -500, 400, 200, -500, 0, 200, 0, 0, 200, 0, 0, -500, 0, 0, -500, 0, 0, 200, 0, 400, 200, 0, 400, 200, 0, 400, -500, 0, 0, -500, 0, 0, 200, -500, 0, 200, -500, 400, 200, -500, 400, 200, 0, 400, 200, 0, 0, 200, -500, 0, 200, 0, 0, -500, 0, 400, -500, 0, 400, -500, -500, 400, 200, -500, 0, 200) + +[sub_resource type="ArrayMesh" id="ArrayMesh_8jdni"] +_surfaces = [{ +"aabb": AABB(-500, 0, 0, 500, 400, 600), +"format": 34896613377, +"index_count": 24, +"index_data": PackedByteArray("AAACAAEAAwAFAAQABAAFAAIAAgAAAAQABQADAAEAAQACAAUAAwAEAAAAAAABAAMA"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 6, +"vertex_data": PackedByteArray("AAD/////AAD/////AAAAAAAA//8AAAAA//8AAAAAAAAAAAAA//8AAAAAAAAAAAAA") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_im62s"] +resource_name = "el_test_PolyShape__10__Orange_Playground_Base_Color_0" +_surfaces = [{ +"aabb": AABB(-500, 0, 0, 500, 400, 600), +"attribute_data": PackedByteArray("8NH///DR////f/9//3//f/DR/3/w0f9//3//f/9//38OLv//Di7//w4u/38OLv9/VOL/f1Ti/3//f1TV/39U1f9//3//f/9/VOJU1VTiVNXw0f9/8NH/f/9/VNX/f1TV/3//f/9//3/w0VTV8NFU1f9//3//f/9/AABU1QAAVNUAAP9/AAD/f/9/VNX/f1TV"), +"format": 34896613431, +"index_count": 24, +"index_data": PackedByteArray("AAACAAEAAwAFAAQABgAIAAcABwAJAAYACgAMAAsACwANAAoADgAQAA8ADwARAA4A"), +"material": SubResource("StandardMaterial3D_1on1b"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(15.6205, 12, 15.6205, 12), +"vertex_count": 18, +"vertex_data": PackedByteArray("AAD/////AAD/////AAAAAAAA//8AAAAA//8AAAAA/z8AAAAA////PwAAAAAAAP8/AAAAAP///z8AAP//AAD/PwAAAAAAAP8/AAD//////z8AAAAAAAAAAP////8AAAAA//8AAAAAAAAAAP//AAAAAP//AAAAAE5cAAD/////TlwAAAAA//9OXP////8AAE5c/3//v/9//7//f/+/AAD/fwAA/38AAP9//3////9/////f////3////9/////f////3////9/////fwAA/38AAP9/AAD/fwAA") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_8jdni") + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_f2uk1"] +data = PackedVector3Array(-500, 400, 600, -500, 400, 0, 0, 400, 0, 0, 0, 0, -500, 0, 0, -500, 0, 600, -500, 0, 600, -500, 0, 0, -500, 400, 0, -500, 400, 0, -500, 400, 600, -500, 0, 600, -500, 0, 0, 0, 0, 0, 0, 400, 0, 0, 400, 0, -500, 400, 0, -500, 0, 0, 0, 0, 0, -500, 0, 600, -500, 400, 600, -500, 400, 600, 0, 400, 0, 0, 0, 0) + +[sub_resource type="ArrayMesh" id="ArrayMesh_4rt84"] +_surfaces = [{ +"aabb": AABB(-200, 0, -700, 200, 400, 700), +"format": 34896613377, +"index_count": 48, +"index_data": PackedByteArray("AAACAAEAAAABAAMABAAAAAMABQAHAAYABQAIAAcACAAJAAcABwAJAAIAAgAAAAcACQAIAAEAAQACAAkACAAFAAMAAwABAAgABgAHAAAAAAAEAAYABQAGAAQABAADAAUA"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 10, +"vertex_data": PackedByteArray("AAD//9q2AAD/////AAAAAAAA//8AAAAA////////AAAAAP////8AAP//AAD//wAAAAAAAP//AAAAAAAA2rYAAP//AAAAAAAAAAAAAAAAAAA=") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_1khtm"] +resource_name = "el_test_PolyShape__11__Orange_Playground_Base_Color_0" +_surfaces = [{ +"aabb": AABB(-200, 0, -700, 200, 400, 700), +"attribute_data": PackedByteArray("kaRtW5GkbVv/fwAA/38AAJGkAACRpAAA/3//f/9//3+RpP9/kaT/f/9//3//f/9/bVv/f21b/39tW21bbVttW/9/AAD/fwAAbVsAAG1bAABtW/9/bVv/fwAAI8kAACPJAAD/fwAA/39tWyPJbVsjyZGk/3+RpP9//38jyf9/I8n/f/9//3//f5GkI8mRpCPJ////f////3//fyPJ/38jyf9//3//f/9///8jyf//I8n/f/9//3//f/9/I8n/fyPJ/3//f/9//39tWyPJbVsjyW1b/39tW/9//38jyf9/I8k="), +"format": 34896613431, +"index_count": 48, +"index_data": PackedByteArray("AAACAAEAAAABAAMABAAAAAMABQAHAAYABQAIAAcACAAJAAcACgAMAAsACwANAAoADgAQAA8ADwARAA4AEgAUABMAEwAVABIAFgAKAA0ADQAXABYAGAAaABkAGQAbABgA"), +"material": SubResource("StandardMaterial3D_1on1b"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(14, 14, 14, 14), +"vertex_count": 28, +"vertex_data": PackedByteArray("AAD//9q2AAD/////AAAAAAAA//8AAAAA////////AAAAAP////8AAP//AAD///8/AAAAAP///z8AAAAA2rb/P///AAAAAP8/AAAAAAAA/z8AAAAA2rb/PwAA//8AAP8/AAAAAAAA/z8AAP//2rb/PwAAAAAAAAAA/////wAAAAD//wAAAAAAAAAA//8AAAAA//8AAAAA/z//////////P///AAD///8//////wAA/z8AAAAA////PwAA//////8///8AAP///n8AAP/////+fwAAAAD///5//////////n//f/+//3//v/9//7//f/+//3//vwAA/38AAP9/AAD/fwAA/38AAP9//3////9/////f////3////9/////f////3////9/////fwAA/38AAP9/AAD/fwAA/3////9/////f////3////9/////f///") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_4rt84") + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_mfvf3"] +data = PackedVector3Array(-200, 400, -200, -200, 400, -700, 0, 400, -700, -200, 400, -200, 0, 400, -700, 0, 400, 0, -200, 400, 0, -200, 400, -200, 0, 400, 0, 0, 0, 0, -200, 0, -200, -200, 0, 0, 0, 0, 0, 0, 0, -700, -200, 0, -200, 0, 0, -700, -200, 0, -700, -200, 0, -200, -200, 0, -200, -200, 0, -700, -200, 400, -700, -200, 400, -700, -200, 400, -200, -200, 0, -200, -200, 0, -700, 0, 0, -700, 0, 400, -700, 0, 400, -700, -200, 400, -700, -200, 0, -700, 0, 0, -700, 0, 0, 0, 0, 400, 0, 0, 400, 0, 0, 400, -700, 0, 0, -700, -200, 0, 0, -200, 0, -200, -200, 400, -200, -200, 400, -200, -200, 400, 0, -200, 0, 0, 0, 0, 0, -200, 0, 0, -200, 400, 0, -200, 400, 0, 0, 400, 0, 0, 0, 0) + +[sub_resource type="ArrayMesh" id="ArrayMesh_ti6sx"] +_surfaces = [{ +"aabb": AABB(-500, 0, 0, 500, 400, 600), +"format": 34896613377, +"index_count": 24, +"index_data": PackedByteArray("AAACAAEAAwAFAAQABAAFAAIAAgAAAAQABQADAAEAAQACAAUAAwAEAAAAAAABAAMA"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 6, +"vertex_data": PackedByteArray("AAD/////AAD/////AAAAAAAA//8AAAAA//8AAAAAAAAAAAAA//8AAAAAAAAAAAAA") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_tkghw"] +resource_name = "el_test_PolyShape__1__Orange_Playground_Base_Color_0" +_surfaces = [{ +"aabb": AABB(-500, 0, 0, 500, 400, 600), +"attribute_data": PackedByteArray("8NH///DR////f/9//3//f/DR/3/w0f9//3//f/9//38OLv//Di7//w4u/38OLv9/VOL/f1Ti/3//f1TV/39U1f9//3//f/9/VOJU1VTiVNXw0f9/8NH/f/9/VNX/f1TV/3//f/9//3/w0VTV8NFU1f9//3//f/9/AABU1QAAVNUAAP9/AAD/f/9/VNX/f1TV"), +"format": 34896613431, +"index_count": 24, +"index_data": PackedByteArray("AAACAAEAAwAFAAQABgAIAAcABwAJAAYACgAMAAsACwANAAoADgAQAA8ADwARAA4A"), +"material": SubResource("StandardMaterial3D_1on1b"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(15.6205, 12, 15.6205, 12), +"vertex_count": 18, +"vertex_data": PackedByteArray("AAD/////AAD/////AAAAAAAA//8AAAAA//8AAAAA/z8AAAAA////PwAAAAAAAP8/AAAAAP///z8AAP//AAD/PwAAAAAAAP8/AAD//////z8AAAAAAAAAAP////8AAAAA//8AAAAAAAAAAP//AAAAAP//AAAAAE5cAAD/////TlwAAAAA//9OXP////8AAE5c/3//v/9//7//f/+/AAD/fwAA/38AAP9//3////9/////f////3////9/////f////3////9/////fwAA/38AAP9/AAD/fwAA") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_ti6sx") + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_ein8y"] +data = PackedVector3Array(-500, 400, 600, -500, 400, 0, 0, 400, 0, 0, 0, 0, -500, 0, 0, -500, 0, 600, -500, 0, 600, -500, 0, 0, -500, 400, 0, -500, 400, 0, -500, 400, 600, -500, 0, 600, -500, 0, 0, 0, 0, 0, 0, 400, 0, 0, 400, 0, -500, 400, 0, -500, 0, 0, 0, 0, 0, -500, 0, 600, -500, 400, 600, -500, 400, 600, 0, 400, 0, 0, 0, 0) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_om6jd"] +resource_name = "Orange_Playground_Base_Color_1" +cull_mode = 2 +albedo_texture = ExtResource("2_o6seo") +roughness = 0.6 + +[sub_resource type="ArrayMesh" id="ArrayMesh_fmd3a"] +_surfaces = [{ +"aabb": AABB(-200, 0, -700, 200, 400, 700), +"format": 34896613377, +"index_count": 48, +"index_data": PackedByteArray("AAACAAEAAAABAAMABAAAAAMABQAHAAYABQAIAAcACAAJAAcABwAJAAIAAgAAAAcACQAIAAEAAQACAAkACAAFAAMAAwABAAgABgAHAAAAAAAEAAYABQAGAAQABAADAAUA"), +"name": "Orange_Playground_Base_Color_1", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 10, +"vertex_data": PackedByteArray("AAD//9q2AAD/////AAAAAAAA//8AAAAA////////AAAAAP////8AAP//AAD//wAAAAAAAP//AAAAAAAA2rYAAP//AAAAAAAAAAAAAAAAAAA=") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_d3xwo"] +resource_name = "el_test_PolyShape__2__Orange_Playground_Base_Color_1_0" +_surfaces = [{ +"aabb": AABB(-200, 0, -700, 200, 400, 700), +"attribute_data": PackedByteArray("kaRtW5GkbVv/fwAA/38AAJGkAACRpAAA/3//f/9//3+RpP9/kaT/f/9//3//f/9/bVv/f21b/39tW21bbVttW/9/AAD/fwAAbVsAAG1bAABtW/9/bVv/fwAAI8kAACPJAAD/fwAA/39tWyPJbVsjyZGk/3+RpP9//38jyf9/I8n/f/9//3//f5GkI8mRpCPJ////f////3//fyPJ/38jyf9//3//f/9///8jyf//I8n/f/9//3//f/9/I8n/fyPJ/3//f/9//39tWyPJbVsjyW1b/39tW/9//38jyf9/I8k="), +"format": 34896613431, +"index_count": 48, +"index_data": PackedByteArray("AAACAAEAAAABAAMABAAAAAMABQAHAAYABQAIAAcACAAJAAcACgAMAAsACwANAAoADgAQAA8ADwARAA4AEgAUABMAEwAVABIAFgAKAA0ADQAXABYAGAAaABkAGQAbABgA"), +"material": SubResource("StandardMaterial3D_om6jd"), +"name": "Orange_Playground_Base_Color_1", +"primitive": 3, +"uv_scale": Vector4(14, 14, 14, 14), +"vertex_count": 28, +"vertex_data": PackedByteArray("AAD//9q2AAD/////AAAAAAAA//8AAAAA////////AAAAAP////8AAP//AAD///8/AAAAAP///z8AAAAA2rb/P///AAAAAP8/AAAAAAAA/z8AAAAA2rb/PwAA//8AAP8/AAAAAAAA/z8AAP//2rb/PwAAAAAAAAAA/////wAAAAD//wAAAAAAAAAA//8AAAAA//8AAAAA/z//////////P///AAD///8//////wAA/z8AAAAA////PwAA//////8///8AAP///n8AAP/////+fwAAAAD///5//////////n//f/+//3//v/9//7//f/+//3//vwAA/38AAP9/AAD/fwAA/38AAP9//3////9/////f////3////9/////f////3////9/////fwAA/38AAP9/AAD/fwAA/3////9/////f////3////9/////f///") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_fmd3a") + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_2l37e"] +data = PackedVector3Array(-200, 400, -200, -200, 400, -700, 0, 400, -700, -200, 400, -200, 0, 400, -700, 0, 400, 0, -200, 400, 0, -200, 400, -200, 0, 400, 0, 0, 0, 0, -200, 0, -200, -200, 0, 0, 0, 0, 0, 0, 0, -700, -200, 0, -200, 0, 0, -700, -200, 0, -700, -200, 0, -200, -200, 0, -200, -200, 0, -700, -200, 400, -700, -200, 400, -700, -200, 400, -200, -200, 0, -200, -200, 0, -700, 0, 0, -700, 0, 400, -700, 0, 400, -700, -200, 400, -700, -200, 0, -700, 0, 0, -700, 0, 0, 0, 0, 400, 0, 0, 400, 0, 0, 400, -700, 0, 0, -700, -200, 0, 0, -200, 0, -200, -200, 400, -200, -200, 400, -200, -200, 400, 0, -200, 0, 0, 0, 0, 0, -200, 0, 0, -200, 400, 0, -200, 400, 0, 0, 400, 0, 0, 0, 0) + +[sub_resource type="ArrayMesh" id="ArrayMesh_dp820"] +_surfaces = [{ +"aabb": AABB(0, 0, -1000, 500, 400, 1000), +"format": 34896613377, +"index_count": 48, +"index_data": PackedByteArray("AAACAAEAAAABAAMAAQAEAAMABQAHAAYABQAGAAgABgAJAAgACAAJAAIAAgAAAAgACQAGAAEAAQACAAkABQAIAAAAAAADAAUABgAHAAQABAABAAYABwAFAAMAAwAEAAcA"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 10, +"vertex_data": PackedByteArray("AAD//wAAAAD/////ZeYAAP////8AAAAAAAD/////AAD///////8AAAAAAAD//wAA//8AAGXmAAD//wAA//8AAAAAAAAAAAAA//8AAAAAAAA=") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_drkb5"] +resource_name = "el_test_PolyShape__3__Orange_Playground_Base_Color_0" +_surfaces = [{ +"aabb": AABB(0, 0, -1000, 500, 400, 1000), +"attribute_data": PackedByteArray("/38AAP9/AAD/PzJz/z8yc/8/AAD/PwAA/3//f/9//3//P/9//z//f/9//3//f/9//78yc/+/MnP/v/9//7//f/9/AAD/fwAA/78AAP+/AAD/f/9//3//f/8/MrP/PzKz/z//f/8//3//fzKz/38ys////3////9/zIwys8yMMrPMjP9/zIz/f///MrP//zKz/3//f/9//38AADKzAAAyswAA/38AAP9//38ys/9/MrP/fzKz/38ys/9//3//f/9//7//f/+//3//fzKz/38ys/9//3//f/9//78ys/+/MrM="), +"format": 34896613431, +"index_count": 48, +"index_data": PackedByteArray("AAACAAEAAAABAAMAAQAEAAMABQAHAAYABQAGAAgABgAJAAgACgAMAAsACwANAAoADgAQAA8ADwARAA4AEgAUABMAEwAVABIAEAAXABYAFgAPABAAGAAaABkAGQAbABgA"), +"material": SubResource("StandardMaterial3D_1on1b"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(20, 20, 20, 20), +"vertex_count": 28, +"vertex_data": PackedByteArray("AAD//wAAAAD/////ZeYAAP////8AAAAAAAD/////AAD///////8AAAAAAAD///8///8AAGXm/z///wAA////PwAAAAAAAP8///8AAAAA/z8AAAAAAAAAAP////8AAAAA//8AAAAAAAAAAP//AAAAAP//AAAAAP8//////2Xm/z///wAAZeb/P/////8AAP8/AAAAAP///z8AAP//AAD/PwAAAAAAAP8/AAD//////z//////////P///AAD///8///8AAP///n8AAP/////+fwAAAAD///5//////////n//f/+//3//v/9//7//f/+//3//vwAA/38AAP9/AAD/fwAA/38AAP9//3////9/////f////3////9/AAD/fwAA/38AAP9/AAD/f////3////9/////f////38AAP9/AAD/f////3////9/////f///") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_dp820") + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_sutts"] +data = PackedVector3Array(0, 400, -1000, 500, 400, -1000, 500, 400, -100, 0, 400, -1000, 500, 400, -100, 0, 400, 0, 500, 400, -100, 500, 400, 0, 0, 400, 0, 0, 0, 0, 500, 0, 0, 500, 0, -100, 0, 0, 0, 500, 0, -100, 0, 0, -1000, 500, 0, -100, 500, 0, -1000, 0, 0, -1000, 0, 0, -1000, 500, 0, -1000, 500, 400, -1000, 500, 400, -1000, 0, 400, -1000, 0, 0, -1000, 500, 0, -1000, 500, 0, -100, 500, 400, -100, 500, 400, -100, 500, 400, -1000, 500, 0, -1000, 0, 0, 0, 0, 0, -1000, 0, 400, -1000, 0, 400, -1000, 0, 400, 0, 0, 0, 0, 500, 0, -100, 500, 0, 0, 500, 400, 0, 500, 400, 0, 500, 400, -100, 500, 0, -100, 500, 0, 0, 0, 0, 0, 0, 400, 0, 0, 400, 0, 500, 400, 0, 500, 0, 0) + +[sub_resource type="ArrayMesh" id="ArrayMesh_7l1ql"] +_surfaces = [{ +"aabb": AABB(-200, 0, -700, 200, 400, 700), +"format": 34896613377, +"index_count": 48, +"index_data": PackedByteArray("AAACAAEAAAABAAMABAAAAAMABQAHAAYABQAIAAcACAAJAAcABwAJAAIAAgAAAAcACQAIAAEAAQACAAkACAAFAAMAAwABAAgABgAHAAAAAAAEAAYABQAGAAQABAADAAUA"), +"name": "Orange_Playground_Base_Color_1", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 10, +"vertex_data": PackedByteArray("AAD//9q2AAD/////AAAAAAAA//8AAAAA////////AAAAAP////8AAP//AAD//wAAAAAAAP//AAAAAAAA2rYAAP//AAAAAAAAAAAAAAAAAAA=") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_srqcn"] +resource_name = "el_test_PolyShape__4__Orange_Playground_Base_Color_1_0" +_surfaces = [{ +"aabb": AABB(-200, 0, -700, 200, 400, 700), +"attribute_data": PackedByteArray("kaRtW5GkbVv/fwAA/38AAJGkAACRpAAA/3//f/9//3+RpP9/kaT/f/9//3//f/9/bVv/f21b/39tW21bbVttW/9/AAD/fwAAbVsAAG1bAABtW/9/bVv/fwAAI8kAACPJAAD/fwAA/39tWyPJbVsjyZGk/3+RpP9//38jyf9/I8n/f/9//3//f5GkI8mRpCPJ////f////3//fyPJ/38jyf9//3//f/9///8jyf//I8n/f/9//3//f/9/I8n/fyPJ/3//f/9//39tWyPJbVsjyW1b/39tW/9//38jyf9/I8k="), +"format": 34896613431, +"index_count": 48, +"index_data": PackedByteArray("AAACAAEAAAABAAMABAAAAAMABQAHAAYABQAIAAcACAAJAAcACgAMAAsACwANAAoADgAQAA8ADwARAA4AEgAUABMAEwAVABIAFgAKAA0ADQAXABYAGAAaABkAGQAbABgA"), +"material": SubResource("StandardMaterial3D_om6jd"), +"name": "Orange_Playground_Base_Color_1", +"primitive": 3, +"uv_scale": Vector4(14, 14, 14, 14), +"vertex_count": 28, +"vertex_data": PackedByteArray("AAD//9q2AAD/////AAAAAAAA//8AAAAA////////AAAAAP////8AAP//AAD///8/AAAAAP///z8AAAAA2rb/P///AAAAAP8/AAAAAAAA/z8AAAAA2rb/PwAA//8AAP8/AAAAAAAA/z8AAP//2rb/PwAAAAAAAAAA/////wAAAAD//wAAAAAAAAAA//8AAAAA//8AAAAA/z//////////P///AAD///8//////wAA/z8AAAAA////PwAA//////8///8AAP///n8AAP/////+fwAAAAD///5//////////n//f/+//3//v/9//7//f/+//3//vwAA/38AAP9/AAD/fwAA/38AAP9//3////9/////f////3////9/////f////3////9/////fwAA/38AAP9/AAD/fwAA/3////9/////f////3////9/////f///") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_7l1ql") + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_t41o2"] +data = PackedVector3Array(-200, 400, -200, -200, 400, -700, 0, 400, -700, -200, 400, -200, 0, 400, -700, 0, 400, 0, -200, 400, 0, -200, 400, -200, 0, 400, 0, 0, 0, 0, -200, 0, -200, -200, 0, 0, 0, 0, 0, 0, 0, -700, -200, 0, -200, 0, 0, -700, -200, 0, -700, -200, 0, -200, -200, 0, -200, -200, 0, -700, -200, 400, -700, -200, 400, -700, -200, 400, -200, -200, 0, -200, -200, 0, -700, 0, 0, -700, 0, 400, -700, 0, 400, -700, -200, 400, -700, -200, 0, -700, 0, 0, -700, 0, 0, 0, 0, 400, 0, 0, 400, 0, 0, 400, -700, 0, 0, -700, -200, 0, 0, -200, 0, -200, -200, 400, -200, -200, 400, -200, -200, 400, 0, -200, 0, 0, 0, 0, 0, -200, 0, 0, -200, 400, 0, -200, 400, 0, 0, 400, 0, 0, 0, 0) + +[sub_resource type="ArrayMesh" id="ArrayMesh_kxos6"] +_surfaces = [{ +"aabb": AABB(-200, 0, -700, 200, 400, 700), +"format": 34896613377, +"index_count": 48, +"index_data": PackedByteArray("AAACAAEAAAABAAMABAAAAAMABQAHAAYABQAIAAcACAAJAAcABwAJAAIAAgAAAAcACQAIAAEAAQACAAkACAAFAAMAAwABAAgABgAHAAAAAAAEAAYABQAGAAQABAADAAUA"), +"name": "Orange_Playground_Base_Color_1", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 10, +"vertex_data": PackedByteArray("AAD//9q2AAD/////AAAAAAAA//8AAAAA////////AAAAAP////8AAP//AAD//wAAAAAAAP//AAAAAAAA2rYAAP//AAAAAAAAAAAAAAAAAAA=") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_f24uy"] +resource_name = "el_test_PolyShape__5__Orange_Playground_Base_Color_1_0" +_surfaces = [{ +"aabb": AABB(-200, 0, -700, 200, 400, 700), +"attribute_data": PackedByteArray("kaRtW5GkbVv/fwAA/38AAJGkAACRpAAA/3//f/9//3+RpP9/kaT/f/9//3//f/9/bVv/f21b/39tW21bbVttW/9/AAD/fwAAbVsAAG1bAABtW/9/bVv/fwAAI8kAACPJAAD/fwAA/39tWyPJbVsjyZGk/3+RpP9//38jyf9/I8n/f/9//3//f5GkI8mRpCPJ////f////3//fyPJ/38jyf9//3//f/9///8jyf//I8n/f/9//3//f/9/I8n/fyPJ/3//f/9//39tWyPJbVsjyW1b/39tW/9//38jyf9/I8k="), +"format": 34896613431, +"index_count": 48, +"index_data": PackedByteArray("AAACAAEAAAABAAMABAAAAAMABQAHAAYABQAIAAcACAAJAAcACgAMAAsACwANAAoADgAQAA8ADwARAA4AEgAUABMAEwAVABIAFgAKAA0ADQAXABYAGAAaABkAGQAbABgA"), +"material": SubResource("StandardMaterial3D_om6jd"), +"name": "Orange_Playground_Base_Color_1", +"primitive": 3, +"uv_scale": Vector4(14, 14, 14, 14), +"vertex_count": 28, +"vertex_data": PackedByteArray("AAD//9q2AAD/////AAAAAAAA//8AAAAA////////AAAAAP////8AAP//AAD///8/AAAAAP///z8AAAAA2rb/P///AAAAAP8/AAAAAAAA/z8AAAAA2rb/PwAA//8AAP8/AAAAAAAA/z8AAP//2rb/PwAAAAAAAAAA/////wAAAAD//wAAAAAAAAAA//8AAAAA//8AAAAA/z//////////P///AAD///8//////wAA/z8AAAAA////PwAA//////8///8AAP///n8AAP/////+fwAAAAD///5//////////n//f/+//3//v/9//7//f/+//3//vwAA/38AAP9/AAD/fwAA/38AAP9//3////9/////f////3////9/////f////3////9/////fwAA/38AAP9/AAD/fwAA/3////9/////f////3////9/////f///") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_kxos6") + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_v2jef"] +data = PackedVector3Array(-200, 400, -200, -200, 400, -700, 0, 400, -700, -200, 400, -200, 0, 400, -700, 0, 400, 0, -200, 400, 0, -200, 400, -200, 0, 400, 0, 0, 0, 0, -200, 0, -200, -200, 0, 0, 0, 0, 0, 0, 0, -700, -200, 0, -200, 0, 0, -700, -200, 0, -700, -200, 0, -200, -200, 0, -200, -200, 0, -700, -200, 400, -700, -200, 400, -700, -200, 400, -200, -200, 0, -200, -200, 0, -700, 0, 0, -700, 0, 400, -700, 0, 400, -700, -200, 400, -700, -200, 0, -700, 0, 0, -700, 0, 0, 0, 0, 400, 0, 0, 400, 0, 0, 400, -700, 0, 0, -700, -200, 0, 0, -200, 0, -200, -200, 400, -200, -200, 400, -200, -200, 400, 0, -200, 0, 0, 0, 0, 0, -200, 0, 0, -200, 400, 0, -200, 400, 0, 0, 400, 0, 0, 0, 0) + +[sub_resource type="ArrayMesh" id="ArrayMesh_ldfrk"] +_surfaces = [{ +"aabb": AABB(-200, 0, -700, 200, 400, 700), +"format": 34896613377, +"index_count": 48, +"index_data": PackedByteArray("AAACAAEAAAABAAMABAAAAAMABQAHAAYABQAIAAcACAAJAAcABwAJAAIAAgAAAAcACQAIAAEAAQACAAkACAAFAAMAAwABAAgABgAHAAAAAAAEAAYABQAGAAQABAADAAUA"), +"name": "Orange_Playground_Base_Color_1", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 10, +"vertex_data": PackedByteArray("AAD//9q2AAD/////AAAAAAAA//8AAAAA////////AAAAAP////8AAP//AAD//wAAAAAAAP//AAAAAAAA2rYAAP//AAAAAAAAAAAAAAAAAAA=") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_ev1uq"] +resource_name = "el_test_PolyShape__6__Orange_Playground_Base_Color_1_0" +_surfaces = [{ +"aabb": AABB(-200, 0, -700, 200, 400, 700), +"attribute_data": PackedByteArray("kaRtW5GkbVv/fwAA/38AAJGkAACRpAAA/3//f/9//3+RpP9/kaT/f/9//3//f/9/bVv/f21b/39tW21bbVttW/9/AAD/fwAAbVsAAG1bAABtW/9/bVv/fwAAI8kAACPJAAD/fwAA/39tWyPJbVsjyZGk/3+RpP9//38jyf9/I8n/f/9//3//f5GkI8mRpCPJ////f////3//fyPJ/38jyf9//3//f/9///8jyf//I8n/f/9//3//f/9/I8n/fyPJ/3//f/9//39tWyPJbVsjyW1b/39tW/9//38jyf9/I8k="), +"format": 34896613431, +"index_count": 48, +"index_data": PackedByteArray("AAACAAEAAAABAAMABAAAAAMABQAHAAYABQAIAAcACAAJAAcACgAMAAsACwANAAoADgAQAA8ADwARAA4AEgAUABMAEwAVABIAFgAKAA0ADQAXABYAGAAaABkAGQAbABgA"), +"material": SubResource("StandardMaterial3D_om6jd"), +"name": "Orange_Playground_Base_Color_1", +"primitive": 3, +"uv_scale": Vector4(14, 14, 14, 14), +"vertex_count": 28, +"vertex_data": PackedByteArray("AAD//9q2AAD/////AAAAAAAA//8AAAAA////////AAAAAP////8AAP//AAD///8/AAAAAP///z8AAAAA2rb/P///AAAAAP8/AAAAAAAA/z8AAAAA2rb/PwAA//8AAP8/AAAAAAAA/z8AAP//2rb/PwAAAAAAAAAA/////wAAAAD//wAAAAAAAAAA//8AAAAA//8AAAAA/z//////////P///AAD///8//////wAA/z8AAAAA////PwAA//////8///8AAP///n8AAP/////+fwAAAAD///5//////////n//f/+//3//v/9//7//f/+//3//vwAA/38AAP9/AAD/fwAA/38AAP9//3////9/////f////3////9/////f////3////9/////fwAA/38AAP9/AAD/fwAA/3////9/////f////3////9/////f///") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_ldfrk") + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_fo28g"] +data = PackedVector3Array(-200, 400, -200, -200, 400, -700, 0, 400, -700, -200, 400, -200, 0, 400, -700, 0, 400, 0, -200, 400, 0, -200, 400, -200, 0, 400, 0, 0, 0, 0, -200, 0, -200, -200, 0, 0, 0, 0, 0, 0, 0, -700, -200, 0, -200, 0, 0, -700, -200, 0, -700, -200, 0, -200, -200, 0, -200, -200, 0, -700, -200, 400, -700, -200, 400, -700, -200, 400, -200, -200, 0, -200, -200, 0, -700, 0, 0, -700, 0, 400, -700, 0, 400, -700, -200, 400, -700, -200, 0, -700, 0, 0, -700, 0, 0, 0, 0, 400, 0, 0, 400, 0, 0, 400, -700, 0, 0, -700, -200, 0, 0, -200, 0, -200, -200, 400, -200, -200, 400, -200, -200, 400, 0, -200, 0, 0, 0, 0, 0, -200, 0, 0, -200, 400, 0, -200, 400, 0, 0, 400, 0, 0, 0, 0) + +[sub_resource type="ArrayMesh" id="ArrayMesh_ehu6q"] +_surfaces = [{ +"aabb": AABB(-500, 0, -500, 500, 400, 700), +"format": 34896613377, +"index_count": 24, +"index_data": PackedByteArray("AAACAAEAAwAFAAQABAAFAAIAAgAAAAQABQADAAEAAQACAAUAAwAEAAAAAAABAAMA"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 6, +"vertex_data": PackedByteArray("/////wAAAAAAAP////8AAP///////wAAAAAAAP//AAD//wAAAAAAAP//AAD//wAA") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_1e4n4"] +resource_name = "el_test_PolyShape__7__Orange_Playground_Base_Color_0" +_surfaces = [{ +"aabb": AABB(-500, 0, -500, 500, 400, 700), +"attribute_data": PackedByteArray("/38AAP9/AAD//zKz//8ys/9/MrP/fzKzAAAyswAAMrP/fwAA/38AAP9/MrP/fzKz////f////3/MTGXmzExl5sxM/3/MTP9///9l5v//Zeb/f/9//3//fwAAZeYAAGXmAAD/fwAA/3//f2Xm/39l5g70/38O9P9/1xdl5tcXZebXF/9/1xf/fw70ZeYO9GXm"), +"format": 34896613431, +"index_count": 24, +"index_data": PackedByteArray("AAACAAEAAwAFAAQABgAIAAcABwAJAAYACgAMAAsACwANAAoADgAQAA8ADwARAA4A"), +"material": SubResource("StandardMaterial3D_1on1b"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(10, 10, 10, 10), +"vertex_count": 18, +"vertex_data": PackedByteArray("/////wAAAAAAAP////8AAP///////wAAAAAAAP///z///wAAAAD/P///AAD///8///8AAAAA/z//////////P///AAD///8//////wAA/z///wAA///+fwAA//////5/AAAAAP///n/////////+fwAAAAD//7om/////wAAuib//wAAAAC6JgAA/////7om/3//v/9//7//f/+/AAD/fwAA/38AAP9//38AAP9/AAD/fwAA/38AAP9/////f////3////9/////f////3////9/////f///") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_ehu6q") + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_68hyy"] +data = PackedVector3Array(0, 400, -500, 0, 400, 200, -500, 400, 200, -500, 0, 200, 0, 0, 200, 0, 0, -500, 0, 0, -500, 0, 0, 200, 0, 400, 200, 0, 400, 200, 0, 400, -500, 0, 0, -500, 0, 0, 200, -500, 0, 200, -500, 400, 200, -500, 400, 200, 0, 400, 200, 0, 0, 200, -500, 0, 200, 0, 0, -500, 0, 400, -500, 0, 400, -500, -500, 400, 200, -500, 0, 200) + +[sub_resource type="ArrayMesh" id="ArrayMesh_g1cg2"] +_surfaces = [{ +"aabb": AABB(-200, 0, -700, 200, 400, 700), +"format": 34896613377, +"index_count": 48, +"index_data": PackedByteArray("AAACAAEAAAABAAMABAAAAAMABQAHAAYABQAIAAcACAAJAAcABwAJAAIAAgAAAAcACQAIAAEAAQACAAkACAAFAAMAAwABAAgABgAHAAAAAAAEAAYABQAGAAQABAADAAUA"), +"name": "Orange_Playground_Base_Color_1", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 10, +"vertex_data": PackedByteArray("AAD//9q2AAD/////AAAAAAAA//8AAAAA////////AAAAAP////8AAP//AAD//wAAAAAAAP//AAAAAAAA2rYAAP//AAAAAAAAAAAAAAAAAAA=") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_3mexm"] +resource_name = "el_test_PolyShape__8__Orange_Playground_Base_Color_1_0" +_surfaces = [{ +"aabb": AABB(-200, 0, -700, 200, 400, 700), +"attribute_data": PackedByteArray("kaRtW5GkbVv/fwAA/38AAJGkAACRpAAA/3//f/9//3+RpP9/kaT/f/9//3//f/9/bVv/f21b/39tW21bbVttW/9/AAD/fwAAbVsAAG1bAABtW/9/bVv/fwAAI8kAACPJAAD/fwAA/39tWyPJbVsjyZGk/3+RpP9//38jyf9/I8n/f/9//3//f5GkI8mRpCPJ////f////3//fyPJ/38jyf9//3//f/9///8jyf//I8n/f/9//3//f/9/I8n/fyPJ/3//f/9//39tWyPJbVsjyW1b/39tW/9//38jyf9/I8k="), +"format": 34896613431, +"index_count": 48, +"index_data": PackedByteArray("AAACAAEAAAABAAMABAAAAAMABQAHAAYABQAIAAcACAAJAAcACgAMAAsACwANAAoADgAQAA8ADwARAA4AEgAUABMAEwAVABIAFgAKAA0ADQAXABYAGAAaABkAGQAbABgA"), +"material": SubResource("StandardMaterial3D_om6jd"), +"name": "Orange_Playground_Base_Color_1", +"primitive": 3, +"uv_scale": Vector4(14, 14, 14, 14), +"vertex_count": 28, +"vertex_data": PackedByteArray("AAD//9q2AAD/////AAAAAAAA//8AAAAA////////AAAAAP////8AAP//AAD///8/AAAAAP///z8AAAAA2rb/P///AAAAAP8/AAAAAAAA/z8AAAAA2rb/PwAA//8AAP8/AAAAAAAA/z8AAP//2rb/PwAAAAAAAAAA/////wAAAAD//wAAAAAAAAAA//8AAAAA//8AAAAA/z//////////P///AAD///8//////wAA/z8AAAAA////PwAA//////8///8AAP///n8AAP/////+fwAAAAD///5//////////n//f/+//3//v/9//7//f/+//3//vwAA/38AAP9/AAD/fwAA/38AAP9//3////9/////f////3////9/////f////3////9/////fwAA/38AAP9/AAD/fwAA/3////9/////f////3////9/////f///") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_g1cg2") + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_a617f"] +data = PackedVector3Array(-200, 400, -200, -200, 400, -700, 0, 400, -700, -200, 400, -200, 0, 400, -700, 0, 400, 0, -200, 400, 0, -200, 400, -200, 0, 400, 0, 0, 0, 0, -200, 0, -200, -200, 0, 0, 0, 0, 0, 0, 0, -700, -200, 0, -200, 0, 0, -700, -200, 0, -700, -200, 0, -200, -200, 0, -200, -200, 0, -700, -200, 400, -700, -200, 400, -700, -200, 400, -200, -200, 0, -200, -200, 0, -700, 0, 0, -700, 0, 400, -700, 0, 400, -700, -200, 400, -700, -200, 0, -700, 0, 0, -700, 0, 0, 0, 0, 400, 0, 0, 400, 0, 0, 400, -700, 0, 0, -700, -200, 0, 0, -200, 0, -200, -200, 400, -200, -200, 400, -200, -200, 400, 0, -200, 0, 0, 0, 0, 0, -200, 0, 0, -200, 400, 0, -200, 400, 0, 0, 400, 0, 0, 0, 0) + +[sub_resource type="ArrayMesh" id="ArrayMesh_v5hcs"] +_surfaces = [{ +"aabb": AABB(-500, 0, -500, 500, 400, 700), +"format": 34896613377, +"index_count": 24, +"index_data": PackedByteArray("AAACAAEAAwAFAAQABAAFAAIAAgAAAAQABQADAAEAAQACAAUAAwAEAAAAAAABAAMA"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 6, +"vertex_data": PackedByteArray("/////wAAAAAAAP////8AAP///////wAAAAAAAP//AAD//wAAAAAAAP//AAD//wAA") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_hb131"] +resource_name = "el_test_PolyShape__9__Orange_Playground_Base_Color_0" +_surfaces = [{ +"aabb": AABB(-500, 0, -500, 500, 400, 700), +"attribute_data": PackedByteArray("/38AAP9/AAD//zKz//8ys/9/MrP/fzKzAAAyswAAMrP/fwAA/38AAP9/MrP/fzKz////f////3/MTGXmzExl5sxM/3/MTP9///9l5v//Zeb/f/9//3//fwAAZeYAAGXmAAD/fwAA/3//f2Xm/39l5g70/38O9P9/1xdl5tcXZebXF/9/1xf/fw70ZeYO9GXm"), +"format": 34896613431, +"index_count": 24, +"index_data": PackedByteArray("AAACAAEAAwAFAAQABgAIAAcABwAJAAYACgAMAAsACwANAAoADgAQAA8ADwARAA4A"), +"material": SubResource("StandardMaterial3D_1on1b"), +"name": "Orange_Playground_Base_Color", +"primitive": 3, +"uv_scale": Vector4(10, 10, 10, 10), +"vertex_count": 18, +"vertex_data": PackedByteArray("/////wAAAAAAAP////8AAP///////wAAAAAAAP///z///wAAAAD/P///AAD///8///8AAAAA/z//////////P///AAD///8//////wAA/z///wAA///+fwAA//////5/AAAAAP///n/////////+fwAAAAD//7om/////wAAuib//wAAAAC6JgAA/////7om/3//v/9//7//f/+/AAD/fwAA/38AAP9//38AAP9/AAD/fwAA/38AAP9/////f////3////9/////f////3////9/////f///") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_v5hcs") + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_go6py"] +data = PackedVector3Array(0, 400, -500, 0, 400, 200, -500, 400, 200, -500, 0, 200, 0, 0, 200, 0, 0, -500, 0, 0, -500, 0, 0, 200, 0, 400, 200, 0, 400, 200, 0, 400, -500, 0, 0, -500, 0, 0, 200, -500, 0, 200, -500, 400, 200, -500, 400, 200, 0, 400, 200, 0, 0, 200, -500, 0, 200, 0, 0, -500, 0, 400, -500, 0, 400, -500, -500, 400, 200, -500, 0, 200) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_pvao0"] +resource_name = "Black_1" +cull_mode = 2 +albedo_texture = ExtResource("3_7c4ej") +roughness = 0.6 + +[sub_resource type="ArrayMesh" id="ArrayMesh_ge1ay"] +_surfaces = [{ +"aabb": AABB(0, 0, 0, 100, 100, 100), +"format": 34896613377, +"index_count": 36, +"index_data": PackedByteArray("AAACAAEAAAADAAIAAwAEAAIAAwAFAAQABQAGAAQABQAHAAYABwABAAYABwAAAAEAAQAEAAYAAQACAAQABwADAAAABwAFAAMA"), +"name": "Black_1", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 8, +"vertex_data": PackedByteArray("//8AAP//AAD///////8AAAAA/////wAAAAAAAP//AAAAAP//AAAAAAAAAAAAAAAA/////wAAAAD//wAAAAAAAA==") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_1or57"] +resource_name = "el_test_Cube_Black_1_0" +_surfaces = [{ +"aabb": AABB(0, 0, 0, 100, 100, 100), +"attribute_data": PackedByteArray("////f////3////////////9/////f////3//f/9//3////9/////f////////////3////9/////f/9//3//f/9//3//f/9//3////9///8AAP//AAD//wAA/38AAP9//3//f/9//3//f////3///wAA//8AAP//AAD/fwAA/38AAP//AAD//wAA/38AAP9//3//f/9//3//f////3///////3////9/////////////f////3////9//3//f/9/"), +"format": 34896613431, +"index_count": 36, +"index_data": PackedByteArray("AAACAAEAAAADAAIABAAGAAUABAAHAAYACAAKAAkACAALAAoADAAOAA0ADAAPAA4AEAASABEAEAATABIAFAAWABUAFAAXABYA"), +"material": SubResource("StandardMaterial3D_pvao0"), +"name": "Black_1", +"primitive": 3, +"uv_scale": Vector4(2, 2, 2, 2), +"vertex_count": 24, +"vertex_data": PackedByteArray("//8AAP///n/////////+fwAA//////5/AAAAAP///n8AAAAA////PwAA//////8/AAD//wAA/z8AAAAAAAD/PwAAAAAAAAAAAAD//wAAAAD/////AAAAAP//AAAAAAAA//8AAAAA/z//////AAD/P/////////8///8AAP///z////////8AAP////8AAAAAAAD//wAAAAAAAP////8AAP//AAAAAP8///8AAP///z8AAAAA////PwAAAAAAAP8//3////9/////f////3////9/////f////3////9/////f////3////9/////f////38AAP9/AAD/fwAA/38AAP9//7//f/+//3//v/9//78AAP9/AAD/fwAA/38AAP9/") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_ge1ay") + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_rggda"] +data = PackedVector3Array(100, 0, 100, 0, 100, 100, 100, 100, 100, 100, 0, 100, 0, 0, 100, 0, 100, 100, 0, 0, 100, 0, 100, 0, 0, 100, 100, 0, 0, 100, 0, 0, 0, 0, 100, 0, 0, 0, 0, 100, 100, 0, 0, 100, 0, 0, 0, 0, 100, 0, 0, 100, 100, 0, 100, 0, 0, 100, 100, 100, 100, 100, 0, 100, 0, 0, 100, 0, 100, 100, 100, 100, 100, 100, 100, 0, 100, 0, 100, 100, 0, 100, 100, 100, 0, 100, 100, 0, 100, 0, 100, 0, 0, 0, 0, 100, 100, 0, 100, 100, 0, 0, 0, 0, 0, 0, 0, 100) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_oplpo"] +resource_name = "Black_2" +cull_mode = 2 +albedo_texture = ExtResource("4_03be1") +roughness = 0.6 + +[sub_resource type="ArrayMesh" id="ArrayMesh_lnk4o"] +_surfaces = [{ +"aabb": AABB(-100, 0, 0, 100, 100, 100), +"format": 34896613377, +"index_count": 36, +"index_data": PackedByteArray("AAACAAEAAAADAAIAAwAEAAIAAwAFAAQABQAGAAQABQAHAAYABwABAAYABwAAAAEAAQAEAAYAAQACAAQABwADAAAABwAFAAMA"), +"name": "Black_2", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 8, +"vertex_data": PackedByteArray("//8AAP//AAD///////8AAAAA/////wAAAAAAAP//AAAAAP//AAAAAAAAAAAAAAAA/////wAAAAD//wAAAAAAAA==") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_1haoy"] +resource_name = "el_test_Cube__1__Black_2_0" +_surfaces = [{ +"aabb": AABB(-100, 0, 0, 100, 100, 100), +"attribute_data": PackedByteArray("/3//f/9//3//f////3///wAA//8AAP//AAD/fwAA/3////9/////f////////////3////9/////f/9//3//f////3////9/////////////f////3////9//3//f/9//3//f/9//3//f////3///wAA//8AAP//AAD/fwAA/3//f////3////9//3//f/9/////f////3////////////9//3//f/9//3////9///8AAP//AAD//wAA/38AAP9/"), +"format": 34896613431, +"index_count": 36, +"index_data": PackedByteArray("AAACAAEAAAADAAIABAAGAAUABAAHAAYACAAKAAkACAALAAoADAAOAA0ADAAPAA4AEAASABEAEAATABIAFAAWABUAFAAXABYA"), +"material": SubResource("StandardMaterial3D_oplpo"), +"name": "Black_2", +"primitive": 3, +"uv_scale": Vector4(2, 2, 2, 2), +"vertex_count": 24, +"vertex_data": PackedByteArray("//8AAP///n/////////+fwAA//////5/AAAAAP///n8AAAAA////PwAA//////8/AAD//wAA/z8AAAAAAAD/PwAAAAAAAAAAAAD//wAAAAD/////AAAAAP//AAAAAAAA//8AAAAA/z//////AAD/P/////////8///8AAP///z////////8AAP////8AAAAAAAD//wAAAAAAAP////8AAP//AAAAAP8///8AAP///z8AAAAA////PwAAAAAAAP8//3////9/////f////3////9/////f////3////9/////f////3////9/////f////38AAP9/AAD/fwAA/38AAP9//7//f/+//3//v/9//78AAP9/AAD/fwAA/38AAP9/") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_lnk4o") + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_wolup"] +data = PackedVector3Array(0, 0, 100, -100, 100, 100, 0, 100, 100, 0, 0, 100, -100, 0, 100, -100, 100, 100, -100, 0, 100, -100, 100, 0, -100, 100, 100, -100, 0, 100, -100, 0, 0, -100, 100, 0, -100, 0, 0, 0, 100, 0, -100, 100, 0, -100, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 100, 100, 0, 100, 0, 0, 0, 0, 0, 0, 100, 0, 100, 100, 0, 100, 100, -100, 100, 0, 0, 100, 0, 0, 100, 100, -100, 100, 100, -100, 100, 0, 0, 0, 0, -100, 0, 100, 0, 0, 100, 0, 0, 0, -100, 0, 0, -100, 0, 100) + +[sub_resource type="ArrayMesh" id="ArrayMesh_2ebap"] +_surfaces = [{ +"aabb": AABB(-100, 0, 0, 100, 100, 100), +"format": 34896613377, +"index_count": 36, +"index_data": PackedByteArray("AAACAAEAAAADAAIAAwAEAAIAAwAFAAQABQAGAAQABQAHAAYABwABAAYABwAAAAEAAQAEAAYAAQACAAQABwADAAAABwAFAAMA"), +"name": "Black_2", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 8, +"vertex_data": PackedByteArray("//8AAP//AAD///////8AAAAA/////wAAAAAAAP//AAAAAP//AAAAAAAAAAAAAAAA/////wAAAAD//wAAAAAAAA==") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_g7d8m"] +resource_name = "el_test_Cube__2__Black_2_0" +_surfaces = [{ +"aabb": AABB(-100, 0, 0, 100, 100, 100), +"attribute_data": PackedByteArray("/3//f/9//3//f////3///wAA//8AAP//AAD/fwAA/3////9/////f////////////3////9/////f/9//3//f////3////9/////////////f////3////9//3//f/9//3//f/9//3//f////3///wAA//8AAP//AAD/fwAA/3//f////3////9//3//f/9/////f////3////////////9//3//f/9//3////9///8AAP//AAD//wAA/38AAP9/"), +"format": 34896613431, +"index_count": 36, +"index_data": PackedByteArray("AAACAAEAAAADAAIABAAGAAUABAAHAAYACAAKAAkACAALAAoADAAOAA0ADAAPAA4AEAASABEAEAATABIAFAAWABUAFAAXABYA"), +"material": SubResource("StandardMaterial3D_oplpo"), +"name": "Black_2", +"primitive": 3, +"uv_scale": Vector4(2, 2, 2, 2), +"vertex_count": 24, +"vertex_data": PackedByteArray("//8AAP///n/////////+fwAA//////5/AAAAAP///n8AAAAA////PwAA//////8/AAD//wAA/z8AAAAAAAD/PwAAAAAAAAAAAAD//wAAAAD/////AAAAAP//AAAAAAAA//8AAAAA/z//////AAD/P/////////8///8AAP///z////////8AAP////8AAAAAAAD//wAAAAAAAP////8AAP//AAAAAP8///8AAP///z8AAAAA////PwAAAAAAAP8//3////9/////f////3////9/////f////3////9/////f////3////9/////f////38AAP9/AAD/fwAA/38AAP9//7//f/+//3//v/9//78AAP9/AAD/fwAA/38AAP9/") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_2ebap") + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_gyyky"] +data = PackedVector3Array(0, 0, 100, -100, 100, 100, 0, 100, 100, 0, 0, 100, -100, 0, 100, -100, 100, 100, -100, 0, 100, -100, 100, 0, -100, 100, 100, -100, 0, 100, -100, 0, 0, -100, 100, 0, -100, 0, 0, 0, 100, 0, -100, 100, 0, -100, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 100, 100, 0, 100, 0, 0, 0, 0, 0, 0, 100, 0, 100, 100, 0, 100, 100, -100, 100, 0, 0, 100, 0, 0, 100, 100, -100, 100, 100, -100, 100, 0, 0, 0, 0, -100, 0, 100, 0, 0, 100, 0, 0, 0, -100, 0, 0, -100, 0, 100) + +[sub_resource type="ArrayMesh" id="ArrayMesh_3axkl"] +_surfaces = [{ +"aabb": AABB(-100, 0, 0, 100, 100, 100), +"format": 34896613377, +"index_count": 36, +"index_data": PackedByteArray("AAACAAEAAAADAAIAAwAEAAIAAwAFAAQABQAGAAQABQAHAAYABwABAAYABwAAAAEAAQAEAAYAAQACAAQABwADAAAABwAFAAMA"), +"name": "Black_2", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 8, +"vertex_data": PackedByteArray("//8AAP//AAD///////8AAAAA/////wAAAAAAAP//AAAAAP//AAAAAAAAAAAAAAAA/////wAAAAD//wAAAAAAAA==") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_y7bdm"] +resource_name = "el_test_Cube__3__Black_2_0" +_surfaces = [{ +"aabb": AABB(-100, 0, 0, 100, 100, 100), +"attribute_data": PackedByteArray("/3//f/9//3//f////3///wAA//8AAP//AAD/fwAA/3////9/////f////////////3////9/////f/9//3//f////3////9/////////////f////3////9//3//f/9//3//f/9//3//f////3///wAA//8AAP//AAD/fwAA/3//f////3////9//3//f/9/////f////3////////////9//3//f/9//3////9///8AAP//AAD//wAA/38AAP9/"), +"format": 34896613431, +"index_count": 36, +"index_data": PackedByteArray("AAACAAEAAAADAAIABAAGAAUABAAHAAYACAAKAAkACAALAAoADAAOAA0ADAAPAA4AEAASABEAEAATABIAFAAWABUAFAAXABYA"), +"material": SubResource("StandardMaterial3D_oplpo"), +"name": "Black_2", +"primitive": 3, +"uv_scale": Vector4(2, 2, 2, 2), +"vertex_count": 24, +"vertex_data": PackedByteArray("//8AAP///n/////////+fwAA//////5/AAAAAP///n8AAAAA////PwAA//////8/AAD//wAA/z8AAAAAAAD/PwAAAAAAAAAAAAD//wAAAAD/////AAAAAP//AAAAAAAA//8AAAAA/z//////AAD/P/////////8///8AAP///z////////8AAP////8AAAAAAAD//wAAAAAAAP////8AAP//AAAAAP8///8AAP///z8AAAAA////PwAAAAAAAP8//3////9/////f////3////9/////f////3////9/////f////3////9/////f////38AAP9/AAD/fwAA/38AAP9//7//f/+//3//v/9//78AAP9/AAD/fwAA/38AAP9/") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_3axkl") + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_g8bcl"] +data = PackedVector3Array(0, 0, 100, -100, 100, 100, 0, 100, 100, 0, 0, 100, -100, 0, 100, -100, 100, 100, -100, 0, 100, -100, 100, 0, -100, 100, 100, -100, 0, 100, -100, 0, 0, -100, 100, 0, -100, 0, 0, 0, 100, 0, -100, 100, 0, -100, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 100, 100, 0, 100, 0, 0, 0, 0, 0, 0, 100, 0, 100, 100, 0, 100, 100, -100, 100, 0, 0, 100, 0, 0, 100, 100, -100, 100, 100, -100, 100, 0, 0, 0, 0, -100, 0, 100, 0, 0, 100, 0, 0, 0, -100, 0, 0, -100, 0, 100) + +[sub_resource type="ArrayMesh" id="ArrayMesh_s0g2b"] +_surfaces = [{ +"aabb": AABB(-100, 0, 0, 100, 100, 100), +"format": 34896613377, +"index_count": 36, +"index_data": PackedByteArray("AAACAAEAAAADAAIAAwAEAAIAAwAFAAQABQAGAAQABQAHAAYABwABAAYABwAAAAEAAQAEAAYAAQACAAQABwADAAAABwAFAAMA"), +"name": "Black_2", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 8, +"vertex_data": PackedByteArray("//8AAP//AAD///////8AAAAA/////wAAAAAAAP//AAAAAP//AAAAAAAAAAAAAAAA/////wAAAAD//wAAAAAAAA==") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_jg2k6"] +resource_name = "el_test_Cube__4__Black_2_0" +_surfaces = [{ +"aabb": AABB(-100, 0, 0, 100, 100, 100), +"attribute_data": PackedByteArray("/3//f/9//3//f////3///wAA//8AAP//AAD/fwAA/3////9/////f////////////3////9/////f/9//3//f////3////9/////////////f////3////9//3//f/9//3//f/9//3//f////3///wAA//8AAP//AAD/fwAA/3//f////3////9//3//f/9/////f////3////////////9//3//f/9//3////9///8AAP//AAD//wAA/38AAP9/"), +"format": 34896613431, +"index_count": 36, +"index_data": PackedByteArray("AAACAAEAAAADAAIABAAGAAUABAAHAAYACAAKAAkACAALAAoADAAOAA0ADAAPAA4AEAASABEAEAATABIAFAAWABUAFAAXABYA"), +"material": SubResource("StandardMaterial3D_oplpo"), +"name": "Black_2", +"primitive": 3, +"uv_scale": Vector4(2, 2, 2, 2), +"vertex_count": 24, +"vertex_data": PackedByteArray("//8AAP///n/////////+fwAA//////5/AAAAAP///n8AAAAA////PwAA//////8/AAD//wAA/z8AAAAAAAD/PwAAAAAAAAAAAAD//wAAAAD/////AAAAAP//AAAAAAAA//8AAAAA/z//////AAD/P/////////8///8AAP///z////////8AAP////8AAAAAAAD//wAAAAAAAP////8AAP//AAAAAP8///8AAP///z8AAAAA////PwAAAAAAAP8//3////9/////f////3////9/////f////3////9/////f////3////9/////f////38AAP9/AAD/fwAA/38AAP9//7//f/+//3//v/9//78AAP9/AAD/fwAA/38AAP9/") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_s0g2b") + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_1uclv"] +data = PackedVector3Array(0, 0, 100, -100, 100, 100, 0, 100, 100, 0, 0, 100, -100, 0, 100, -100, 100, 100, -100, 0, 100, -100, 100, 0, -100, 100, 100, -100, 0, 100, -100, 0, 0, -100, 100, 0, -100, 0, 0, 0, 100, 0, -100, 100, 0, -100, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 100, 100, 0, 100, 0, 0, 0, 0, 0, 0, 100, 0, 100, 100, 0, 100, 100, -100, 100, 0, 0, 100, 0, 0, 100, 100, -100, 100, 100, -100, 100, 0, 0, 0, 0, -100, 0, 100, 0, 0, 100, 0, 0, 0, -100, 0, 0, -100, 0, 100) [sub_resource type="Environment" id="Environment_ru18i"] glow_enabled = true @@ -14,7 +846,327 @@ script = ExtResource("1_d5e7i") [node name="Light" type="DirectionalLight3D" parent="."] transform = Transform3D(1, 0, 0, 0, 0.508004, 0.861354, 0, -0.861354, 0.508004, 0, 2.97783, 2.62213) -[node name="Map" parent="." instance=ExtResource("2_cnkr5")] +[node name="Map" type="Node3D" parent="."] + +[node name="Sketchfab_model" type="Node3D" parent="Map"] +transform = Transform3D(1, 0, 0, 0, -3.57628e-07, 1, 0, -1, -3.57628e-07, 23.5862, 0, -23.8731) + +[node name="6aaf6fa3ef1c4befb8003a833b2394d9_fbx" type="Node3D" parent="Map/Sketchfab_model"] +transform = Transform3D(0.01, 0, 0, 0, -3.57628e-09, -0.01, 0, 0.01, -3.57628e-09, 0, 0, 0) + +[node name="RootNode" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx"] + +[node name="Arena_Map_4" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode"] + +[node name="Arena_Map_4_1" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2980, 840, -1720) + +[node name="Obstacles" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -531.519, 1419.97, -1172.2) + +[node name="Cube__10_" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 312.73, -2160.51, 5994.69) + +[node name="Cube__10__Orange_Playground_Base_Color_0" type="MeshInstance3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/Cube__10_"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.10352e-05, 0, -6.10352e-05) +mesh = SubResource("ArrayMesh_kw7ro") +skeleton = NodePath("") + +[node name="StaticBody3D" type="StaticBody3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/Cube__10_/Cube__10__Orange_Playground_Base_Color_0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/Cube__10_/Cube__10__Orange_Playground_Base_Color_0/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_vpgxf") + +[node name="Cube__11_" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -987.27, -2160.51, 6794.69) + +[node name="Cube__11__Orange_Playground_Base_Color_0" type="MeshInstance3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/Cube__11_"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.000244141, 0, 0) +mesh = SubResource("ArrayMesh_7210i") +skeleton = NodePath("") + +[node name="StaticBody3D" type="StaticBody3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/Cube__11_/Cube__11__Orange_Playground_Base_Color_0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/Cube__11_/Cube__11__Orange_Playground_Base_Color_0/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_q5888") + +[node name="Cube__6_" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1712.73, -2160.51, 3494.69) + +[node name="Cube__6__Orange_Playground_Base_Color_0" type="MeshInstance3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/Cube__6_"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.00012207) +mesh = SubResource("ArrayMesh_77vh5") +skeleton = NodePath("") + +[node name="StaticBody3D" type="StaticBody3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/Cube__6_/Cube__6__Orange_Playground_Base_Color_0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/Cube__6_/Cube__6__Orange_Playground_Base_Color_0/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_gwixi") + +[node name="Cube__7_" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -787.27, -2160.51, 3294.69) + +[node name="Cube__7__Orange_Playground_Base_Color_0" type="MeshInstance3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/Cube__7_"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.00012207) +mesh = SubResource("ArrayMesh_4xdom") +skeleton = NodePath("") + +[node name="StaticBody3D" type="StaticBody3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/Cube__7_/Cube__7__Orange_Playground_Base_Color_0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/Cube__7_/Cube__7__Orange_Playground_Base_Color_0/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_gpqh8") + +[node name="Cube__8_" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2112.73, -2160.51, 5194.69) + +[node name="Cube__8__Orange_Playground_Base_Color_0" type="MeshInstance3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/Cube__8_"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 7.62939e-06) +mesh = SubResource("ArrayMesh_nlknl") +skeleton = NodePath("") + +[node name="StaticBody3D" type="StaticBody3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/Cube__8_/Cube__8__Orange_Playground_Base_Color_0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/Cube__8_/Cube__8__Orange_Playground_Base_Color_0/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_4g871") + +[node name="Cube__9_" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2912.73, -2160.51, 6194.69) + +[node name="Cube__9__Orange_Playground_Base_Color_0" type="MeshInstance3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/Cube__9_"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00012207, 0, -6.10352e-05) +mesh = SubResource("ArrayMesh_adj4m") +skeleton = NodePath("") + +[node name="StaticBody3D" type="StaticBody3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/Cube__9_/Cube__9__Orange_Playground_Base_Color_0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/Cube__9_/Cube__9__Orange_Playground_Base_Color_0/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_38cn8") + +[node name="PolyShape" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2912.73, -2160.51, 5394.69) + +[node name="PolyShape_Orange_Playground_Base_Color_0" type="MeshInstance3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00012207, 0, 7.62939e-06) +mesh = SubResource("ArrayMesh_3c2kp") +skeleton = NodePath("") + +[node name="StaticBody3D" type="StaticBody3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape/PolyShape_Orange_Playground_Base_Color_0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape/PolyShape_Orange_Playground_Base_Color_0/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_fbarj") + +[node name="PolyShape__10_" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1312.73, -2160.51, 6994.69) + +[node name="PolyShape__10__Orange_Playground_Base_Color_0" type="MeshInstance3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__10_"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.52588e-05, 0, -0.00012207) +mesh = SubResource("ArrayMesh_im62s") +skeleton = NodePath("") + +[node name="StaticBody3D" type="StaticBody3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__10_/PolyShape__10__Orange_Playground_Base_Color_0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__10_/PolyShape__10__Orange_Playground_Base_Color_0/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_f2uk1") + +[node name="PolyShape__11_" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2912.73, -2160.51, 7494.69) + +[node name="PolyShape__11__Orange_Playground_Base_Color_0" type="MeshInstance3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__11_"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00012207, 0, 0) +mesh = SubResource("ArrayMesh_1khtm") +skeleton = NodePath("") + +[node name="StaticBody3D" type="StaticBody3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__11_/PolyShape__11__Orange_Playground_Base_Color_0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__11_/PolyShape__11__Orange_Playground_Base_Color_0/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_mfvf3") + +[node name="PolyShape__1_" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1912.73, -2160.51, 4094.69) + +[node name="PolyShape__1__Orange_Playground_Base_Color_0" type="MeshInstance3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__1_"] +mesh = SubResource("ArrayMesh_tkghw") +skeleton = NodePath("") + +[node name="StaticBody3D" type="StaticBody3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__1_/PolyShape__1__Orange_Playground_Base_Color_0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__1_/PolyShape__1__Orange_Playground_Base_Color_0/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_ein8y") + +[node name="PolyShape__2_" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles"] +transform = Transform3D(1, 0, 0, 0, 0.5, 0, 0, 0, 1, 1212.73, -2160.51, 6194.69) + +[node name="PolyShape__2__Orange_Playground_Base_Color_1_0" type="MeshInstance3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__2_"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -6.10352e-05) +mesh = SubResource("ArrayMesh_d3xwo") +skeleton = NodePath("") + +[node name="StaticBody3D" type="StaticBody3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__2_/PolyShape__2__Orange_Playground_Base_Color_1_0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__2_/PolyShape__2__Orange_Playground_Base_Color_1_0/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_2l37e") + +[node name="PolyShape__3_" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -587.27, -2160.51, 7494.69) + +[node name="PolyShape__3__Orange_Playground_Base_Color_0" type="MeshInstance3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__3_"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00012207, 0, 0) +mesh = SubResource("ArrayMesh_drkb5") +skeleton = NodePath("") + +[node name="StaticBody3D" type="StaticBody3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__3_/PolyShape__3__Orange_Playground_Base_Color_0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__3_/PolyShape__3__Orange_Playground_Base_Color_0/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_sutts") + +[node name="PolyShape__4_" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles"] +transform = Transform3D(1, 0, 0, 0, 0.5, 0, 0, 0, 1, 2012.73, -2160.51, 7094.69) + +[node name="PolyShape__4__Orange_Playground_Base_Color_1_0" type="MeshInstance3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__4_"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.00012207) +mesh = SubResource("ArrayMesh_srqcn") +skeleton = NodePath("") + +[node name="StaticBody3D" type="StaticBody3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__4_/PolyShape__4__Orange_Playground_Base_Color_1_0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__4_/PolyShape__4__Orange_Playground_Base_Color_1_0/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_t41o2") + +[node name="PolyShape__5_" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles"] +transform = Transform3D(1, 0, 0, 0, 0.5, 0, 0, 0, 1, 412.73, -2160.51, 5194.69) + +[node name="PolyShape__5__Orange_Playground_Base_Color_1_0" type="MeshInstance3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__5_"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.10352e-05, 0, 7.62939e-06) +mesh = SubResource("ArrayMesh_f24uy") +skeleton = NodePath("") + +[node name="StaticBody3D" type="StaticBody3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__5_/PolyShape__5__Orange_Playground_Base_Color_1_0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__5_/PolyShape__5__Orange_Playground_Base_Color_1_0/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_v2jef") + +[node name="PolyShape__6_" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles"] +transform = Transform3D(1, 0, 0, 0, 0.5, 0, 0, 0, 1, -687.27, -2160.51, 5794.69) + +[node name="PolyShape__6__Orange_Playground_Base_Color_1_0" type="MeshInstance3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__6_"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00012207, 0, 0) +mesh = SubResource("ArrayMesh_ev1uq") +skeleton = NodePath("") + +[node name="StaticBody3D" type="StaticBody3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__6_/PolyShape__6__Orange_Playground_Base_Color_1_0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__6_/PolyShape__6__Orange_Playground_Base_Color_1_0/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_fo28g") + +[node name="PolyShape__7_" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -687.27, -2160.51, 4294.69) + +[node name="PolyShape__7__Orange_Playground_Base_Color_0" type="MeshInstance3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__7_"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00012207, 0, 6.10352e-05) +mesh = SubResource("ArrayMesh_1e4n4") +skeleton = NodePath("") + +[node name="StaticBody3D" type="StaticBody3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__7_/PolyShape__7__Orange_Playground_Base_Color_0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__7_/PolyShape__7__Orange_Playground_Base_Color_0/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_68hyy") + +[node name="PolyShape__8_" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles"] +transform = Transform3D(1, 0, 0, 0, 0.5, 0, 0, 0, 1, 2712.73, -2160.51, 4194.69) + +[node name="PolyShape__8__Orange_Playground_Base_Color_1_0" type="MeshInstance3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__8_"] +mesh = SubResource("ArrayMesh_3mexm") +skeleton = NodePath("") + +[node name="StaticBody3D" type="StaticBody3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__8_/PolyShape__8__Orange_Playground_Base_Color_1_0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__8_/PolyShape__8__Orange_Playground_Base_Color_1_0/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_a617f") + +[node name="PolyShape__9_" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles"] +transform = Transform3D(-0.499997, 0, 0.866027, 0, 1, 0, -0.866027, 0, -0.499997, 312.73, -2160.51, 3394.69) + +[node name="PolyShape__9__Orange_Playground_Base_Color_0" type="MeshInstance3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__9_"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.000152588, -7.62939e-06, -7.62939e-05) +mesh = SubResource("ArrayMesh_hb131") +skeleton = NodePath("") + +[node name="StaticBody3D" type="StaticBody3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__9_/PolyShape__9__Orange_Playground_Base_Color_0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Obstacles/PolyShape__9_/PolyShape__9__Orange_Playground_Base_Color_0/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_go6py") + +[node name="Walls" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -531.519, 1419.97, -1172.2) + +[node name="Cube" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Walls"] +transform = Transform3D(50, 0, 0, 0, 1, 0, 0, 0, 50, -1487.27, -2260.51, 2894.69) + +[node name="Cube_Black_1_0" type="MeshInstance3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Walls/Cube"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.8147e-06, 0, 0) +mesh = SubResource("ArrayMesh_1or57") +skeleton = NodePath("") + +[node name="StaticBody3D" type="StaticBody3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Walls/Cube/Cube_Black_1_0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Walls/Cube/Cube_Black_1_0/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_rggda") + +[node name="Cube__1_" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Walls"] +transform = Transform3D(1, 0, 0, 0, 4, 0, 0, 0, 49, -1387.27, -2160.51, 2894.69) + +[node name="Cube__1__Black_2_0" type="MeshInstance3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Walls/Cube__1_"] +mesh = SubResource("ArrayMesh_1haoy") +skeleton = NodePath("") + +[node name="StaticBody3D" type="StaticBody3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Walls/Cube__1_/Cube__1__Black_2_0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Walls/Cube__1_/Cube__1__Black_2_0/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_wolup") + +[node name="Cube__2_" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Walls"] +transform = Transform3D(3.21865e-06, 0, 49, 0, 4, 0, -1, 0, 0.000157714, -1387.27, -2160.51, 2894.69) + +[node name="Cube__2__Black_2_0" type="MeshInstance3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Walls/Cube__2_"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.000321409, 0, -4.97505e-06) +mesh = SubResource("ArrayMesh_g7d8m") +skeleton = NodePath("") + +[node name="StaticBody3D" type="StaticBody3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Walls/Cube__2_/Cube__2__Black_2_0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Walls/Cube__2_/Cube__2__Black_2_0/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_gyyky") + +[node name="Cube__3_" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Walls"] +transform = Transform3D(1, 0, 0, 0, 4, 0, 0, 0, 49, 3512.73, -2160.51, 2994.69) + +[node name="Cube__3__Black_2_0" type="MeshInstance3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Walls/Cube__3_"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -3.8147e-06) +mesh = SubResource("ArrayMesh_y7bdm") +skeleton = NodePath("") + +[node name="StaticBody3D" type="StaticBody3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Walls/Cube__3_/Cube__3__Black_2_0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Walls/Cube__3_/Cube__3__Black_2_0/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_g8bcl") + +[node name="Cube__4_" type="Node3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Walls"] +transform = Transform3D(3.21865e-06, 0, -49, 0, 4, 0, 1, 0, 0.000157714, 3412.73, -2160.51, 7894.69) + +[node name="Cube__4__Black_2_0" type="MeshInstance3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Walls/Cube__4_"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.000145112, 0, 0) +mesh = SubResource("ArrayMesh_jg2k6") +skeleton = NodePath("") + +[node name="StaticBody3D" type="StaticBody3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Walls/Cube__4_/Cube__4__Black_2_0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Map/Sketchfab_model/6aaf6fa3ef1c4befb8003a833b2394d9_fbx/RootNode/Arena_Map_4/Arena_Map_4_1/Walls/Cube__4_/Cube__4__Black_2_0/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_1uclv") + +[node name="CSGBox3D" type="CSGBox3D" parent="Map" groups=["target"]] +transform = Transform3D(1, 0, 0, 0, 1.48122, 0, 0, 0, 1, 2.17806, 1.80141, 0) +use_collision = true +script = ExtResource("5_3oqpw") [node name="Spawns" type="Node3D" parent="."] diff --git a/scenes/weapon/bullet.gd b/scenes/weapon/bullet.gd index 2cda075..5780448 100644 --- a/scenes/weapon/bullet.gd +++ b/scenes/weapon/bullet.gd @@ -2,8 +2,9 @@ extends Node3D const SPEED = 715 -@onready var mesh = $MeshInstance3D -@onready var ray = $RayCast3D +@onready var mesh = $RigidBody3D/MeshInstance3D +@onready var rigid_body_3d: RigidBody3D = $RigidBody3D +@onready var ray = $RigidBody3D/RayCast3D @onready var particles = $GPUParticles3D # Called when the node enters the scene tree for the first time. @@ -14,11 +15,15 @@ func _ready() -> void: # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): position += transform.basis * Vector3(0, 0, SPEED) * delta - ray.collision_mask = 1 - ray.enabled = 1 + rigid_body_3d.set_use_continuous_collision_detection(true) + #ray.collision_mask = 1 + #ray.enabled = 1 + ray.target_position.z = SPEED / Engine.get_frames_per_second() if ray.is_colliding(): - mesh.visible = false + rigid_body_3d.visible = false particles.emitting = true + #if ray.get_collider().is_in_group("body"): + #print("head") await get_tree().create_timer(1.0).timeout queue_free() diff --git a/scenes/weapon/bullet.tscn b/scenes/weapon/bullet.tscn index 853d70f..5baa41d 100644 --- a/scenes/weapon/bullet.tscn +++ b/scenes/weapon/bullet.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=7 format=3 uid="uid://b0agqeg53tey5"] +[gd_scene load_steps=8 format=3 uid="uid://b0agqeg53tey5"] [ext_resource type="Script" path="res://scenes/weapon/bullet.gd" id="1_th28m"] @@ -8,6 +8,10 @@ size = Vector3(0.2, 0.2, 0.5) [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_p8o05"] albedo_color = Color(0.894987, 0.000702324, 0.905119, 1) +[sub_resource type="CylinderShape3D" id="CylinderShape3D_l3sdq"] +height = 0.3 +radius = 0.08 + [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ynv38"] albedo_color = Color(0.929412, 0, 0, 1) emission_enabled = true @@ -27,33 +31,42 @@ linear_accel_max = 6.67 size = Vector3(0.05, 0.05, 0.05) [node name="Bullet" type="Node3D"] -visible = false script = ExtResource("1_th28m") -[node name="MeshInstance3D" type="MeshInstance3D" parent="."] +[node name="RigidBody3D" type="RigidBody3D" parent="."] +mass = 0.01 +continuous_cd = true + +[node name="MeshInstance3D" type="MeshInstance3D" parent="RigidBody3D"] transform = Transform3D(0.663102, 0, 0, 0, 0.601826, 0, 0, 0, 0.58984, 0, 0, 0) mesh = SubResource("BoxMesh_vxst2") +skeleton = NodePath("../..") surface_material_override/0 = SubResource("StandardMaterial3D_p8o05") -[node name="RayCast3D" type="RayCast3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.100459) -target_position = Vector3(0, 0, -0.5) +[node name="RayCast3D" type="RayCast3D" parent="RigidBody3D" groups=["body"]] +exclude_parent = false +target_position = Vector3(0, 0, 2) hit_back_faces = false collide_with_areas = true +[node name="Timer" type="Timer" parent="RigidBody3D"] +wait_time = 10.0 +one_shot = true +autostart = true + +[node name="CollisionShape3D" type="CollisionShape3D" parent="RigidBody3D"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0) +shape = SubResource("CylinderShape3D_l3sdq") + [node name="GPUParticles3D" type="GPUParticles3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.18476) material_override = SubResource("StandardMaterial3D_ynv38") emitting = false amount = 10 +lifetime = 6.29 one_shot = true explosiveness = 1.0 process_material = SubResource("ParticleProcessMaterial_58cgi") draw_pass_1 = SubResource("BoxMesh_mfkmi") -[node name="Timer" type="Timer" parent="."] -wait_time = 10.0 -one_shot = true -autostart = true - -[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"] +[connection signal="timeout" from="RigidBody3D/Timer" to="." method="_on_timer_timeout"] diff --git a/scenes/weapon/guns/ak/bullet.gd b/scenes/weapon/guns/ak/bullet.gd index a764fe9..3d11066 100644 --- a/scenes/weapon/guns/ak/bullet.gd +++ b/scenes/weapon/guns/ak/bullet.gd @@ -3,7 +3,6 @@ extends Node3D const SPEED = 715 @onready var mesh = $Object_10 -@onready var trace = $Trace # Called when the node enters the scene tree for the first time. func _ready() -> void: @@ -13,12 +12,6 @@ func _ready() -> void: # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): position += transform.basis * Vector3(0, 0, SPEED) * delta - trace.collision_mask = 1 - trace.enabled = 1 - if trace.is_colliding(): - mesh.visible = false - await get_tree().create_timer(1.0).timeout - queue_free() func _on_timer_timeout(): diff --git a/scenes/weapon/guns/ak/bullet.tscn b/scenes/weapon/guns/ak/bullet.tscn index adf603f..cd16409 100644 --- a/scenes/weapon/guns/ak/bullet.tscn +++ b/scenes/weapon/guns/ak/bullet.tscn @@ -52,9 +52,5 @@ transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, mesh = SubResource("ArrayMesh_uqgp1") skeleton = NodePath("") -[node name="Trace" type="RayCast3D" parent="."] -target_position = Vector3(0, 0, 1) -hit_back_faces = false -collide_with_areas = true - [node name="Timer" type="Timer" parent="."] +wait_time = 0.2 diff --git a/scenes/weapon/guns/ak/with_hands.gd b/scenes/weapon/guns/ak/with_hands.gd index c66d01f..b5ab105 100644 --- a/scenes/weapon/guns/ak/with_hands.gd +++ b/scenes/weapon/guns/ak/with_hands.gd @@ -4,23 +4,30 @@ extends Node3D # Called when the node enters the scene tree for the first time. func _ready() -> void: pass # Replace with function body. -@onready var barrel: Node3D = $Barrel +@onready var bullet_trace_distance: Node3D = $BulletTraceDistance +@onready var bullet_trail_end: Node3D = $BulletTrailEnd func shoot() -> Error: + var bullet_start_node: Node3D = bullet_trace_distance.find_child("Start") + var bullet_end_node: Node3D = bullet_trace_distance.find_child("End") + if bullet_start_node and bullet_end_node: + var path := "res://scenes/weapon/misc/bullet_trail_generic.tscn" + if not ResourceLoader.exists(path): + return ERR_DOES_NOT_EXIST + var scene: PackedScene = ResourceLoader.load(path) + if not scene.can_instantiate(): + return ERR_CANT_OPEN + + var node: MeshInstance3D = scene.instantiate() + node.init(bullet_start_node.global_position, bullet_end_node.global_position) + var root := get_tree().get_root() + root.add_child(node) + return OK + else: + push_warning("Couldn't generate a bullet trace, no distance node found") + return ERR_BUG # -- TODO: It should not be hardcoded - var path := "res://scenes/weapon/guns/ak/bullet.tscn" - if not ResourceLoader.exists(path): - return ERR_DOES_NOT_EXIST - var scene: PackedScene = ResourceLoader.load(path) - if not scene.can_instantiate(): - return ERR_CANT_OPEN - var node: Node3D = scene.instantiate() - var root := get_tree().get_root() - node.position = barrel.global_position - node.transform.basis = barrel.global_transform.basis - root.add_child(node) - return OK - + # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: pass diff --git a/scenes/weapon/guns/ak/with_hands.tscn b/scenes/weapon/guns/ak/with_hands.tscn index 1710932..7378d5f 100644 --- a/scenes/weapon/guns/ak/with_hands.tscn +++ b/scenes/weapon/guns/ak/with_hands.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=54 format=4 uid="uid://dtvo21mk1webd"] +[gd_scene load_steps=55 format=4 uid="uid://dtvo21mk1webd"] [ext_resource type="Script" path="res://scenes/weapon/guns/ak/with_hands.gd" id="1_2iqts"] [ext_resource type="PackedScene" uid="uid://dab7jttp7ywfh" path="res://scenes/weapon/guns/ak/gun.tscn" id="1_aaafm"] +[ext_resource type="PackedScene" uid="uid://bjyltbtx45cqs" path="res://scenes/weapon/misc/bullet_trace_distance.tscn" id="3_5ff4y"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_tg27p"] @@ -734,5 +735,5 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.286444, 0, -0.397435) mesh = SubResource("ArrayMesh_kj4i3") skeleton = NodePath("") -[node name="Barrel" type="Node3D" parent="."] -transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0, 0.161938, -4.38604) +[node name="BulletTraceDistance" parent="." instance=ExtResource("3_5ff4y")] +transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -3.86167e-07, 0.200684, -4.41724) diff --git a/scenes/weapon/misc/bullet_trace_distance.tscn b/scenes/weapon/misc/bullet_trace_distance.tscn new file mode 100644 index 0000000..9abdc04 --- /dev/null +++ b/scenes/weapon/misc/bullet_trace_distance.tscn @@ -0,0 +1,8 @@ +[gd_scene format=3 uid="uid://bjyltbtx45cqs"] + +[node name="BulletTraceDistance" type="Node3D"] + +[node name="Start" type="Node3D" parent="."] + +[node name="End" type="Node3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 300) diff --git a/scenes/weapon/misc/bullet_trail_generic.gd b/scenes/weapon/misc/bullet_trail_generic.gd new file mode 100644 index 0000000..941cd8b --- /dev/null +++ b/scenes/weapon/misc/bullet_trail_generic.gd @@ -0,0 +1,22 @@ +extends MeshInstance3D + +func init(pos1, pos2): + var draw_mesh := ImmediateMesh.new() + mesh = draw_mesh + draw_mesh.surface_begin(Mesh.PRIMITIVE_LINES, material_override) + draw_mesh.surface_add_vertex(pos1) + draw_mesh.surface_add_vertex(pos2) + draw_mesh.surface_end() + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass + + +func _on_timer_timeout() -> void: + queue_free() diff --git a/scenes/weapon/misc/bullet_trail_generic.tscn b/scenes/weapon/misc/bullet_trail_generic.tscn new file mode 100644 index 0000000..d872238 --- /dev/null +++ b/scenes/weapon/misc/bullet_trail_generic.tscn @@ -0,0 +1,20 @@ +[gd_scene load_steps=3 format=3 uid="uid://balgqtw1ijpw3"] + +[ext_resource type="Script" path="res://scenes/weapon/misc/bullet_trail_generic.gd" id="1_k8eg1"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ybqvs"] +albedo_color = Color(0.934388, 0.967243, 0.955863, 1) +emission = Color(1, 1, 1, 1) +emission_energy_multiplier = 2.7 + +[node name="BulletTrailGeneric" type="MeshInstance3D"] +material_override = SubResource("StandardMaterial3D_ybqvs") +visibility_range_end = 1891.27 +script = ExtResource("1_k8eg1") + +[node name="Timer" type="Timer" parent="."] +wait_time = 0.05 +one_shot = true +autostart = true + +[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"] diff --git a/scenes/weapon/misc/muzzle_flash.tscn b/scenes/weapon/misc/muzzle_flash.tscn new file mode 100644 index 0000000..76fe267 --- /dev/null +++ b/scenes/weapon/misc/muzzle_flash.tscn @@ -0,0 +1,3 @@ +[gd_scene format=3 uid="uid://bfelcp5dmag5r"] + +[node name="MuzzleFlash" type="MeshInstance3D"] diff --git a/scripts/player/player_input_controller.gd b/scripts/player/player_input_controller.gd index ddbf096..cb1a3a5 100644 --- a/scripts/player/player_input_controller.gd +++ b/scripts/player/player_input_controller.gd @@ -3,6 +3,8 @@ # --------------------------------------------------------------------- class_name PlayerInput extends CharacterBody3D +var health: int = 100 + @export_category("PlayerInput") const SPEED = 5.0 @@ -160,15 +162,39 @@ var bullet = load("res://scenes/weapon/bullet.tscn") @onready var shooting_raycast: RayCast3D = $FirstPersonCameraMount/RayCast3D @onready var bullet_starting_point: Node3D = $FirstPersonCameraMount/BulletStartingPoint - +@onready var aim_ray: RayCast3D = $FirstPersonCameraMount/BulletStartingPoint/AimRay # --find the gun node and exec shoot func _shoot(): + if aim_ray.is_colliding(): + var collider := aim_ray.get_collider() + if collider != null and collider.is_in_group("target"): + aim_ray.get_collider().take_damage() var root := get_tree().get_root() - #if !gun_anim.is_playing(): - #gun_anim.play("Shoot") gun_with_hands.shoot() - #gun_mount_anim.play("shooting") - var node: Node3D = bullet.instantiate() - node.position = bullet_starting_point.global_position - node.transform.basis = bullet_starting_point.global_transform.basis - root.add_child(node) + +func _get_camera_collision(): + var viewport = get_viewport().size + var ray_origin = first_view_camera.project_ray_origin(viewport / 2) + var ray_end = ray_origin + first_view_camera.project_ray_normal(viewport / 2 * 100) + var new_intersection = PhysicsRayQueryParameters3D.create(ray_origin, ray_end) + var intersection = get_world_3d().direct_space_state.intersect_ray(new_intersection) + if not intersection.is_empty(): + var collision_point = intersection.position + print("gotcha") + return collision_point + else: + return ray_end + +func _hit_scan_collision(collision_point): + var viewport = get_viewport().size + var ray_origin = first_view_camera.project_ray_origin(viewport / 2) + var ray_end = ray_origin + first_view_camera.project_ray_normal(viewport / 2 * 100) + var new_intersection = PhysicsRayQueryParameters3D.create(ray_origin, ray_end) + var bullet_collision = get_world_3d().direct_space_state.intersect_ray(new_intersection) + if bullet_collision: + print(bullet_collision) + _hit_scan_damage(bullet_collision.collider) + +func _hit_scan_damage(Collider): + #if Collider.is_in_group("target") and Collider.has_method("take_damage"): + print("damaged") diff --git a/shaders/highlight.gdshader b/shaders/highlight.gdshader new file mode 100644 index 0000000..40257d2 --- /dev/null +++ b/shaders/highlight.gdshader @@ -0,0 +1,16 @@ +shader_type spatial; +render_mode unshaded, depth_draw_never; + +uniform vec4 shine_color : source_color = vec4( 1.0, 1.0, 1.0, 1.0 ); +uniform float cycle_interval : hint_range(0.5, 5.0) = 1.0; +uniform float shine_speed : hint_range(1.0, 5.0) = 3.0; +uniform float shine_width : hint_range(1.0, 100.0) = 3.0; + +void fragment( ) +{ + vec3 vertex = ( INV_VIEW_MATRIX * vec4( VERTEX, 1.0 ) ).xyz; + float width = shine_width * 0.001 * cycle_interval; + float frequency = floor( sin( vertex.z * cycle_interval + TIME * shine_speed * cycle_interval ) + width ); + ALBEDO = shine_color.rgb; + ALPHA = clamp( ( 1.0 - dot( NORMAL, VIEW ) ) * frequency * shine_color.a, 0.0, 1.0 ); +} \ No newline at end of file