2025-06-18 13:48:59 +00:00
|
|
|
|
@tool
|
|
|
|
|
class_name VibeGroup
|
|
|
|
|
extends Resource
|
|
|
|
|
|
|
|
|
|
## VibeGroup.gd
|
|
|
|
|
## 定义一个“音轨组”的数据结构。
|
|
|
|
|
## 这是一个核心资源,包含了完整的环境音效配置方案。
|
|
|
|
|
## 你可以创建如 "forest_day.tres", "dungeon_terror.tres" 等资源文件。
|
2025-06-25 17:53:16 +00:00
|
|
|
|
@export var group_name := &""
|
2025-06-18 13:48:59 +00:00
|
|
|
|
|
|
|
|
|
# 该音轨组的全局音量调整(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]
|
2025-06-25 17:53:16 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 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)
|