Dust spray when opening bulkhead
Some checks failed
linting & formatting / build (push) Failing after 4s

This commit is contained in:
Rob Kelly 2025-03-12 12:56:03 -06:00
parent 4a22a984cd
commit 80af9a50c4
6 changed files with 223 additions and 1 deletions

BIN
assets/particles/smoke_1.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dxdqqrwn2ghen"
path.s3tc="res://.godot/imported/smoke_1.png-3dd973f475603930dfd9a84af90897bd.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/particles/smoke_1.png"
dest_files=["res://.godot/imported/smoke_1.png-3dd973f475603930dfd9a84af90897bd.s3tc.ctex"]
[params]
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=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

View File

@ -0,0 +1,44 @@
[gd_scene load_steps=7 format=3 uid="uid://64kcxg3x6631"]
[ext_resource type="Texture2D" uid="uid://dxdqqrwn2ghen" path="res://assets/particles/smoke_1.png" id="1_cuaej"]
[sub_resource type="Curve" id="Curve_w7oba"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0.303954), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_hx0vd"]
curve = SubResource("Curve_w7oba")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_88aga"]
angle_min = -15.0
angle_max = 15.0
direction = Vector3(0, 0, 1)
spread = 5.0
initial_velocity_min = 4.5
initial_velocity_max = 4.5
gravity = Vector3(0, 1.4, 0)
damping_min = 5.955
damping_max = 5.955
scale_over_velocity_curve = SubResource("CurveTexture_hx0vd")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_4jho1"]
transparency = 1
vertex_color_use_as_albedo = true
albedo_color = Color(0.705882, 0.67451, 0.619608, 1)
albedo_texture = ExtResource("1_cuaej")
emission = Color(1, 1, 1, 1)
texture_filter = 2
billboard_mode = 3
billboard_keep_scale = true
particles_anim_h_frames = 1
particles_anim_v_frames = 1
particles_anim_loop = false
[sub_resource type="QuadMesh" id="QuadMesh_bso71"]
material = SubResource("StandardMaterial3D_4jho1")
[node name="DustSpray" type="GPUParticles3D"]
amount = 16
lifetime = 0.7
process_material = SubResource("ParticleProcessMaterial_88aga")
draw_pass_1 = SubResource("QuadMesh_bso71")

View File

@ -141,6 +141,7 @@ skeleton = NodePath("../../..")
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, -1)
size = Vector3(0.2, 2, 0.2)
texture_albedo = ExtResource("3_78jy6")
texture_emission = ExtResource("3_78jy6")
cull_mask = 1048573
[node name="LeftPivot" type="Node3D" parent="Muzzle/Pivot/ReticleDecals"]
@ -150,6 +151,7 @@ transform = Transform3D(0.970296, 0, 0.241922, 0, 1, 0, -0.241922, 0, 0.970296,
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, -1)
size = Vector3(0.2, 2, 0.2)
texture_albedo = ExtResource("4_rotxf")
texture_emission = ExtResource("4_rotxf")
cull_mask = 1048573
[node name="RightPivot" type="Node3D" parent="Muzzle/Pivot/ReticleDecals"]
@ -159,6 +161,7 @@ transform = Transform3D(0.970296, 0, -0.241922, 0, 1, 0, 0.241922, 0, 0.970296,
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, -1)
size = Vector3(0.2, 2, 0.2)
texture_albedo = ExtResource("5_xo3vu")
texture_emission = ExtResource("5_xo3vu")
cull_mask = 1048573
[node name="BeamParticles1" type="GPUParticles3D" parent="Muzzle/Pivot"]

View File

@ -1,7 +1,9 @@
extends Node3D
@onready var animation: AnimationPlayer = $AnimationPlayer
@onready var dust_animation: AnimationPlayer = %DustAnimation
func open() -> void:
animation.play("open")
dust_animation.play("spray")

View File

