20 lines
391 B
GDScript
20 lines
391 B
GDScript
class_name VoiceComponent
|
|
extends Node
|
|
|
|
@export var skeleton: Skeleton3D
|
|
|
|
var audio: AudioStreamPlayer3D
|
|
|
|
func _ready():
|
|
audio = $Mouth
|
|
|
|
var attachment := BoneAttachment3D.new()
|
|
attachment.bone_name = "Head"
|
|
attachment.bone_idx = skeleton.find_bone("Head")
|
|
audio.reparent(attachment)
|
|
skeleton.add_child(attachment)
|
|
|
|
func play(stream: AudioStream):
|
|
audio.stream = stream
|
|
audio.play()
|