audio について
Three.js のオーディオノードを使うゲーム開発者向けのオーディオスキルです。音の網羅、定位再生、ミックス、重複再生、ブラウザーでの再生開始を解説します。
主な機能
- 01カメラへの AudioListener の設定
- 02定位再生と非定位再生の選択
- 03頻出音とまれな音の音量調整
- 04ノードプールによる重複再生への対応
- 05ユーザー操作後のオーディオ再開
- 06ゲームイベントの効果音の確認
活用シーン
- 01ゲーム内イベントへの定位効果音の追加
- 02反復音がミックスを圧迫するのを防止
- 03連続する銃声や足音の途切れ防止
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ drawcall-ai/ skills --skill audioインストール後、Claude Code で/audioを入力して読み込まれたか確認します。
詳細
オーディオ
サウンドはフィードバックであり、装飾ではありません。アクションによってゲームの状態が変化する(射撃、リロード、アイテム取得、被弾、死亡、足音、UI のクリック)にもかかわらず音が鳴らないと、その瞬間に違和感が生じます。こうした瞬間すべてにサウンドを設定してください。
セットアップ
カメラに AudioListener を 1 つ取り付け、サウンドごとに定位あり/なしを選択します。
const listener = new AudioListener()
camera.add(listener)
const buffer = await new AudioLoader().loadAsync('/sound-effects/gunshot.mp3')
// World event with a position → PositionalAudio attached to the source (pans + attenuates with distance)
const shot = new PositionalAudio(listener)
shot.setBuffer(buffer)
weapon.add(shot)
shot.play()
// UI / non-spatial event (reload, pickup, menu) → plain Audio
const ui = new Audio(listener)
ui.setBuffer(buffer)
ui.play()
ミックスのバランス
サウンドを網羅しても、ミックスが耳障りになってはいけません。繰り返し鳴るサウンドは、反復によって適切な音でも大きく感じられるため、まれに鳴る確認音よりもデフォルトの音量を低くする必要があります。足音、風の環境音、エンジン音、ドローン音など、ほぼ常に鳴るサウンドは通常、低いテクスチャとして扱います。武器音、衝撃音、UI の確認音、ボイスを邪魔せず、動きや雰囲気を伝える役割を持たせてください。繰り返し鳴るサウンドは控えめな音量から始め、ゲーム内のフィードバックが把握しづらい場合にのみ音量を上げます。
音源が見える、または空間的に意味を持つワールド内のサウンドには、定位再生を優先してください。対象には敵の射撃、敵の死亡、衝撃、ドア、機械、ワールド内のアイテム、近くの危険要素が含まれます。UI、音楽、ナレーション、リスナーの頭の中で位置を安定させたいプレイヤー向けのフィードバックには、非定位再生が適しています。技術的な理由でワールド内のサウンドを非定位にする必要がある場合は、音量を下げ、そのトレードオフを記録して、全体への警告のように聞こえないようにしてください。
重なりとブラウザーのポリシー
- 1 つの
Audio/PositionalAudioノードは、同時に 2 回再生できません(再生中のノードに対する.play()は警告を出し、何も行いません)。銃声や足音など、頻繁に鳴るサウンドには小規模なノードプールを用意するか、共有バッファーからショットごとに新しいノードを作成して、サウンド同士が途切れないようにしてください。PositionalAudioはシーングラフに追加されている間(source.add(node))のみ定位と減衰が機能するため、プールした定位ノードはアタッチしたままにする必要があります。通常の非定位Audioにはそのような要件はありません。 - ブラウザーはユーザー操作があるまで音声をブロックします。最初のクリックまたはキー入力時に再開してください:
listener.context.resume()。
網羅性
ゲーム内のフィードバックが発生する場面を確認し、それぞれにサウンドがあることを確かめてください。射撃、空撃ち、リロード開始と完了、アイテム取得、クラフト、攻撃を与えたときと受けたときの被弾、死亡、足音(地面の種類に応じて変化)、ウェーブ/ラウンドの切り替わり、勝利/敗北が対象です。ほとんどの用途にはマーケットの sound-effect と background-music アセットを利用できます。場面に合うアセットがない場合は、無音のままにせず、WebAudio で短いトーンを生成してください。
ボイスとナレーション → speech スキル
NPC の会話、ナレーション、チュートリアルのボイス、アクセシビリティ向けの読み上げなど、音声出力には speech スキルを使用してください。このスキルはテキストと音声入力から音声クリップの URL を返し、音声の選択、キャッシュ、ブラウザーの自動再生制限、初回リクエスト時のウォームアップに関するガイダンスも提供します。このオーディオスキルは、生成されたクリップを上記と同じ Audio/PositionalAudio ノードで再生する場合にのみ使用してください。