tweaks to smoke particles

This commit is contained in:
Derek
2024-11-26 23:14:05 -06:00
parent 86b084f694
commit 4f53952cf7
7 changed files with 140 additions and 23 deletions

View File

@@ -244,6 +244,8 @@ stream = ExtResource("19_6jglu")
[node name="EnemyKilled" type="AudioStreamPlayer" parent="Audio"] [node name="EnemyKilled" type="AudioStreamPlayer" parent="Audio"]
stream = ExtResource("20_t7lfm") stream = ExtResource("20_t7lfm")
volume_db = 15.0
pitch_scale = 1.5
[connection signal="tree_entered" from="." to="." method="_on_tree_entered"] [connection signal="tree_entered" from="." to="." method="_on_tree_entered"]
[connection signal="body_entered" from="pick_up_detection" to="." method="_on_pick_up_detection_body_entered"] [connection signal="body_entered" from="pick_up_detection" to="." method="_on_pick_up_detection_body_entered"]

View File

@@ -2,8 +2,8 @@
[ext_resource type="PackedScene" uid="uid://dgogd08c0ubt6" path="res://assets/Models/revolver1.blend" id="1_i5f84"] [ext_resource type="PackedScene" uid="uid://dgogd08c0ubt6" path="res://assets/Models/revolver1.blend" id="1_i5f84"]
[ext_resource type="Script" path="res://scripts/revolver_1.gd" id="2_7rsti"] [ext_resource type="Script" path="res://scripts/revolver_1.gd" id="2_7rsti"]
[ext_resource type="PackedScene" uid="uid://dqhltdnqyg8ni" path="res://assets/bullet.tscn" id="3_32prk"]
[ext_resource type="Texture2D" uid="uid://dtg3nb2ew72c3" path="res://assets/star_05.png" id="3_q41fl"] [ext_resource type="Texture2D" uid="uid://dtg3nb2ew72c3" path="res://assets/star_05.png" id="3_q41fl"]
[ext_resource type="PackedScene" uid="uid://dqhltdnqyg8ni" path="res://assets/bullet.tscn" id="3_tru5y"]
[ext_resource type="PackedScene" uid="uid://crvohhc6kgshn" path="res://assets/bullet_hole.tscn" id="4_ubqgq"] [ext_resource type="PackedScene" uid="uid://crvohhc6kgshn" path="res://assets/bullet_hole.tscn" id="4_ubqgq"]
[ext_resource type="PackedScene" uid="uid://c1gdehrsytlkk" path="res://assets/casing_2.tscn" id="5_m3vsl"] [ext_resource type="PackedScene" uid="uid://c1gdehrsytlkk" path="res://assets/casing_2.tscn" id="5_m3vsl"]
[ext_resource type="Texture2D" uid="uid://dit5pj07jr02y" path="res://assets/Models/revolver1.albedo.png" id="6_acf6f"] [ext_resource type="Texture2D" uid="uid://dit5pj07jr02y" path="res://assets/Models/revolver1.albedo.png" id="6_acf6f"]
@@ -1077,7 +1077,7 @@ bullet_drop = 0.0
random_spread_amt = 0.1 random_spread_amt = 0.1
r_hand_location = NodePath("revolver1/RHandLocation") r_hand_location = NodePath("revolver1/RHandLocation")
chamber = NodePath("revolver1/Chamber") chamber = NodePath("revolver1/Chamber")
bullet = ExtResource("3_tru5y") bullet = ExtResource("3_32prk")
bullethole = ExtResource("4_ubqgq") bullethole = ExtResource("4_ubqgq")
spawn_casing = ExtResource("5_m3vsl") spawn_casing = ExtResource("5_m3vsl")
casing0 = NodePath("revolver1/Chamber/casing_001") casing0 = NodePath("revolver1/Chamber/casing_001")

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=34 format=4 uid="uid://dqwkal3t4gf2p"] [gd_scene load_steps=39 format=4 uid="uid://dqwkal3t4gf2p"]
[ext_resource type="Script" path="res://scripts/blunderbus.gd" id="1_w46uw"] [ext_resource type="Script" path="res://scripts/blunderbus.gd" id="1_w46uw"]
[ext_resource type="PackedScene" uid="uid://717hhehp83k8" path="res://assets/shotgun_pellet.tscn" id="2_544x3"] [ext_resource type="PackedScene" uid="uid://717hhehp83k8" path="res://assets/shotgun_pellet.tscn" id="2_544x3"]
@@ -227,14 +227,35 @@ _surfaces = [{
blend_shape_mode = 0 blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_3f3hx") shadow_mesh = SubResource("ArrayMesh_3f3hx")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_4ojnn"] [sub_resource type="Curve" id="Curve_rmltw"]
_data = [Vector2(0, 0), 0.0, 1.4, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_a61ob"]
curve = SubResource("Curve_rmltw")
[sub_resource type="Curve" id="Curve_6gtuk"]
min_value = -1.0
_data = [Vector2(0, -1), 0.0, 2.8, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_td4g1"]
curve = SubResource("Curve_6gtuk")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_xmjr3"]
emission_shape = 1 emission_shape = 1
emission_sphere_radius = 0.1 emission_sphere_radius = 0.1
direction = Vector3(-2.315, 0, 0)
spread = 9.706
initial_velocity_max = 1.0
gravity = Vector3(0, 0.5, 0) gravity = Vector3(0, 0.5, 0)
scale_min = 0.1 scale_min = 5.0
scale_max = 2.0 scale_max = 5.0
turbulence_noise_strength = 0.1 alpha_curve = SubResource("CurveTexture_a61ob")
turbulence_noise_scale = 0.1 hue_variation_curve = SubResource("CurveTexture_td4g1")
turbulence_enabled = true
turbulence_noise_strength = 0.0
turbulence_noise_scale = 0.655
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_crqaw"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_crqaw"]
transparency = 1 transparency = 1
@@ -244,11 +265,27 @@ albedo_color = Color(1, 1, 1, 0.14902)
albedo_texture = ExtResource("9_fldbw") albedo_texture = ExtResource("9_fldbw")
billboard_mode = 1 billboard_mode = 1
[sub_resource type="PlaneMesh" id="PlaneMesh_y0nwy"] [sub_resource type="PlaneMesh" id="PlaneMesh_756l0"]
material = SubResource("StandardMaterial3D_crqaw") material = SubResource("StandardMaterial3D_crqaw")
size = Vector2(0.2, 0.2) size = Vector2(0.2, 0.2)
orientation = 2 orientation = 2
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_ay36f"]
emission_shape = 1
emission_sphere_radius = 0.1
direction = Vector3(-3, 0, 0)
spread = 9.706
initial_velocity_min = 3.0
initial_velocity_max = 10.0
gravity = Vector3(0, 0.5, 0)
scale_min = 5.0
scale_max = 5.0
alpha_curve = SubResource("CurveTexture_a61ob")
hue_variation_curve = SubResource("CurveTexture_td4g1")
turbulence_enabled = true
turbulence_noise_strength = 0.0
turbulence_noise_scale = 0.655
[sub_resource type="Animation" id="Animation_r6as6"] [sub_resource type="Animation" id="Animation_r6as6"]
length = 0.001 length = 0.001
tracks/0/type = "value" tracks/0/type = "value"
@@ -597,13 +634,24 @@ mesh = SubResource("ArrayMesh_1fsm8")
skeleton = NodePath("") skeleton = NodePath("")
[node name="Smoke" type="GPUParticles3D" parent="BlunderbusHandle/Blunderbus"] [node name="Smoke" type="GPUParticles3D" parent="BlunderbusHandle/Blunderbus"]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 1.14148, 0, 4.98958e-08) transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 1.12633, 0, -0.00682099)
emitting = false emitting = false
amount = 100 amount = 500
lifetime = 4.0 lifetime = 4.0
explosiveness = 0.8
fixed_fps = 60 fixed_fps = 60
process_material = SubResource("ParticleProcessMaterial_4ojnn") process_material = SubResource("ParticleProcessMaterial_xmjr3")
draw_pass_1 = SubResource("PlaneMesh_y0nwy") draw_pass_1 = SubResource("PlaneMesh_756l0")
[node name="fire_smoke" type="GPUParticles3D" parent="BlunderbusHandle/Blunderbus"]
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 1.12633, 0, -0.00682099)
emitting = false
amount = 500
lifetime = 4.0
explosiveness = 1.0
fixed_fps = 60
process_material = SubResource("ParticleProcessMaterial_ay36f")
draw_pass_1 = SubResource("PlaneMesh_756l0")
[node name="BarrelRaycast" type="RayCast3D" parent="BlunderbusHandle"] [node name="BarrelRaycast" type="RayCast3D" parent="BlunderbusHandle"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.818773) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.818773)

