@tool class_name VibeGroup extends Resource ## VibeGroup.gd ## 定义一个“音轨组”的数据结构。 ## 这是一个核心资源,包含了完整的环境音效配置方案。 ## 你可以创建如 "forest_day.tres", "dungeon_terror.tres" 等资源文件。 @export var group_name := &"" # 该音轨组的全局音量调整(dB)。会影响到其下所有的声音。 @export_range(-60, 6, 0.1, "dB") var group_db: float = 0.0 @export_group("Base Ambience", "base_") # 基础环境音(白噪音),要求是无缝循环的音频文件。 @export var base_sound: AudioStream # 基础环境音的独立音量调整(dB)。 @export_range(-60, 6, 0.1, "dB") var base_sound_db: float = 0.0 # 点缀音效列表。可以从库中拖入预设好的 Embellishment.tres 资源。 # 你也可以直接在这里新建 Embellishment 资源,实现“特制wav”的需求。 @export var embellishments: Array[Embellishment] # func _init() -> void: # if not Engine.is_editor_hint(): # return # var root = EditorInterface.get_edited_scene_root() # if not root: # return # var ground = root.get_node_or_null("Ground") as Ground2D # if not ground: # return # var scene_name = ground.scene_name # # 检查 group_name 是否以 scene_name 开头 # if not group_name.begins_with(scene_name): # group_name = scene_name + "_" + group_name # print("VibeGroup: Auto-prefixed group_name to %s" % group_name)