[gd_scene load_steps=24 format=2] [ext_resource path="res://assets/entities/missile/missile.glb" type="PackedScene" id=1] [ext_resource path="res://assets/entities/missile/missile_albedo.png" type="Texture" id=2] [ext_resource path="res://scenes/entities/missile.gd" type="Script" id=3] [ext_resource path="res://scenes/entities/missiles/missile_exhaust.gdshader" type="Shader" id=4] [sub_resource type="SpatialMaterial" id=2] albedo_texture = ExtResource( 2 ) metallic = 1.0 roughness = 0.41 [sub_resource type="CapsuleShape" id=1] height = 10.1286 [sub_resource type="SphereMesh" id=9] radius = 0.35 height = 0.5 radial_segments = 128 rings = 64 [sub_resource type="ShaderMaterial" id=14] shader = ExtResource( 4 ) shader_param/ANIM_SPEED = 100.0 shader_param/power = 1.0 [sub_resource type="ParticlesMaterial" id=3] emission_shape = 1 emission_sphere_radius = 0.25 gravity = Vector3( 0, 40, 0 ) [sub_resource type="Shader" id=5] code = "shader_type spatial; render_mode depth_draw_opaque, unshaded, shadows_disabled; uniform float MIX = 1.; uniform float particle_alpha: hint_range(0.0, 1.0) = 1.0; uniform vec4 top_color: hint_color = vec4(.2, .5, .8, 0.3); uniform vec4 bot_color: hint_color = vec4(.2, .5, .8, 1); void fragment() { vec4 exhaust_color = mix(top_color, bot_color, .5); ALPHA = exhaust_color.a; ALBEDO = exhaust_color.rgb; } " [sub_resource type="ShaderMaterial" id=6] shader = SubResource( 5 ) shader_param/MIX = 1.0 shader_param/particle_alpha = 1.0 shader_param/top_color = Color( 0.2, 0.5, 0.8, 0.3 ) shader_param/bot_color = Color( 0.2, 0.5, 0.8, 1 ) [sub_resource type="SphereMesh" id=4] material = SubResource( 6 ) radius = 0.025 height = 0.05 radial_segments = 32 rings = 16 [sub_resource type="ShaderMaterial" id=15] shader = ExtResource( 4 ) shader_param/ANIM_SPEED = 100.0 shader_param/power = 1.0 [sub_resource type="ShaderMaterial" id=16] shader = ExtResource( 4 ) shader_param/ANIM_SPEED = 100.0 shader_param/power = 1.0 [sub_resource type="ShaderMaterial" id=17] shader = ExtResource( 4 ) shader_param/ANIM_SPEED = 100.0 shader_param/power = 1.0 [sub_resource type="ShaderMaterial" id=18] shader = ExtResource( 4 ) shader_param/ANIM_SPEED = 100.0 shader_param/power = 1.0 [sub_resource type="ShaderMaterial" id=19] shader = ExtResource( 4 ) shader_param/ANIM_SPEED = 100.0 shader_param/power = 1.0 [sub_resource type="ShaderMaterial" id=20] shader = ExtResource( 4 ) shader_param/ANIM_SPEED = 100.0 shader_param/power = 1.0 [sub_resource type="ShaderMaterial" id=21] shader = ExtResource( 4 ) shader_param/ANIM_SPEED = 100.0 shader_param/power = 1.0 [sub_resource type="ShaderMaterial" id=10] shader = ExtResource( 4 ) shader_param/ANIM_SPEED = 100.0 shader_param/power = 1.0 [sub_resource type="ShaderMaterial" id=11] shader = ExtResource( 4 ) shader_param/ANIM_SPEED = 100.0 shader_param/power = 1.0 [sub_resource type="ShaderMaterial" id=12] shader = ExtResource( 4 ) shader_param/ANIM_SPEED = 100.0 shader_param/power = 1.0 [sub_resource type="ShaderMaterial" id=13] shader = ExtResource( 4 ) shader_param/ANIM_SPEED = 100.0 shader_param/power = 1.0 [node name="missile" instance=ExtResource( 1 )] script = ExtResource( 3 ) [node name="missile body" parent="." index="0"] transform = Transform( -1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, -0.851097 ) material/0 = SubResource( 2 ) [node name="RigidBody" type="RigidBody" parent="." index="1"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.71819 ) [node name="CollisionShape" type="CollisionShape" parent="RigidBody" index="0"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.371096 ) shape = SubResource( 1 ) [node name="Exhaust" type="Spatial" parent="." index="2"] transform = Transform( -1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 4.04751 ) [node name="Main" type="Spatial" parent="Exhaust" index="0"] [node name="MainThrusterTL" type="MeshInstance" parent="Exhaust/Main" index="0"] transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0.5, 0.5, 0.0999999 ) mesh = SubResource( 9 ) skeleton = NodePath("../..") material/0 = SubResource( 14 ) [node name="Particles" type="Particles" parent="Exhaust/Main/MainThrusterTL" index="0"] transform = Transform( 1, 0, 0, 0, -1, 8.74228e-08, 0, -8.74228e-08, -1, 0, 0, 0 ) cast_shadow = 0 emitting = false amount = 50 lifetime = 3.0 visibility_aabb = AABB( nan, 0.05694, -7.38708, 0.867362, 0.904675, 14.7742 ) process_material = SubResource( 3 ) draw_pass_1 = SubResource( 4 ) [node name="MainThrusterTR" type="MeshInstance" parent="Exhaust/Main" index="1"] transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, -0.5, 0.5, 0.0999999 ) mesh = SubResource( 9 ) skeleton = NodePath(".") material/0 = SubResource( 15 ) [node name="Particles" type="Particles" parent="Exhaust/Main/MainThrusterTR" index="0"] transform = Transform( 1, 0, 0, 0, -1, 8.74228e-08, 0, -8.74228e-08, -1, 0, 0, 0 ) cast_shadow = 0 emitting = false amount = 50 lifetime = 3.0 visibility_aabb = AABB( nan, 0.05694, -7.38708, 0.867362, 0.904675, 14.7742 ) process_material = SubResource( 3 ) draw_pass_1 = SubResource( 4 ) [node name="MainThrusterBL" type="MeshInstance" parent="Exhaust/Main" index="2"] transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0.5, -0.5, 0.0999999 ) mesh = SubResource( 9 ) skeleton = NodePath(".") material/0 = SubResource( 16 ) [node name="Particles" type="Particles" parent="Exhaust/Main/MainThrusterBL" index="0"] transform = Transform( 1, 0, 0, 0, -1, 8.74228e-08, 0, -8.74228e-08, -1, 0, 0, 0 ) cast_shadow = 0 emitting = false amount = 50 lifetime = 3.0 visibility_aabb = AABB( nan, 0.05694, -7.38708, 0.867362, 0.904675, 14.7742 ) process_material = SubResource( 3 ) draw_pass_1 = SubResource( 4 ) [node name="MainThrusterBR" type="MeshInstance" parent="Exhaust/Main" index="3"] transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, -0.5, -0.5, 0.0999999 ) mesh = SubResource( 9 ) skeleton = NodePath(".") material/0 = SubResource( 17 ) [node name="Particles" type="Particles" parent="Exhaust/Main/MainThrusterBR" index="0"] transform = Transform( 1, 0, 0, 0, -1, 8.74228e-08, 0, -8.74228e-08, -1, 0, 0, 0 ) cast_shadow = 0 emitting = false amount = 50 lifetime = 3.0 visibility_aabb = AABB( nan, 0.05694, -7.38708, 0.867362, 0.904675, 14.7742 ) process_material = SubResource( 3 ) draw_pass_1 = SubResource( 4 ) [node name="RearThrusters" type="Spatial" parent="Exhaust" index="1"] [node name="ThrusterLeft" type="MeshInstance" parent="Exhaust/RearThrusters" index="0"] transform = Transform( -8.74228e-09, -0.2, 0, 0.2, -8.74228e-09, 0, 0, 0, 0.2, 1.02839, 0, 2.9246 ) mesh = SubResource( 9 ) skeleton = NodePath("../../Main/MainThrusterTL") material/0 = SubResource( 18 ) [node name="Particles" type="Particles" parent="Exhaust/RearThrusters/ThrusterLeft" index="0"] transform = Transform( 1, 0, 0, 0, -1, 8.74228e-08, 0, -8.74228e-08, -1, 0, 0, 0 ) cast_shadow = 0 emitting = false amount = 50 lifetime = 3.0 visibility_aabb = AABB( nan, 0.05694, -7.38708, 0.867362, 0.904675, 14.7742 ) process_material = SubResource( 3 ) draw_pass_1 = SubResource( 4 ) [node name="ThrusterRight" type="MeshInstance" parent="Exhaust/RearThrusters" index="1"] transform = Transform( -8.74228e-09, 0.2, 0, -0.2, -8.74228e-09, 0, 0, 0, 0.2, -1.028, 0, 2.925 ) mesh = SubResource( 9 ) skeleton = NodePath("../../Main/MainThrusterTL") material/0 = SubResource( 19 ) [node name="Particles" type="Particles" parent="Exhaust/RearThrusters/ThrusterRight" index="0"] transform = Transform( 1, 0, 0, 0, -1, 8.74228e-08, 0, -8.74228e-08, -1, 0, 0, 0 ) cast_shadow = 0 emitting = false amount = 50 lifetime = 3.0 visibility_aabb = AABB( nan, 0.05694, -7.38708, 0.867362, 0.904675, 14.7742 ) process_material = SubResource( 3 ) draw_pass_1 = SubResource( 4 ) [node name="ThrusterTop" type="MeshInstance" parent="Exhaust/RearThrusters" index="2"] transform = Transform( -0.2, -1.74846e-08, 0, 1.74846e-08, -0.2, 0, 0, 0, 0.2, 0, 1.028, 2.925 ) mesh = SubResource( 9 ) skeleton = NodePath("../../Main/MainThrusterTL") material/0 = SubResource( 20 ) [node name="Particles" type="Particles" parent="Exhaust/RearThrusters/ThrusterTop" index="0"] transform = Transform( 1, 0, 0, 0, -1, 8.74228e-08, 0, -8.74228e-08, -1, 0, 0, 0 ) cast_shadow = 0 emitting = false amount = 50 lifetime = 3.0 visibility_aabb = AABB( nan, 0.05694, -7.38708, 0.867362, 0.904675, 14.7742 ) process_material = SubResource( 3 ) draw_pass_1 = SubResource( 4 ) [node name="ThrusterBottom" type="MeshInstance" parent="Exhaust/RearThrusters" index="3"] transform = Transform( 0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, -1.028, 2.925 ) mesh = SubResource( 9 ) skeleton = NodePath("../../Main/MainThrusterTL") material/0 = SubResource( 21 ) [node name="Particles" type="Particles" parent="Exhaust/RearThrusters/ThrusterBottom" index="0"] transform = Transform( 1, 0, 0, 0, -1, 8.74228e-08, 0, -8.74228e-08, -1, 0, 0, 0 ) cast_shadow = 0 emitting = false amount = 50 lifetime = 3.0 visibility_aabb = AABB( nan, 0.05694, -7.38708, 0.867362, 0.904675, 14.7742 ) process_material = SubResource( 3 ) draw_pass_1 = SubResource( 4 ) [node name="FrontThrusters" type="Spatial" parent="Exhaust" index="2"] [node name="ThrusterLeft" type="MeshInstance" parent="Exhaust/FrontThrusters" index="0"] transform = Transform( -8.74228e-09, -0.2, 0, 0.2, -8.74228e-09, 0, 0, 0, 0.2, 0.631258, 0, 8.90092 ) mesh = SubResource( 9 ) skeleton = NodePath("../../Main/MainThrusterTL") material/0 = SubResource( 10 ) [node name="Particles" type="Particles" parent="Exhaust/FrontThrusters/ThrusterLeft" index="0"] transform = Transform( 1, 0, 0, 0, -1, 8.74228e-08, 0, -8.74228e-08, -1, 0, 0, 0 ) cast_shadow = 0 emitting = false amount = 50 lifetime = 3.0 visibility_aabb = AABB( nan, 0.05694, -7.38708, 0.867362, 0.904675, 14.7742 ) process_material = SubResource( 3 ) draw_pass_1 = SubResource( 4 ) [node name="ThrusterRight" type="MeshInstance" parent="Exhaust/FrontThrusters" index="1"] transform = Transform( -8.74228e-09, 0.2, 0, -0.2, -8.74228e-09, 0, 0, 0, 0.2, -0.631, 0, 8.901 ) mesh = SubResource( 9 ) skeleton = NodePath("../../Main/MainThrusterTL") material/0 = SubResource( 11 ) [node name="Particles" type="Particles" parent="Exhaust/FrontThrusters/ThrusterRight" index="0"] transform = Transform( 1, 0, 0, 0, -1, 8.74228e-08, 0, -8.74228e-08, -1, 0, 0, 0 ) cast_shadow = 0 emitting = false amount = 50 lifetime = 3.0 visibility_aabb = AABB( nan, 0.05694, -7.38708, 0.867362, 0.904675, 14.7742 ) process_material = SubResource( 3 ) draw_pass_1 = SubResource( 4 ) [node name="ThrusterBottom" type="MeshInstance" parent="Exhaust/FrontThrusters" index="2"] transform = Transform( 0.2, -3.49691e-08, 0, 3.49691e-08, 0.2, 0, 0, 0, 0.2, 0, -0.631, 8.901 ) mesh = SubResource( 9 ) skeleton = NodePath("../../Main/MainThrusterTL") material/0 = SubResource( 12 ) [node name="Particles" type="Particles" parent="Exhaust/FrontThrusters/ThrusterBottom" index="0"] transform = Transform( 1, 0, 0, 0, -1, 8.74228e-08, 0, -8.74228e-08, -1, 0, 0, 0 ) cast_shadow = 0 emitting = false amount = 50 lifetime = 3.0 visibility_aabb = AABB( nan, 0.05694, -7.38708, 0.867362, 0.904675, 14.7742 ) process_material = SubResource( 3 ) draw_pass_1 = SubResource( 4 ) [node name="ThrusterTop" type="MeshInstance" parent="Exhaust/FrontThrusters" index="3"] transform = Transform( -0.2, 1.74846e-08, 0, -1.74846e-08, -0.2, 0, 0, 0, 0.2, 0, 0.631, 8.901 ) mesh = SubResource( 9 ) skeleton = NodePath("../../Main/MainThrusterTL") material/0 = SubResource( 13 ) [node name="Particles" type="Particles" parent="Exhaust/FrontThrusters/ThrusterTop" index="0"] transform = Transform( 1, 0, 0, 0, -1, 8.74228e-08, 0, -8.74228e-08, -1, 0, 0, 0 ) cast_shadow = 0 emitting = false amount = 50 lifetime = 3.0 visibility_aabb = AABB( nan, 0.05694, -7.38708, 0.867362, 0.904675, 14.7742 ) process_material = SubResource( 3 ) draw_pass_1 = SubResource( 4 )