View File

@@ -39,6 +39,7 @@ var cycle_count
@onready var level_control = get_tree().current_scene @onready var level_control = get_tree().current_scene
@onready var ammo_current @onready var ammo_current
@onready var smoke_timer: Timer = $SmokeTimer @onready var smoke_timer: Timer = $SmokeTimer
@onready var fire_smoke: GPUParticles3D = $BlunderbusHandle/Blunderbus/fire_smoke
var rng = RandomNumberGenerator.new() var rng = RandomNumberGenerator.new()
var gun_index var gun_index
@@ -87,6 +88,7 @@ func shoot(delta):
if level_control.ammo_current[gun_index] > 0: if level_control.ammo_current[gun_index] > 0:
if !anim_player.is_playing(): if !anim_player.is_playing():
anim_player.play("shoot") anim_player.play("shoot")
fire_smoke.emitting = true
elif !anim_player.is_playing() and cycle_count != 0: elif !anim_player.is_playing() and cycle_count != 0:
anim_player.play("empty") anim_player.play("empty")
audio_empty.play() audio_empty.play()
@@ -95,7 +97,6 @@ func fire():
level_control.ammo_current[gun_index] -= 1 level_control.ammo_current[gun_index] -= 1
audio_fire.pitch_scale = 1 + rng.randf_range(-fire_pitch_scale_amt,fire_pitch_scale_amt) audio_fire.pitch_scale = 1 + rng.randf_range(-fire_pitch_scale_amt,fire_pitch_scale_amt)
audio_fire.play() audio_fire.play()
pellet_spawn() pellet_spawn()
player.recoil.add_recoil(Vector3(0,recoil_amount.y,recoil_amount.z),10,10) player.recoil.add_recoil(Vector3(0,recoil_amount.y,recoil_amount.z),10,10)
player.recoil.add_gun_recoil(recoil_amount.x) player.recoil.add_gun_recoil(recoil_amount.x)

