[gd_scene load_steps=13 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="ShaderMaterial" id=8] shader = ExtResource( 4 ) shader_param/ANIM_SPEED = 100.0 shader_param/hot_color = Color( 0.9, 0.9, 9, 0.5 ) shader_param/cold_color = Color( 1, 1, 1, 0 ) shader_param/power = 1.0 [sub_resource type="SphereMesh" id=9] material = SubResource( 8 ) radius = 0.35 height = 0.5 radial_segments = 128 rings = 64 [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 [node name="missile" instance=ExtResource( 1 )] script = ExtResource( 3 ) [node name="missile body" parent="." index="0"] material/0 = SubResource( 2 ) [node name="RigidBody" type="RigidBody" parent="." index="1"] [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, 0, 0, 1, 0, 0, 0, 1, 0, 0, -4.901 ) [node name="Exhaust" type="MeshInstance" parent="Exhaust" index="0"] transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0.5, 0.5, 0.1 ) mesh = SubResource( 9 ) [node name="Particles" type="Particles" parent="Exhaust/Exhaust" 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="Exhaust2" type="MeshInstance" parent="Exhaust" index="1"] transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, -0.5, 0.5, 0.1 ) mesh = SubResource( 9 ) skeleton = NodePath("../Exhaust") [node name="Particles" type="Particles" parent="Exhaust/Exhaust2" 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="Exhaust3" type="MeshInstance" parent="Exhaust" index="2"] transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0.5, -0.5, 0.1 ) mesh = SubResource( 9 ) skeleton = NodePath("../Exhaust2") [node name="Particles" type="Particles" parent="Exhaust/Exhaust3" 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="Exhaust4" type="MeshInstance" parent="Exhaust" index="3"] transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, -0.5, -0.5, 0.1 ) mesh = SubResource( 9 ) skeleton = NodePath(".") [node name="Particles" type="Particles" parent="Exhaust/Exhaust4" 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 )