biome generator
This commit is contained in:
27
core/fireworks.gd
Normal file
27
core/fireworks.gd
Normal file
@@ -0,0 +1,27 @@
|
||||
extends Node3D
|
||||
@onready var rocket = $"1_StartRocket"
|
||||
@onready var explosion = $"2_MainExplosion"
|
||||
@onready var trails = $"3_FallingTrails"
|
||||
|
||||
func set_color(target_color: Color) -> void:
|
||||
#set colors
|
||||
set_particles_node_color(rocket, Color(1.5, 1.5, 1.5))
|
||||
set_particles_node_color(explosion, Color(1.2, 1.2, 1.2))
|
||||
set_particles_node_color(trails, target_color)
|
||||
|
||||
func set_particles_node_color(node: GPUParticles3D, new_color: Color) -> void:
|
||||
if node and node.draw_pass_1:
|
||||
var mesh = node.draw_pass_1 as QuadMesh
|
||||
if mesh and mesh.material:
|
||||
var unique_mat = mesh.material.duplicate() as StandardMaterial3D
|
||||
unique_mat.albedo_color = new_color
|
||||
unique_mat.blend_mode = BaseMaterial3D.BLEND_MODE_ADD #Light effect (glow)
|
||||
unique_mat.shading_mode = BaseMaterial3D.SHADING_MODE_UNSHADED
|
||||
mesh.material = unique_mat
|
||||
|
||||
func turnon() -> void:
|
||||
if rocket:
|
||||
rocket.emitting = true
|
||||
|
||||
await get_tree().create_timer(6.0).timeout
|
||||
queue_free()
|
||||
Reference in New Issue
Block a user