View File

@@ -46,6 +46,8 @@ const MAX_AV = 10
@onready var turret = $TurretLook/Turret @onready var turret = $TurretLook/Turret
@onready var turret_material = turret.get_surface_override_material(2) @onready var turret_material = turret.get_surface_override_material(2)
@onready var turret_look = $TurretLook @onready var turret_look = $TurretLook
@onready var smoke: GPUParticles3D = $TurretLook/Turret/Smoke
@onready var smoke_2: GPUParticles3D = $TurretLook/Turret/Smoke2
@onready var outline_meshes = [$TurretLook/Turret/turretoutline, @onready var outline_meshes = [$TurretLook/Turret/turretoutline,
$body/leg1/foot1/foot1outline, $body/leg1/foot1/foot1outline,
$body/leg1/leg1outline, $body/leg1/leg1outline,
@@ -127,7 +129,10 @@ func _on_area_3d_body_part_hit(dam,bullet_damage):
func _on_prefire_timer_timeout(): func _on_prefire_timer_timeout():
fire(barrel_1) fire(barrel_1)
smoke.emitting = true
await get_tree().create_timer(.5).timeout
fire(barrel_2) fire(barrel_2)
smoke_2.emitting = true
turret_material.emission_enabled = false turret_material.emission_enabled = false
prefire_timer.stop() prefire_timer.stop()
postfire_timer.start() postfire_timer.start()

View File

@@ -38,7 +38,7 @@ extends Node3D
@onready var level_control = get_tree().current_scene @onready var level_control = get_tree().current_scene
@onready var ammo_current @onready var ammo_current
@onready var tracker_marker = load("res://assets/tracker_marker.tscn") @onready var tracker_marker = load("res://assets/tracker_marker.tscn")
@onready var bullet : Resource = load("res://assets/bullet.tscn") @onready var bullet : Resource = load("res://assets/tracker_bullet.tscn")
@onready var tracker_indicator_material = tracker_indicator.get_surface_override_material(0) @onready var tracker_indicator_material = tracker_indicator.get_surface_override_material(0)
var tracker : Node var tracker : Node