@ -1,7 +1,8 @@
[gd_scene load_steps=7 format=3 uid="uid://dvma1hufsl6mc"]
[gd_scene load_steps=11 format=3 uid="uid://dvma1hufsl6mc"]
[ext_resource type="PackedScene" uid="uid://bopvgd18a1dl0" path="res://assets/props/bulkhead/bulkhead.gltf" id="1_77udb"]
[ext_resource type="Script" uid="uid://rjygr6ybnl30" path="res://src/props/bulkhead/bulkhead.gd" id="2_hknvo"]
[ext_resource type="PackedScene" uid="uid://64kcxg3x6631" path="res://src/effects/dust_spray.tscn" id="3_88qrs"]
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_hknvo"]
data = PackedVector3Array(-1.5, 0, 0.225, -1.5, 3, -0.225, -1.5, 3, 0.225, -1.5, 0, 0.225, -1.5, 0, -0.225, -1.5, 3, -0.225, -1.3125, 0.4375, -0.225, -1.5, 0, -0.225, -1.1875, 0.3125, -0.225, -1.5, 0, -0.225, -1.0625, 0.1875, -0.225, -1.1875, 0.3125, -0.225, -1.5, 0, -0.225, 1.0625, 0.1875, -0.225, -1.0625, 0.1875, -0.225, -1.3125, 0.4375, -0.225, -1.5, 3, -0.225, -1.5, 0, -0.225, 1.5, 0, -0.225, 1.0625, 0.1875, -0.225, -1.5, 0, -0.225, -1.3125, 2.5625, -0.225, -1.5, 3, -0.225, -1.3125, 0.4375, -0.225, 1.5, 0, -0.225, 1.3125, 0.4375, -0.225, 1.0625, 0.1875, -0.225, -1.5, 3, -0.225, -1.3125, 2.5625, -0.225, -1.0625, 2.8125, -0.225, 1.3125, 0.4375, -0.225, 1.5, 0, -0.225, 1.3125, 2.5625, -0.225, -1.5, 3, -0.225, -1.0625, 2.8125, -0.225, 1.5, 3, -0.225, 1.3125, 2.5625, -0.225, 1.5, 0, -0.225, 1.5, 3, -0.225, 1.5, 3, -0.225, -1.0625, 2.8125, -0.225, 1.0625, 2.8125, -0.225, 1.3125, 2.5625, -0.225, 1.5, 3, -0.225, 1.1875, 2.6875, -0.225, 1.5, 3, -0.225, 1.0625, 2.8125, -0.225, 1.1875, 2.6875, -0.225, 1.5, 0, -0.225, 1.5, 3, 0.225, 1.5, 3, -0.225, 1.5, 0, -0.225, 1.5, 0, 0.225, 1.5, 3, 0.225, 1.3125, 0.4375, 0.225, 1.5, 0, 0.225, 1.1875, 0.3125, 0.225, 1.5, 0, 0.225, 1.0625, 0.1875, 0.225, 1.1875, 0.3125, 0.225, 1.5, 0, 0.225, -1.0625, 0.1875, 0.225, 1.0625, 0.1875, 0.225, 1.3125, 0.4375, 0.225, 1.5, 3, 0.225, 1.5, 0, 0.225, -1.5, 0, 0.225, -1.0625, 0.1875, 0.225, 1.5, 0, 0.225, 1.3125, 2.5625, 0.225, 1.5, 3, 0.225, 1.3125, 0.4375, 0.225, -1.5, 0, 0.225, -1.3125, 0.4375, 0.225, -1.0625, 0.1875, 0.225, 1.5, 3, 0.225, 1.3125, 2.5625, 0.225, 1.0625, 2.8125, 0.225, -1.3125, 0.4375, 0.225, -1.5, 0, 0.225, -1.5, 3, 0.225, 1.5, 3, 0.225, 1.0625, 2.8125, 0.225, -1.5, 3, 0.225, -1.3125, 0.4375, 0.225, -1.5, 3, 0.225, -1.3125, 2.5625, 0.225, -1.5, 3, 0.225, 1.0625, 2.8125, 0.225, -1.0625, 2.8125, 0.225, -1.3125, 2.5625, 0.225, -1.5, 3, 0.225, -1.1875, 2.6875, 0.225, -1.5, 3, 0.225, -1.0625, 2.8125, 0.225, -1.1875, 2.6875, 0.225, -1.5, 0, -0.225, 1.5, 0, 0.225, 1.5, 0, -0.225, -1.5, 0, -0.225, -1.5, 0, 0.225, 1.5, 0, 0.225, 1.5, 3, -0.225, -1.5, 3, 0.225, -1.5, 3, -0.225, 1.5, 3, -0.225, 1.5, 3, 0.225, -1.5, 3, 0.225, 1.3125, 2.5625, 0.225, 1.3125, 0.4375, -0.225, 1.3125, 2.5625, -0.225, 1.3125, 2.5625, 0.225, 1.3125, 0.4375, 0.225, 1.3125, 0.4375, -0.225, -1.0625, 2.8125, -0.225, 1.0625, 2.8125, 0.225, 1.0625, 2.8125, -0.225, -1.0625, 2.8125, -0.225, -1.0625, 2.8125, 0.225, 1.0625, 2.8125, 0.225, -1.3125, 0.4375, 0.225, -1.3125, 2.5625, -0.225, -1.3125, 0.4375, -0.225, -1.3125, 0.4375, 0.225, -1.3125, 2.5625, 0.225, -1.3125, 2.5625, -0.225, -1.3125, 0.4375, 0.225, -1.0625, 0.1875, -0.225, -1.0625, 0.1875, 0.225, -1.0625, 0.1875, -0.225, -1.3125, 0.4375, 0.225, -1.1875, 0.3125, -0.225, -1.1875, 0.3125, -0.225, -1.3125, 0.4375, 0.225, -1.3125, 0.4375, -0.225, -1.3125, 2.5625, 0.225, -1.0625, 2.8125, -0.225, -1.3125, 2.5625, -0.225, -1.0625, 2.8125, -0.225, -1.3125, 2.5625, 0.225, -1.1875, 2.6875, 0.225, -1.0625, 2.8125, -0.225, -1.1875, 2.6875, 0.225, -1.0625, 2.8125, 0.225, 1.1875, 0.3125, 0.225, 1.3125, 0.4375, -0.225, 1.3125, 0.4375, 0.225, 1.3125, 0.4375, -0.225, 1.1875, 0.3125, 0.225, 1.0625, 0.1875, 0.225, 1.3125, 0.4375, -0.225, 1.0625, 0.1875, 0.225, 1.0625, 0.1875, -0.225, 1.0625, 2.8125, 0.225, 1.1875, 2.6875, -0.225, 1.0625, 2.8125, -0.225, 1.1875, 2.6875, -0.225, 1.0625, 2.8125, 0.225, 1.3125, 2.5625, 0.225, 1.1875, 2.6875, -0.225, 1.3125, 2.5625, 0.225, 1.3125, 2.5625, -0.225, 1.0625, 0.1875, 0.225, -1.0625, 0.1875, -0.225, 1.0625, 0.1875, -0.225, 1.0625, 0.1875, 0.225, -1.0625, 0.1875, 0.225, -1.0625, 0.1875, -0.225)
@ -16,6 +17,116 @@ size = Vector3(0.2, 0.2, 3)
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_w7oba"]
data = PackedVector3Array(0.1, 0.1, 1.5, 0.1, -0.1, 1.5, -0.1, -0.1, 1.5, 0.1, 0.1, -1.5, -0.1, -0.1, -1.5, 0.1, -0.1, -1.5, 0.1, 0.1, 1.5, 0.1, 0.1, -1.5, 0.1, -0.1, 1.5, 0.1, 0.1, -1.5, 0.1, -0.1, -1.5, 0.1, -0.1, 1.5, 0.1, 0.1, -1.5, 0.1, 0.1, 1.5, -0.1, -0.1, -1.5, 0.1, 0.1, 1.5, -0.1, -0.1, 1.5, -0.1, -0.1, -1.5, -0.1, -0.1, 1.5, 0.1, -0.1, 1.5, -0.1, -0.1, -1.5, 0.1, -0.1, 1.5, 0.1, -0.1, -1.5, -0.1, -0.1, -1.5)
[sub_resource type="Animation" id="Animation_88qrs"]
resource_name = "spray"
length = 2.4
step = 0.025
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("DustSpray:amount_ratio")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.25, 0.6, 1, 2.4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [0.0, 0.0, 1.0, 1.0, 0.0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("DustSpray2:amount_ratio")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.25, 0.6, 1, 2.4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [0.0, 0.0, 1.0, 1.0, 0.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("DustSpray3:amount_ratio")
tracks/2/interp = 2
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.25, 0.6, 1, 2.4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [0.0, 0.0, 1.0, 1.0, 0.0]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("DustSpray4:amount_ratio")
tracks/3/interp = 2
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.25, 0.6, 1, 2.4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [0.0, 0.0, 1.0, 1.0, 0.0]
}
[sub_resource type="Animation" id="Animation_w7oba"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("DustSpray:amount_ratio")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("DustSpray2:amount_ratio")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("DustSpray3:amount_ratio")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("DustSpray4:amount_ratio")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_hx0vd"]
_data = {
&"RESET": SubResource("Animation_w7oba"),
&"spray": SubResource("Animation_88qrs")
}
[node name="Bulkhead" instance=ExtResource("1_77udb")]
script = ExtResource("2_hknvo")
@ -45,3 +156,27 @@ shape = SubResource("ConcavePolygonShape3D_w7oba")
[node name="CollisionShape3D2" type="CollisionShape3D" parent="Ramp" index="2"]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0.1, -0.325)
shape = SubResource("ConcavePolygonShape3D_w7oba")
[node name="Dust" type="Node3D" parent="." index="4"]
[node name="DustSpray" parent="Dust" index="0" instance=ExtResource("3_88qrs")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0.25, 0.0897675)
amount_ratio = 0.0
[node name="DustSpray2" parent="Dust" index="1" instance=ExtResource("3_88qrs")]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 1, 0.25, 0.0897675)
amount_ratio = 0.0
[node name="DustSpray3" parent="Dust" index="2" instance=ExtResource("3_88qrs")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0.25, 0.0897675)
amount_ratio = 0.0
[node name="DustSpray4" parent="Dust" index="3" instance=ExtResource("3_88qrs")]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -1, 0.25, 0.0897675)
amount_ratio = 0.0
[node name="DustAnimation" type="AnimationPlayer" parent="Dust" index="4"]
unique_name_in_owner = true
libraries = {
&"": SubResource("AnimationLibrary_hx0vd")
}