menu
 
バージョン
2021.1.14.8108

2024.1.5.8803

2023.1.13.8732

2022.1.19.8584

2021.1.14.8108

2019.2.15.7667

2019.1.11.7296

2018.1.11.6987

2017.2.10.6745

2017.1.9.6501

2016.2.6.6153

2015.1.9.5624


menu_open
Wwise Unreal Integration Documentation
Spatial Audioオブジェクト

AkAcousticTexture

Wwise Acoustic Texture を表す Unreal オブジェクト。Wwise Picker から イベント(Event)のドラッグ&ドロップ の「ドラッグ&ドロップ」またはUnreal Content Browser 内での右クリックによって作成可能。一旦作成すれば、 AkSurfaceReflectorSetComponent のポリゴンや、 AkSpotReflector などに適用できます。

AkGeometry Surface Properties Mapでは、 Integration設定 で、AkAcousticTexturesをUnreal Physical Materialsに関連付けることができます。

  • プロパティ
    • Edit Color: エディター限定のプロパティで、 AkAcousticTexture がアサインされている AkSurfaceReflectorSetComponent ポリゴンを色分けする場合に使う配色を定義します。Edit ColorはWwiseプロジェクトのAcoustic Textureから自動的に取得されます。アクティブなWAAPI接続があれば、WwiseでAcoustic Textureの色を変えると、すぐにAkAcousticTextureのEdit Colorに反映されます。

AkSpotReflector

Spot Reflectorアクターを使うと、3Dワールドに無指向性ポイントリフレクタを配置することができます。スポットリフレクタは、遠方の山など半径が大きく遠くにあるオブジェクトに配置すると、意義があります。

Spot reflectorは、 AkComponent からくるサウンドで、Enable Spot Reflectorsが有効になっているもので、同じエリア内に配置されたものであれば、全て反射します。AkComponent は、それが室外にあり、同じくspot reflectorも室外にある場合に、spot reflectorに対して送信されます。 AkComponent が室内にある場合は、同じ室内にあるspot reflectorに対してのみ送信されます。部屋を作成する際に、ボリュームに AkRoomComponent を添付して作成することができます。

BeginPlayで、Spatial Audio APIから、 AK::SpatialAudio::AddImageSource() をコールします。

  • プロパティ:
    • Aux Bus: アーリーリフレクションDSP用の AkReflect プラグインがある、 AkAuxBus 。このauxバスはgame-defined auxiliary sendsを可能にするべきで、Listener Relative Routingを有効に、3D Spatializationを None に設定します。
    • Acoustic Texture: このイメージソースによって反射するサウンドに対してフィルターとして使う、 AkAcousticTexture
    • Distance Scaling Factor: イメージソースの距離に基づくスケーリング。この数値でリスナーに関する sourcePosition ベクトルをスケーリングすることになり、それによって距離をスケーリングしてオリエンテーションを維持します。
    • Level: ゲーム側がコントロールする、このソースのリニア的なレベル。

AkSurfaceReflectorSetComponent

