ポジショナルチャンネルの設定
Configure positional channels for spatial audio in 3D environments.
読み終わるまでの所要時間 1 分最終更新 23日前
ゲームがポジショナルチャンネルに参加している場合、そのチャンネルに関連付けられた 3D 空間内でのユーザーの位置と向きで Vivox SDK を頻繁に更新する必要があります。クライアントは、シーン内のプレイヤーを表すゲームオブジェクトと、オーディオが接続されているアクティブなポジショナルチャンネルの channelName を指定して
VivoxService.Instance.Set3DPosition(GameObject participantObject, string channelName)- 正の X 軸がアバターの右に適用されます。
- 正の Y 軸はアバターの足から上に向かって頭まで伸びます。
- 正の Z 軸はアバターの胸から背中に伸びます。
設定された 3D プロパティによりポジショナルチャンネルを設定して参加した後は、Vivox SDK にアクターの位置と向きを報告します。
以下のコードは、ポジショナルチャンネルでユーザーの位置を設定する方法の例です。
このサンプルコードは、送信される 3D ポジショナル更新の回数を制限するためのメソッドを示しています。例えば、Update メソッドの時間管理テクニックでは、更新の試行を合理的な 1 秒あたりの回数に制限できます。サンプルメソッドusing UnityEngine;using Unity.Services.Vivox;class PositionalChannelExample : MonoBehaviour{ . . . // For this example, _nextPosUpdate has been initialized as Time.time at // game start. _localPlayerGameObject is the GameObject controlled by the local player. void Update() { . . . if (Time.time > _nextPosUpdate) { VivoxService.Instance.Set3DPosition(_localPlayerGameObject, activePositionalChannelName); _nextPosUpdate += 0.3f; // Only update after 0.3 or more seconds } . . . } . . .}
Update3DPositionSet3DPosition