roblox-audio について
Roblox のオーディオ開発向けスキルガイドです。旧式の Sound オブジェクトとモジュール式の AudioPlayer/Wire システムを扱い、再生、空間音響、ミキシング、エフェクトの実装に役立ちます。
主な機能
- 01旧式とモジュール式の音声システム
- 022D・3D 音声のルーティング
- 03SoundGroup によるミキシングとエフェクト
- 04音声のプリロードと単発再生
- 05クライアント音声再生の留意点
活用シーン
- 01BGM と効果音の追加
- 02空間音響と減衰範囲の設定
- 03音楽と効果音の音量分離
- 04サーバー遅延による反応音のずれ防止
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ tabooharmony/ roblox-brain --skill roblox-audioインストール後、Claude Code で/roblox-audioを入力して読み込まれたか確認します。
同梱ファイルreferences/full.md
詳細
Roblox Audio
読み込むタイミング
オーディオ再生、空間/3D サウンド、BGM、効果音、オーディオミキシング(SoundGroups)、またはダイナミックエフェクトを実装する場合に読み込みます。従来の Sound オブジェクトと、新しいモジュラー型の AudioPlayer/Wire システムの両方を扱います。
クイックリファレンス
2 つのシステム:従来型(Sound/SoundGroup/SoundEffect)はよりシンプルです。新しいモジュラー型(AudioPlayer/AudioEmitter/Wire/AudioDeviceOutput)は新規プロジェクトで推奨され、ボイスチャットには必須です。
Sound の配置:BasePart の子 → 立体音源。Attachment/MeshPart → 点音源。SoundService/Workspace → グローバル(BGM/UI)。
従来型のセットアップ:
local s = Instance.new("Sound")
s.SoundId = "rbxassetid://ID"; s.Looped = true; s.Volume = 0.25
s.RollOffMode = Enum.RollOffMode.InverseTapered
s.RollOffMinDistance = 10; s.RollOffMaxDistance = 100
s.Parent = SoundService; s:Play()
SoundGroups(ミキサー):プレイヤーが Music と SFX の音量を個別に調整できるように、Master の下に SoundGroup をネストします。bgMusic.SoundGroup = musicGroup。エフェクト(ReverbSoundEffect、EqualizerSoundEffect、CompressorSoundEffect など)は Sound/SoundGroup の子にします。ダッキング:音楽側の CompressorSoundEffect で SideChain = sfxGroup を設定します。
新しいモジュラー型:2D:AudioPlayer → Wire → AudioDeviceOutput。3D:AudioPlayer → Wire → AudioEmitter(Part に配置)。Studio/プラグイン専用の SoundService.DefaultListenerLocation でデフォルトのリスナーを制御します。実行時に制御する場合は、明示的な AudioListener を接続します。
単発の効果音:
local function playSFX(parent, id)
local s = Instance.new("Sound"); s.SoundId = id
s.RollOffMode = Enum.RollOffMode.InverseTapered
s.RollOffMinDistance = 10; s.RollOffMaxDistance = 80
s.Parent = parent; s:Play()
s.Ended:Once(function() s:Destroy() end)
end
プリロード:ContentProvider:PreloadAsync({sound1, sound2})。クライアントの効果音:FireClient → OnClientEvent で透明な Part を作成し、playSFX を実行します。
注意点:サーバー側の Sound は遅延が発生するため、フィードバックはクライアントで再生します。デフォルトの RollOffMaxDistance は 10000 studs なので、明示的に設定します。音量が 1 を超えるとクリッピングします。連続再生の場合は IsPlaying を確認します。単発再生した Sound は、Ended の後に必ず Destroy() します。
詳しい例、エフェクトの表、クライアント側のパターンについては、references/full.md を参照してください。