grunk/src/world/gunk_node/grunk_nodule.gd

24 lines
744 B
GDScript3
Raw Normal View History

2025-03-12 00:18:27 -06:00
extends GunkNode
2025-03-13 12:37:33 -06:00
@export var jitter_scale_factor := 0.05
2025-03-12 00:18:27 -06:00
@export var jitter_inflation_factor := 1.0
@export var splatter_scene: PackedScene
@onready var mesh_instance: MeshInstance3D = %MeshInstance3D
func _process(delta: float) -> void:
super._process(delta)
2025-03-12 00:18:27 -06:00
var shader: ShaderMaterial = mesh_instance.mesh.surface_get_material(0)
var value := _sustained_damage / durability
2025-03-13 12:37:33 -06:00
shader.set_shader_parameter("jitter_time_scale", pow(value * jitter_scale_factor, 1.2))
shader.set_shader_parameter("vertex_inflation", pow(value * jitter_inflation_factor, 3))
2025-03-12 00:18:27 -06:00
func _destroy() -> void:
var splatter: GPUParticles3D = splatter_scene.instantiate()
add_sibling(splatter)
splatter.global_position = global_position
splatter.emitting = true