このコンポーネントは AkGeometryComponent に相当しますが、 AVolumeアクターに添付する必要があります。BeginPlayで、ボリュームの全ての有効ポリゴンが、SpatialAudioエンジンに送られます。

  • プロパティ
    • Enable Surface Reflector Set: このコンポーネントを有効・無効にします。
    • Acoustic Surfaces: ボリュームの1面または複数面に関連付けられたプロパティを編集するために使います。これらのプロパティを変更すると、デフォルトで、選択中の全てのアクターの全ての面に反映されます。編集する面を変更するには、 Enable Edit Surfaces ボタンをクリックしてEdit Surfacesモードを有効にします。これでUnrealエディタがBrush Editingモードに変わるので、このレベルの、選択していない全てのアクターが隠れます。エディターの標準モードに戻すには、 Disable Edit Surfaces ボタンをクリックします。Edit Surfacesモードでは、ボリュームの面を1つまたは複数、選択することができます。アコースティックサーフェスのプロパティを変更すると、選択中の全ての面に反映されます。各プロパティのあとにある、ブラケット内の英数字は、編集中の面の数を表します。
      • AkAcousticTexture: 選択中の面に関連付けられた、 AkAcousticTexture 。面の色は、そのテキスチャのEdit Colorによって決まり、テキスチャの名前が、Game Viewportで面の上に表示されます。これをNoneに設定すると、完全反射の面となります。言い換えれば、追加のテキスチャフィルタが適用されません。
      • Transmission Loss: この面を、音がどれほど透過するのかを表します。有効範囲は、0.0 - 1.0です。設定値が0.0であれば、面が音を完全に通します。設定値が1.0であれば、音は面によって遮られます。
      • Enable Surface: 選択中の面を、Spatial Audioエンジンに送信するかどうかを示します。無効にした面には、テキスチャ名や透過損失値が表示されません。
    • Geometry Settings:
      • Enable Diffraction: このジオメトリにおいて、Geometric Diffractionを有効・無効にします。
      • Enable Diffraction on Boundary Edges: このジオメトリにおいて、バウンダリーエッジのGeometric Diffractionを有効・無効にします。バウンダリーエッジとは、1つの三角だけに接続するエッジです。ジオメトリの具体的な形によって、バウンダリエッジを使う方が効率的かどうかが決まり、全体的には、処理しなければならない回折エッジの総数を削減したほうが良いです。
      • Associated Room: (必須でない)このSurface Reflector Setを、1つのRoomに関連付けます。あるSurface Reflector Setを、特定のRoomに関連付けることで、そのジオメトリを見ることができる場所、つまりそれをアクセスできる範囲を、制限できます。この設定をNoneのままにしておけば、範囲はグローバル(全体)となります。もし、ジオメトリがそのRoomの中に完全に収まっている(つまりポータル経由でなければ、ほかのRoomからは見えない)状態で、かつ、このRoomが、ほかのどのRoomともジオメトリを共有していなければ、このジオメトリを、Roomに関連付けることを推奨します。そうすることで、反射や回折の計算で実行されるレイキャスティングのサーチ範囲が減らせます。なお、あるRoomに1つ以上のジオメトリセットを関連付けると、このRoomから、範囲がグローバルであるほかのジオメトリをアクセスできなくなるので、注意してください。
info

注記: AkSurfaceReflectorSetComponent を使って作業するときは、必ずビューポートを Realtime に設定し、可視化の画面が正しく更新されるようにしてください。

Viewport OptionsでRealtimeを有効にする
参照

AkRoomComponent

このコンポーネントは、Spatial AudioルームをWwiseサウンドエンジンに登録するためのもので、どの UPrimitiveComponent にも追加できます。Roomの目的は、2つあります:

  • 方向性のあるリバーブを可能にする。ゲームオブジェクトに適用する室内の全てのAuxiliaryバスは、ボリュームのフロントベクトルに対して向けられます。
  • AkAcousticPortalAkPortalComponent と合わせて使うと、ウェットシグナルを、あるルームの中から、ポータルを通して別のルームにルーティングすることが可能になります。

どちらの場合も、使用するAuxiliaryバスのポジショニングは Listener Relative Routing を有効にし、3D Spatializationを指定し、Attenuationをアサインしておきます。

  • プロパティ
    • Is Dynamic: ルームの動きに合わせてこのルームとポータル間の接続を、ランタイムに変更するかしないかを設定します。ポータル数の多いワールドでは、このプロパティを有効にすることで演算負荷が大きくなります。なお、無効にしても、ダイナミックなポータル(つまりbDynamicを有効にしたポータル)が動くと、このルームのポータル接続も変更される可能性があります。
    • Enable Room: このコンポーネントを有効・無効にします
    • Priority: 部屋が適用される順位。部屋が重複する場合は、最も高いプライオリティのものが選択されます。同じプライオリティ設定を持つ部屋が重複している場合は、どの部屋が選択されるかは予想不可能になります。
    • Transmission Loss: リスナーのいるルームとは別のルームで発せられるダイレクトサウンドに適用する、透過損失値の設定です。ルームの壁を貫通して伝わる音エネルギーに関連する値なので、壁の厚みとしてとらえることができます。有効範囲は0.0f-1.0f で、デフォルトで、Wwiseプロジェクトで定義したオクルージョンカーブにマッピングされます。
    • Room Tone
      • Ak Audio Event: Roomゲームオブジェクトにポストするイベント。
      • Aux Send: Roomにポストされるサウンドの、Sendレベル。有効範囲: (0.f-1.f). 値を0にすると、Aux sendが無効になります。
      • Auto Post: Roomにポストされたオーディオイベントを、BeginPlayで自動的にポストします。
info 注記: Ak Roomコンポーネントは、コンポーネント階層の UPrimitiveComponent にアタッチされている必要があります。もしAk Roomコンポーネントの親に UPrimitiveComponent がない場合は、エラーがログに記録され、コンポーネントによる影響はありません。
info 注記: Ak RoomコンポーネントがWwiseを更新するときは、その親( UPrimitiveComponent )のポジションやバウンドを使います。Ak Roomコンポーネントに対して直接行った変換、回転、拡大縮小などは、まったく影響しません。
info 注記: カスタムブループリントクラスで AkRoomComponent を使う場合は、親にSimpleコリジョンコンポーネントを使うことが推奨されます。例えば、 BoxCollisionSphereCollisionCapsuleCollision などのコンポーネントを使えます。詳細は、 Spatial Audioのブループリントコンポーネント を参照してください。
参照

