threejs-audio について
threejs-audioは、Three.jsプロジェクトで空間オーディオを実装するための指針を提供するスキルです。既存の構成に沿い、再生ライフサイクル、位置音響、アクセシビリティ、エラー処理、検証を扱います。
主な機能
- 01情報を伝える音と環境音の区別
- 02ミュート・音量・テキスト代替の提供
- 03アクティブな視点へのリスナー接続
- 04音声の非同期読み込みとエラー処理
- 05アプリやXRのライフサイクルとの再生連携
- 06自動再生・減衰・再トリガーの検証
活用シーン
- 01Three.jsシーンへの位置音響の追加
- 02自動再生拒否時のシーン動作の維持
- 03カメラやXRの切り替え中の音声管理
- 04繰り返しのマウントと急速な音声トリガーのテスト
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ cesartevisual/ threejs-skills --skill threejs-audioインストール後、Claude Code で/threejs-audioを入力して読み込まれたか確認します。
詳細
空間オーディオ
プロジェクトにインストールされているバージョンと既存のアーキテクチャを使用します。これらの指示はユーザーのタスクを補足するものであり、無関係な変更や外部での操作を許可するものではありません。
オーディオが情報を伝えるものか、任意の環境音を提供するものかを明確にします。ミュート/音量の調整機能と、必要な場合はそのテキストによる代替手段を HTML で提供します。ユーザー操作を受けてオーディオを開始または再開し、自動再生が拒否された場合もシーンに支障が出ないように処理します。
リスナーをアクティブな視点にアタッチし、リスナーや出力経路が重複しないようにカメラの変更に対応します。位置ベースの音源には、シーンの単位に合わせた距離/減衰率と指向性コーンを設定します。位置ベースの音源で壁の遮蔽が自動的にシミュレートされるわけではありません。
非同期で読み込みとデコードを行い、失敗と古い結果を明示的に処理します。同時に再生する音源数に上限を設け、適切な場合はバッファーを再利用します。衝突のたびにサウンドを再生するのではなく、意味のある状態遷移を契機に再生します。
一時停止、表示状態の変更、ルート遷移、XR セッションの遷移に合わせて再生を制御します。所有する音源を停止/切断し、リスナーを解放します。アプリケーションの別の部分と共有されている AudioContext は閉じないでください。
自動再生がブロックされた場合、最初のユーザー操作、ミュート状態の保持、カメラ移動時の減衰、短時間での再トリガー、マウント/アンマウントの繰り返しを検証します。空間オーディオが重要な場合は、実際の出力デバイスで知覚される音量を測定します。
API リファレンス
正確なシグネチャとリビジョン固有の動作については、公式ドキュメントを参照してください。ドキュメントにアクセスできない場合は、インストール済みの型定義/ソースを調査し、残る不確実性を明記してください。