CRIWARE Unity Plugin Manual
Last Updated: 2024-12-05
[CriAtom]トランシーバー
サンプル内容
概要
トランシーバー機能を利用した空間音響表現のサンプルです。
操作方法
[Outside]ボタンを押下すると、カメラ(リスナー付き)は部屋から外(Outside)に移動します。
[Inside]ボタンを押下すると、カメラが現在位置から初期位置(Inside)に戻ります。
ボタンを押し、カメラが移動すると同時に、リスナーから聞こえる音の方向性が音源やトランシーバーとの位置関係によって変わります。
シーン情報
ミドルウェア
CRI ADX (CRI Atom)
サンプル
Advancedサンプル
格納場所
/cri/unity/samples/UnityProject/Assets/Scenes/criatom/advanced/
シーンファイル
Scene_07_Transceiver.unity
プログラムの解説
3Dリージョンの設定について
音が直接音源から聞こえるか、トランシーバーを介して聞こえるかについては以下のルールに従います:
音源とリスナーが同じリージョンに属する場合、音が音源から直接聞こえます
音源とリスナーが異なるリージョンに属する場合、トランシーバーが自分と同じリージョンに属する音を集約して、リージョンの違うリスナーに出力します
「リスナーが室内にいるときは室外の音をトランシーバーから再生する」、「リスナーが室外にいるときは室内の音をトランシーバーから再生する」という動作を実現するためには、以下のような方法でリージョンを切り替える必要があります。
/* コード抜粋 */
/* Monobehaviourは部屋の壁に沿った形のボックスにアタッチします */
/* 部屋の中に入った際のコールバック */
private
void
OnTriggerEnter(Collider other) {
var listener = other.GetComponent<CriAtomListener>();
if
(listener != null) {
listener.region3d = regionIn;
transceiver.region3d = regionOut;
}
}
/* 部屋から外に出た際のコールバック */
private
void
OnTriggerExit(Collider other) {
var listener = other.GetComponent<CriAtomListener>();
if
(listener != null) {
listener.region3d = regionOut;
transceiver.region3d = regionIn;
}
}
Copyright (c) CRI Middleware Co., Ltd. 1.8.10