기술 자료

Development

User Acquisition

Monetization

산업 분야

Vivox Core SDK

Vivox Core SDK

이 페이지는 선택한 언어로 제공되지 않습니다.
Vivox
​
​
Vivox Core SDK
  • Overview
  • Before you begin
  • Get started
  • Release notes
  • Developer Guide
    • Client SDK basics
    • Channels
      • Channel name criteria
      • Channel types
      • Echo channels
      • Positional channels
        • Large 3D channels setting
        • Positional channel parameters
        • Positional channel configuration
      • Volume differences
      • Channel identifiers for large scale games
      • Participant events
      • Channel webhooks
      • Join a channel
      • Leave a channel
      • Kick a user from a channel
      • Manage session groups
      • Audio injection
      • Methods for setting audio levels
      • Derumbler
      • Automatic connection recovery
    • Presence management
    • Messaging
    • Manage audio
    • Couch co-op
    • Android app development
    • iOS app development
    • macOS app development
    • Windows app development
    • Real-time recording
    • Speech-to-text audio transcription
    • Text-to-speech
    • Troubleshooting
  • Reference
  • Privacy overview
  1. Vivox Core SDK documentation

Positional channel configuration

Configure positional channels for spatial audio in 3D environments.
읽는 시간 2분
최근 업데이트: 8달 전

If a game has joined a positional channel, it must frequently update the Vivox SDK with the position and orientation of the user in the 3D space that is associated with that channel. The client does this by sending a
vx_req_session_set_3d_position
message to the Vivox SDK.
Positional channels use a right-hand coordinate system. When the player avatar is standing facing directly forward, the following criteria applies:
  • The positive X-axis is to the avatar's right.
  • The positive Y-axis runs from the avatar's feet upward through their head.
  • The positive Z-axis runs from the avatar's chest out through their back.
When a player joins a positional channel, the player avatar is placed at a null position until they move to a position.
You can set the position of the avatar's mouth independently of the avatar's ears. These are respectively referred to as the speaker position and the listener position, and they share coordinates in most scenarios. Because the positions are independent, this allows for effects like an "audio zoom," where a character who is using something like a shotgun microphone could be configured to hear voice as though they were closer to the target, but they are still only speaking to those immediately around them. In addition to position, the listener can also have its orientation set to accurately render audio panning. However, the speaker cannot have its orientation set; spoken voices are treated as omni-directional audio “point sources” and are unaffected by the speaker’s orientation.
After you set up and join a positional channel with any configured 3D properties, you then report your actor's position and orientation to the Vivox SDK.
The following code displays an example of how to set a user's position in a positional channel:
. . .vx_req_session_set_3d_position *req;vx_req_session_set_3d_position_create(&req);req->session_handle = vx_strdup("mychannel");req->req_disposition_type = req_disposition_no_reply_required;req->speaker_position[0] = 10;req->speaker_position[1] = 0;req->speaker_position[2] = 0;req->listener_position[0] = 10;req->listener_position[1] = 0;req->listener_position[2] = 0;req->listener_at_orientation[0] = 0;req->listener_at_orientation[1] = 0;req->listener_at_orientation[2] = -1;req->listener_up_orientation[0] = 0;req->listener_up_orientation[1] = 1;req->listener_up_orientation[2] = 0;vx_issue_request3(&req->base, &request_count);. . .
The most frequently issued request is
vx_req_session_set_3d_position
. Successful responses from this request are ignored.
To save processing time in your game, and because responses with errors are still returned, to prevent the Vivox SDK from returning successful responses to this request, set the
vx_req_session_set_3d_position.req_disposition_type
to
req_disposition_no_reply_required
.

Copyright © 2026 Unity Technologies
법률 정보개인정보 처리방침쿠키Documentation Terms of Use개인 정보 판매 또는 공유 금지개인정보 보호 선택(쿠키 설정)

'Unity', Unity 로고 및 기타 Unity 상표는 미국 및 기타 지역 내 Unity Technologies 또는 그 계열사의 상표 또는 등록상표입니다(자세한 내용은 여기에서 확인하세요). 기타 명칭 또는 브랜드는 해당 소유자의 상표입니다.

일부 페이지는 편의를 위해 기계 번역되었으며 부정확한 내용이 있을 수 있습니다. 정보가 상충되는 경우, 영어 버전을 우선으로 참조하세요.


    이 페이지의 문제 보고
    ​
    ​