オーディオオブ젝ト

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

Roblox のモジュラーオーディオオブジェクトでは、エクスペリエンス内のサウンドとボイスチャットを動的に制御できます。ほぼすべてのオーディオオブジェクトは、現実世界のオーディオデバイスに対応し、それらはすべて機能して、物理的な同類のオーディオをキャプチャし、再生します。

たとえば、すべてのオーディオオブジェクトは概念的に次のカテゴリに分類されます:

  • オブジェクトが 生成する オーディオストリーム、例えばオーディオプレイヤー
  • オーディオエミッターなど、 消費する オーディオストリームを持つオブジェクト
  • オブジェクトが 修正する オーディオストリーム、例えばオーディオ効果。
  • ワイヤーなど、1つのオーディオオブジェクトから別のオーディオオブジェクトへのオーディオストリームを運ぶオブジェクト。 carry オブジェクト。

このガイドを読んで、すべてのオーディオオブジェクトがどのように協力して音を発しているかを学ぶと、エクスペリエンスからプレイヤーに音楽、サウンド効果、人間の声を正確にキャプチャしてフィードする方法を学びます。

音オーディオを再生

エクスペリエンス内でオーディオを再生するには、利用可能なオーディオオブジェクトの各役割を理解することが重要です:

  • AudioPlayer がロードし、設定されたオーディオアセットIDを使用して オーディオファイル を再生します。
  • AudioEmitter は、3D 環境にオーディオを出力する バーチャルスピーカー です。
  • An AudioListener は、3D 環境からオーディオを拾う バーチャルマイク です。
  • An AudioDeviceOutput は、スピーカーやヘッドフォンなどの実世界内の 物理ハードウェアデバイス です。
  • An AudioDeviceInput は、リアルワールド内の 物理マイク です。
  • A Wire は、1つのオーディオオブジェクトから別のオーディオストリームを運びます これらのオーディオオブジェクトをどのようにペアリングするかは、プレイヤーのスピーカーまたはヘッドフォンに直接オーディオを送信したいか、または 3D 空間のオブジェクトからオーディオを送信したいかによります。次のセクションでは、両方のシナリオを詳細に説明します。

2D オーディオ

2D オーディオ は特定の場所から再生し、3D 空間のプレイヤーの位置や方向に関係なく同じボリュームで残る非方向性の音です。この種類のオーディオには、3つのオーディオオブジェクトが必要です:

  • オーディオストリームを生成するオーディオプレイヤー。
  • 実世界でオーディオストリームを再生する物理ハードウェアデバイス。
  • オーディオストリームをオーディオプレイヤから出力デバイスに伝送するワイヤ。

2D オーディオ用の Studio でこれらのオーディオオブジェクトを構成する方法を示すために、次の図では、各オブジェクトを実世界のオーディオデバイスと比較します。概まとめ:

  • The AudioPlayer は、指定された設定でオーディオアセットをロードして再生します。
  • The AudioDeviceOutput は、プレイヤーがスピーカーまたはヘッドフォンを通じてオーディオを聴くことを可能にします。
  • The Wire は、SourceInstance プロパティを持つオーディオプレイヤーと、TargetInstance プロパティを持つ物理ハードウェアデバイスに接続します。次に、オーディオストリームをオーディオプレイヤーからプレイヤーの出力デバイスに伝送する橋として機能します。

非方向性オーディオを再生するには:

  1. エクスプローラ ウィンドウで、 サウンドサービス に移動し、次に
    1. オーディオプレイヤー オブジェクトを挿入して、オーディオソースを作成する
    2. オーディオデバイス出力 オブジェクトを挿入して、経験全体で再生するスピーカーを作成します。
    3. ワイヤー オブジェクトを挿入して、オーディオプレイヤーからスピーカーにストリームを接続します。
  2. Select the オーディオプレイヤー , then in the プロパティ window,
    1. アセットID を有効なオーディオアセットIDに設定します。自分のカスタムオーディオがない場合は、クリエイターストアで無クリエーターストアで使用できるオーディオアセットを見つけることができます。
    2. オーディオを連続再生させたい場合は、 ループ化 を有効にします。
    3. ボリューム を、オーディオを再生したい幅の単位に設定します。
  3. Select the ワイヤー , then in the プロパティ window,
    1. ソースインスタンス を オーディオプレイヤー に設定して、特定のオーディオプレイヤー内でオーディオを再生したいことを指定します。
    2. ターゲットインスタンスオーディオデバイス出力 に設定して、特定のスピーカーからオーディオを再生したいことを指定します。

ここから、スクリプトを使用して非方向性オーディオをトリガーして、プレイヤーがエクスペリエンスに参加するか、ゲームプレイイベントまたはUIインタラクションの結果として再生することができます。これらの使用ケースのコードサンプル参照については、2D オーディオを追加 チュートリアルを参照してください。

3D オーディオ

3D オーディオ は、3D 空間の特定の場所から再生され、プレイヤーの位置と音への向きに応じて音量が増加または減少する方向性のある音です。この種類のオーディオには、6つのオーディオオブジェクトが必要です:

  • オーディオストリームを生成するオーディオプレイヤー。
  • 環境内でオーディオストリームを放送するオーディオエミッター。
  • 環境からオーディオストリームをピックアップするリスナー。
  • 実世界でオーディオストリームを再生する物理ハードウェアデバイス。
  • 2本のワイヤー: 1つは、オーディオプレイヤーからエミッターへのオーディオストリームを運ぶもの、もう1つは、リスナーから出力デバイスへ運ぶもの。

