mcpField
T
threejs-audio

threejs-audio

github.com/cesartevisual開発13368 回インストール8 週間前に更新
リポジトリ

threejs-audio について

threejs-audioは、Three.jsプロジェクトで空間オーディオを実装するための指針を提供するスキルです。既存の構成に沿い、再生ライフサイクル、位置音響、アクセシビリティ、エラー処理、検証を扱います。

主な機能

  1. 01情報を伝える音と環境音の区別
  2. 02ミュート・音量・テキスト代替の提供
  3. 03アクティブな視点へのリスナー接続
  4. 04音声の非同期読み込みとエラー処理
  5. 05アプリやXRのライフサイクルとの再生連携
  6. 06自動再生・減衰・再トリガーの検証

活用シーン

  1. 01Three.jsシーンへの位置音響の追加
  2. 02自動再生拒否時のシーン動作の維持
  3. 03カメラやXRの切り替え中の音声管理
  4. 04繰り返しのマウントと急速な音声トリガーのテスト

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/cesartevisual/threejs-skills --skill threejs-audio

インストール後、Claude Code で/threejs-audioを入力して読み込まれたか確認します。

詳細

空間オーディオ

プロジェクトにインストールされているバージョンと既存のアーキテクチャを使用します。これらの指示はユーザーのタスクを補足するものであり、無関係な変更や外部での操作を許可するものではありません。

オーディオが情報を伝えるものか、任意の環境音を提供するものかを明確にします。ミュート/音量の調整機能と、必要な場合はそのテキストによる代替手段を HTML で提供します。ユーザー操作を受けてオーディオを開始または再開し、自動再生が拒否された場合もシーンに支障が出ないように処理します。

リスナーをアクティブな視点にアタッチし、リスナーや出力経路が重複しないようにカメラの変更に対応します。位置ベースの音源には、シーンの単位に合わせた距離/減衰率と指向性コーンを設定します。位置ベースの音源で壁の遮蔽が自動的にシミュレートされるわけではありません。

非同期で読み込みとデコードを行い、失敗と古い結果を明示的に処理します。同時に再生する音源数に上限を設け、適切な場合はバッファーを再利用します。衝突のたびにサウンドを再生するのではなく、意味のある状態遷移を契機に再生します。

一時停止、表示状態の変更、ルート遷移、XR セッションの遷移に合わせて再生を制御します。所有する音源を停止/切断し、リスナーを解放します。アプリケーションの別の部分と共有されている AudioContext は閉じないでください。

自動再生がブロックされた場合、最初のユーザー操作、ミュート状態の保持、カメラ移動時の減衰、短時間での再トリガー、マウント/アンマウントの繰り返しを検証します。空間オーディオが重要な場合は、実際の出力デバイスで知覚される音量を測定します。

API リファレンス

正確なシグネチャとリビジョン固有の動作については、公式ドキュメントを参照してください。ドキュメントにアクセスできない場合は、インストール済みの型定義/ソースを調査し、残る不確実性を明記してください。

コメント