Files
agame/shader/toon_apply.gd
T
2026-10-13 18:42:20 +08:00

26 lines
553 B
GDScript

@tool
extends Node3D
const ToonApply = preload("res://shader/toon_apply.gd")
@export var cartoon_material: ShaderMaterial:
set(value):
cartoon_material = value
_apply_materials()
func _ready() -> void:
_apply_materials()
func _apply_materials():
if not is_inside_tree():
return
# 未指定时默认使用 ToonApply
var mat: Material = cartoon_material if cartoon_material != null else ToonApply as Material
for node in find_children("*", "MeshInstance3D", true, false):
if node is MeshInstance3D:
node.material_override = mat