3D オーディオ用の Studio でこれらのオーディオオブジェクトを構成する方法を示すために、次の図では、各オブジェクトを実世界のオーディオデバイスと比較します。概まとめ:

  • The AudioPlayer は、指定された設定でオーディオアセットをロードして再生します。
  • The AudioEmitter の 3D 空間内の親位置は、オーディオが環境内でどこに放出されるかを決定します。
  • The AudioListener は、デフォルトのリスナーポジションを設定した場所に応じて、ローカルカメラから発信者のオーディオをピックアップするか、プレイヤーキャラクターの Humanoid.RootPart 内でオーディオをピックアップします。
  • The AudioDeviceOutput は、プレイヤーがスピーカーまたはヘッドフォンを通じてオーディオを聴くことを可能にします。
  • 最初の Wire は、SourceInstance プロパティを持つオーディオプレイヤーと、TargetInstance プロパティを持つエミッターに接続します。その後、オーディオストリームをオーディオプレイヤからエミッタに運ぶ橋として機能します。
  • 2番目の Wire は、SourceInstance プロパティでリスナーに接続し、TargetInstance プロパティで物理ハードウェアデバイスに接続します。その後、オーディオストリームをリスナーからプレイヤーの出力デバイスに伝送する橋として機能します。

位置音オーディオを再生するには:

  1. プレイヤーがエクスペリエンスにスポーンするときに オーディオリスナー を作成したい場所を選択します。

    1. In the エクスプローラー window, select サウンドサービス .
    2. プロパティ ウィンドウで、 ListenerLocation をフォロー中のいずれかに設定します:
      • デフォルト - ボイスチャットチャットを有効にするエクスペリエンスで、リスナーを Workspace.CurrentCamera を作成し、親に設定する
      • なし - リスナーを作成しません。このオプションは、スクリプトを介してリスナーを作成したい場合に便利です。
      • キャラクター - ローカルプレイヤーのキャラクターにリスナーを作成し、親を付与する。
      • カメラ - を作成し、親にリスナーをWorkspace.CurrentCameraにします。
  2. エクスプローラ ウィンドウで、オーディオを送信したい 3D オブジェクトに移動し、次に:

    1. オーディオプレイヤー オブジェクトを挿入して、オーディオソースを作成する
    2. オーディオエミッター オブジェクトを挿入して、3D オブジェクトから位置ストリームを発信します。
    3. ワイヤー オブジェクトを挿入して、オーディオプレイヤーからオーディオエミッターにストリームを接続します。
  3. Select the オーディオプレイヤー , then in the プロパティ window,

    1. アセットID を有効なオーディオアセットIDに設定します。自分のカスタムオーディオがない場合は、クリエイターストアで無クリエーターストアで使用できるオーディオアセットを見つけることができます。
    2. オーディオを連続再生させたい場合は、 ループ化 を有効にします。
    3. ボリューム を、オーディオを再生したい幅の単位に設定します。
  4. Select the オーディオエミッター , then in the プロパティ window, set 距離衰減 to a volume-over-distance curve that determines how loudly the listener hears the emitter according to the distance between them.

    たとえば、次のカーブは、リスナーがエミッターから 50スタッド離れているとき、オーディオの音量が半分減少し、リスナーが 70スタッド離れているとき、音量がゼロに急激に減少します。

  5. Select the ワイヤー , then in the プロパティ window,

    1. ソースインスタンス を オーディオプレイヤー に設定して、特定のオーディオプレイヤー内でオーディオを再生したいことを指定します。
    2. ターゲットインスタンスオーディオエミッター に設定して、特定のオーディオエミッターからオーディオを再生したいことを指定します。

ここから、スクリプトを使用して、方向性オーディオをプレイヤーがエクスペリエンスに参加するか、ゲームプレイイベントまたはUIインタラクションの結果として再生させることができます。これらの使用ケースのコードサンプル参照については、3D オーディオを追加 チュートリアルを参照してください。

オーディオをカスタマイズ

オーディオ効果では、プレイヤーの耳に達する前に非破壊的にオーディオストリームを修正または強化できます。これらの効果を適用して、オーディオをより没入感のあるものにすることができます。例えば、AudioEqualizer オブジェクトを使用して雨音を抑えたり、AudioCompressor オブジェクトでサウンドの最大音量を制御したり、AudioReverb で内部空間により現実的な音の反射を追加します。

オーディオ効果の構成方法の指示や、オーディオをカスタマイズする前後の比較を見るには、オーディオ効果を参照してください。

オーディオ声をトリガー

スクリプトで Play() を呼び出して、正しく配線された AudioPlayer オブジェクトにコンテキストのオーディオをトリガーできます。たとえば、スクリプトをオーディオプレイヤーに親にすると、次のようなものを介してオーディオアセットをトリガーできます:


local audio = script.Parent
local something = ...
something.SomeEvent:Connect(function()
audio:Play()
end)

ゲームプレイフィードバック、UI の相互作用、ループバックの背景騒音など、より複雑なコードサンプルでオーディオをトリガーするには、2D オーディオを追加 および 3D オーディオを追加 チュートリアルを参照してください。