AkPortalComponent

このコンポーネントは、Spatial AudioポータルをWwiseサウンドエンジンに登録するためのもので、どの UPrimitiveComponent にも追加できます。 AkRoomComponent がアタッチされているアクター(例 AkSpatialAudioVolume )に入っているサウンドが、 AkRoomComponent がアタッチされている別のアクターにリークすることが、可能になります。ポータルと重複するようなアクターは、初期化の時点で検知されます。パンニングサウンドも3Dスペーシャリゼーションサウンドも、ポータル経由でルーティングできます。ポータルには、フロントルームとバックルームがあります。少なくとも1つのルームがポータルに接続している必要があり、フロントフームは、バックルームとは違うものとします。

  • プロパティ
    • Is Dynamic: ポータルの動きに合わせてルームとこのポータル間の接続を、ランタイムに変更するかしないかを設定します。ルーム数の多いワールドでは、このプロパティを有効にすることで演算負荷が大きくなります。なお、無効にしても、ダイナミックなルーム(つまりbDynamicを有効にしたルーム)が動くと、このポータルのルーム接続も変更される可能性があります。
    • Initial state: このポータルを初期化するときに、開いている(有効)とするのか、閉まっている(無効)とするのかの設定。
    • Obstruction Refresh Interval: オブストラクションのチェック(リスナーとポータル開口部の間の、直接のラインオブサイト)の間隔を設定します。0に設定すると、オブストラクションのチェックが無効になります。完全なSpatial Audioディフラクションを利用したい場合は、これを無効にすることを推奨します。
    • Obstruction Collision Channel: オブストラクションのレイキャスト(ポータルとリスナーの間)の衝突(コリジョン)を、希望するジオメトリに従い作成するための、オブジェクトのコリジョンチャンネル。
info 注記: AkPortalComponentは、コンポーネント階層の UPrimitiveComponent にアタッチされている必要があります。AkPortalComponentの親が UPrimitiveComponent でなければ、エラーがログに記録され、コンポーネントの効果はありません。
info 注記: ルームやポータルを使って作業するときに、ポジションを調整したり、ポータルとルームの接続を理解したりするために、Viewportで可視化することができます。これを有効・無効にするには、WwiseのIntegration Settingsの、Viewportsの下のVisualize Rooms and Portalsで設定します。
info 注記: AkPortalComponentは、Wwiseを更新するときに親( UPrimitiveComponent )のポジションや境界線を使います。AkPortalComponentに直接適用した変換や、回転や、拡大縮小は、効果がありません。
info 注記: カスタムブループリントクラスに複数のAkPortalComponentを追加した場合に、Level Editorでそのクラスのインスタンスを移動すると、Unreal Editorが応答しなくなることがあります。この問題を回避するには、Class Settingsで、以下のように Run Construction Script on Drag を無効にします:
  1. カスタムBlueprint Classを、Blueprint Editorで開きます。
  2. Class Settings をクリックします。
  3. Details PanelのBlueprint Optionsの下の、 Run Construction Script on Drag オプションを無効にします。
参照

AkSpatialAudioVolume

分かりやすいように、AkSpatialAudioボリュームが1つ、インテグレーションに含まれます。内容は、単純なボリュームに AkSurfaceReflectorSetComponentAkRoomComponentAkLateReverbComponent が添付されたものです。

AkAcousticPortal

ワールドでスポーンできる、利便性のためのアクターで、 AkPortalComponent がアタッチされています。

AkGeometryComponent

このコンポーネントは AkSurfaceReflectorSetComponent に相当しますが、ブラシの代わりに、StaticMeshComponentに追加する必要があります。AkGeometryComponentが、このメッシュをSpatial Audio Geometryに変換します。スタティックメッシュ自体と、シンプルコリジョンメッシュが、これで変換できる2つのメッシュです。なお、シンプルコリジョンの場合は、SphereとCapsuleのプリミティブの近似値でバウンディングボックスのメッシュになります。

ゲームをデバグするときに、Spatial audioジオメトリをWwise AuthoringのGame Object 3D Viewerで見ることができます。AkGeometryComponentを使うと、より複雑な形を送ることができます。このため、Game Object 3D Viewerにジオメトリが表示されないことがあります。ゲームから送られてくる追加データに対応できるように、 初期化設定 でMonitor Queue Pool Sizeを適切な大きさに設定してください。

