적절한 센터 모드 선택하기
적절한 센터 모드 선택은 콘텐츠 제작에 매우 중요합니다. 다음 내용을 통해 어떻게 센터 모드를 획득하고 수정하는지, 그리고 적절한 센터 모드를 선택하는 방법에 대한 조언을 알 수 있습니다.
시작하기 전에
- AR Session 소개를 통해 session의 기본 개념, 구성 및 작업 흐름을 이해하세요.
- AR Session의 센터 모드를 통해 센터 모드의 기본 개념과 장면 내 오브젝트 운동 동작에 미치는 영향을 이해하세요.
사용 가능한 센터 모드 획득하기
session이 실행 중일 때, 현재 session에서 사용 가능한 센터 모드만 Inspector 패널의 Center 드롭다운 메뉴에 표시됩니다. session이 시작되지 않은 경우 모든 센터 모드가 표시됩니다.

이 이미지는 에디터에서 CameraDeviceFrameSource를 사용할 때 session에서 사용 가능한 센터 모드를 보여줍니다.
스크립트에서는 session이 성공적으로 조립된 후 ARSession.AvailableCenterMode 속성을 통해 현재 session에서 사용 가능한 센터 모드 목록을 얻을 수 있습니다.
예를 들어, 다음 코드는 특정 센터 모드가 현재 session에서 사용 가능한지 여부를 판단하는 방법을 보여줍니다:
if (Session.AvailableCenterMode.Contains(mode))
{
// mode가 현재 session에서 사용 가능합니다
}
센터 모드 수정하기
Inspector 패널을 열고 Center 드롭다운 메뉴에서 원하는 센터 모드를 선택하세요.