どちらのメッシュタイプでも、メッシュのPhysical Materialから、Acoustic Textureや透過損失値が推測されます。Physical MaterialsをAkAcousticTexturesや透過損失値に関連付けるには、 Integration設定 のAkGeometry Surface Properties Mapを使います。

  • スタティックメッシュの場合、サーフェスプロパティは、このスタティックメッシュで使われる各Materialの、Physical Materialから推測します。
  • メッシュにシンプルコリジョンを選択すると、サーフェスプロパティを、Simple Collision Physical Materialから推測します。

なお、Unrealでは、Physical Materialを選択しない(Noneのままにする)と、代わりにDefaultPhysicalMaterialが使われるので注意してください。Physical Materialをアサインしていないメッシュのために、DefaultPhysicalMaterialにAkAcousticTextureを関連付けます。

  • プロパティ
    • Geometry
      • Mesh Type: ジオメトリをスタティックメッシュから変換するのか、シンプルコリジョンメッシュから変換するのか。
      • LOD: Mesh Type リストで Static Mesh を選択した場合は、このパラメータで、スペーシャルオーディオのジオメトリに使うlevel of detail (LOD) を選択することができます。
      • Welding Threshold: Mesh Type リストで Static Mesh を選択した場合は、このパラメータで、ウェルドする2つの頂点の間のローカルの距離を、単位Unrealユニットで選択できます。このスレッショルドよりも接近している2つの頂点は、同じ1つの頂点として扱われ、同じポジションがアサインされます。スレッショルド値を大きくすると、三角と三角の間のギャップの数が減るのでメッシュがより連続したものとなり、音が漏れにくくなると同時に、重要でない小さな三角形が排除できます。また、スレッショルド値を大きくすると、Spatial Audioのエッジを探すアルゴリズムの助けにもなり、有効なディフラクションのエッジを見つけやすくなります。
      • Acoustic Properties Override
        • Acoustic Texture: ここで入力したアコースティックテキスチャが、メッシュのフィジカルマテリアルに基づいて自動的に選択されたアコースティックテキスチャを、オーバーライドします。 Mesh Type でスタティックメッシュを選択した場合は、各MaterialのAcoustic textureを、個別にオーバーライドすることが可能です。
        • Enable Transmission Loss Override: 透過損失値をオーバーライドできます。
        • Transmission Loss: ここで入力した透過損失値が、メッシュのフィジカルマテリアルに基づいて自動的に選択された透過損失値を、オーバーライドします。ここでも、 Mesh Type でスタティックメッシュを選択した場合は、各マテリアルの透過損失値を、個別にオーバーライドすることが可能です。
    • Diffraction
      • Enable Diffraction: AkSurfaceReflectorSetComponentと同様に、この設定で、このジオメトリのGeometric diffractionを有効・無効にできます。
      • Enable Diffraction on Boundary Edges: AkSurfaceReflectorSetComponentと同様に、この設定で、このジオメトリのバウンダリーエッジのGeometric diffractionを有効・無効にします。
    • Optimization
      • Associated Room: (必須でない) このジオメトリを、Roomと関連付けます。特定のRoomにジオメトリを関連付けると、このジオメトリを見たりアクセスしたりできる範囲が制限されます。この設定をNoneのままにしておけば、範囲はグローバル(全体)となります。もし、ジオメトリがそのRoomの中に完全に収まっている(つまりポータル経由でなければ、ほかのRoomからは見えない)状態で、かつ、このRoomが、ほかのどのRoomともジオメトリを共有していなければ、このジオメトリを、Roomに関連付けることを推奨します。そうすることで、反射や回折の計算で実行されるレイキャスティングのサーチ範囲が減らせます。なお、あるRoomに1つ以上のジオメトリセットを関連付けると、このRoomから、範囲がグローバルであるほかのジオメトリをアクセスできなくなるので、注意してください。
info 注記: UnrealのBlueprint EditorでAkGeometryComponentを追加するときに、 Mesh Type がスタティックメッシュに設定されていると、アコースティックテキスチャのアレイの情報は、自動的に入力されません。理由は、Blueprint EditorのComponent Detailsパネルに、コンポーネントインスタンスのテンプレートの情報が表示されていて、これらが、ブループリント内のほかのコンポーネントを認識していないからです。
参照

このページはお役に立ちましたか?

サポートは必要ですか?

ご質問や問題、ご不明点はございますか?お気軽にお問い合わせください。

サポートページをご確認ください

あなたのプロジェクトについて教えてください。ご不明な点はありませんか。

プロジェクトを登録していただくことで、ご利用開始のサポートをいたします。

Wwiseからはじめよう