스크립트에서는 ARSession.CenterMode 속성을 통해 센터 모드를 수정할 수 있습니다.
예를 들어, 다음 코드는 사용 가능한 센터 모드 사이를 순환하는 방법을 보여줍니다:
while (true)
{
Session.CenterMode = (ARSession.ARCenterMode)(((int)Session.CenterMode + 1) % Enum.GetValues(typeof(ARSession.ARCenterMode)).Length);
if (Session.AvailableCenterMode.Contains(Session.CenterMode)) { break; }
}
session은 매 프레임 업데이트 시 현재 센터 모드가 유효한지 판단합니다. 유효한 경우 session은 즉시 새로운 센터 모드를 사용하려 시도합니다.
위 동영상에서 session은 초기에 FirstTarget 모드를 사용하며 중심 오브젝트는 크리스마스 트리(밝은 파란색 포인트 클라우드)입니다. 이후 수동으로 센터 모드를 Camera 모드로 변경하면 중심 오브젝트가 카메라(파란색 원뿔)로 변경됩니다. 동영상 내용에 대한 자세한 설명은 AR Session의 센터 모드를 참조하세요.
session 업데이트 시 수정된 센터 모드가 현재 session에서 유효하지 않으면, CenterMode 속성은 자동으로 첫 번째 사용 가능한 센터 모드(일반적으로 FirstTarget 또는 SessionOrigin)로 재설정되고 로그에 경고 메시지가 출력됩니다:
Center mode {Value} is unavailable in this session, reset to {NewValue}.
어떻게 센터 모드를 선택할 것인가
실제 세계의 오브젝트와 정렬하는 것은 AR 콘텐츠 제작의 핵심 요구사항이며, 센터 모드는 session이 어떤 오브젝트를 참조점으로 사용하여 장면 내 다른 오브젝트의 위치와 방향을 계산할지 결정합니다. 따라서 적절한 센터 모드 선택은 콘텐츠 제작에 매우 중요합니다.
일반적인 조언
대부분의 경우 FirstTarget 또는 SpecificTarget 모드를 사용하여 target을 중심으로 콘텐츠를 제작하는 것이 더 편리합니다. 이렇게 하면 target 아래에 배치된 콘텐츠 참조점이 정지 상태를 유지하여 XR Origin이나 camera의 이동으로 인한 불필요한 영향(예: 물리 시스템 계산에 영향)을 받지 않습니다. 하지만 이것이 절대적인 것은 아닙니다. 구체적으로:
선택 방법을 모를 때는 기본값인 FirstTarget 센터를 사용하세요
대부분의 AR 기능에는 오차가 있으며, 실행 중에 이 오차가 지속적으로 수정되기 때문에 현실 세계에서 상대적으로 움직이지 않는 오브젝트(예: 희소 공간 맵의target과 모션 트래킹의XR Origin)가 가상 공간에서는 상대적인 움직임을 가지게 됩니다. 이 경우target을 중심으로 사용하는 것이XR Origin을 사용하는 것보다 콘텐츠 제작 요구사항에 더 부합합니다.여러
target이 동시에 트래킹되는 경우
여러target이 동시에 트래킹되는 경우에도 계산 오차로 인해 현실 세계의 오브젝트가 상대적으로 정지해 있어도 이러한target들 사이에 상대적인 움직임이 발생할 수 있습니다. 어떤 오브젝트를 중심으로 선택할지는 실제 필요에 따라 판단해야 하며, 일반적으로 FirstTarget 모드가 더 적합한 선택입니다.SessionOrigin 모드를 사용하는 경우
SessionOrigin은 모션 트래킹만 실행 중인 장면에 적합하며, 이때XR Origin이 유일한 참조점입니다. 또한 특수한 경우에도 사용됩니다: 헤드셋 제조업체가 모션 트래킹의 참조점을 올바르게 구현하지 않았다면, Unity의 세계 중심점을 강제로 사용해야 하므로 SessionOrigin 모드를 사용해야 합니다.Camera 모드의 사용 시나리오
Camera 모드는 물리적 카메라가 움직이지 않는 시나리오(예: 고정 카메라를 사용하는 카드 대전 AR)에 더 적합합니다. 이 경우 Camera 모드를 사용하면 콘텐츠 제작이 더 편리합니다.
다른 AR 기능의 일반적인 센터 모드
일부 AR 기능을 단독으로 사용할 때 특정 센터 모드가 더 일반적으로 사용됩니다. 다음 표는 이러한 AR 기능에 해당하는 일반적인 센터 모드를 나열합니다:
| 기능 | 일반적인 센터 모드 |
|---|---|
| Mega | FirstTarget 또는 SpecificTarget |
| 모션 트래킹 | SessionOrigin |
| 평면 검출 | SessionOrigin |
| 희소 공간 맵 | FirstTarget 또는 SpecificTarget |
| 조밀 공간 맵 | SessionOrigin |
| 표면 트래킹 | FirstTarget 또는 SpecificTarget |
| 이미지 트래킹 | FirstTarget, SpecificTarget 또는 Camera |
| 이미지 클라우드 인식 | FirstTarget, SpecificTarget 또는 Camera |
| 오브젝트 트래킹 | FirstTarget, SpecificTarget 또는 Camera |
크로스 디바이스 고려사항
크로스 디바이스 AR 애플리케이션을 개발할 때는 다른 디바이스의 센터 모드 지원 여부를 고려해야 합니다.
- 모바일과 태블릿만 관련된 경우 일반적으로 큰 문제가 없습니다. SessionOrigin을 사용해야 한다면 모션 트래킹이 실행될 수 있는지 확인하세요.
- 헤드셋을 사용해야 하는 경우 특별히 주의하세요
- 사용 가능한 센터 모드를 참조하여 사용할 디바이스가 지원하는 센터 모드를 확인하세요. 서드파티 확장을 사용하는 경우 이러한 확장에서 사용하는 OriginType을 확인하세요.
- Rokid 디바이스를 사용할 때는 UXR 사용을 피하세요. XRI를 사용하면 대부분의 센터 모드를 사용할 수 있습니다.
- FirstTarget 및 SpecificTarget 모드를 지원하지 않는 헤드셋에서는 Mega나 이미지 트래킹과 같은 대부분의 기능 콘텐츠가 Unity 세계 좌표계에 상대적으로 정지 상태를 유지할 수 없다는 점에 유의하세요.
모든 센터 모드에서 올바르게 표시되는 콘텐츠
경고
Unity AR에서, Unity 세계 좌표계에 존재하며 session 컴포넌트에 따라 transform이 조정되지 않은 오브젝트는 올바르게 표시되지 않을 수 있습니다.
세계 좌표계에 일부 모델을 배치하면 이러한 모델의 위치와 방향이 현실 세계의 어떤 오브젝트와도 대응되지 않을 수 있으며, 실제 실행 효과는 우연히 정상일 수도 있지만 공중에 떠 있거나 여기저기 움직이는 것처럼 보일 수도 있습니다.
모든 센터 모드에서 콘텐츠가 올바르게 표시되도록 하려면 올바른 접근 방식은 다음과 같습니다:
- 항상 표시할 콘텐츠를 해당
target노드 아래에 배치하거나,XR Origin노드 아래에 배치하세요(콘텐츠가 XR Origin의 움직임을 따라야 하는 경우) - 또는 수동으로 콘텐츠와
target또는XR Origin의 위치와 방향을 정렬하되, ARSession.PostSessionUpdate 이벤트 이후에 작업해야 합니다
참고
이렇게 하더라도 모든 콘텐츠 요소가 정상적으로 작동한다고 보장할 수는 없습니다. Unity의 일부 기능(예: 물리 시스템)은 세계 좌표계에서만 작동하기 때문입니다. 따라서 적절한 센터 모드 선택은 여전히 중요합니다.