728x90
![[Unity] AR Foundation 개요 [Unity] AR Foundation 개요](http://t1.daumcdn.net/tistory_admin/static/images/xBoxReplace_250.png)
1. AR이란?
실제로 존재하는 환경에 가상에 가상의 사물이나 정보를 합성하여 마치 원래의 환경에 존재하는 사물처럼 보이도록 하는 컴퓨터 그래픽 기법
2. AR Foundation
Unity 내에서 다중 플랫폼 방식으로 증강 현실 플랫폼을 사용할 수 있는 라이브러리.
공식적으로 지원하는 대상 플랫폼에 대한 별도의 패키지가 필요하다.
플랫폼 | 패키지 |
Android | ARCore XR Plugin |
iOS | ARkit XP Plugin |
Magic Leap | Magic Leap XR Plugin |
HoloLens | Windows XP Plugin |
3. 기능
Device Tracking | 기기의 위치, 회전값 추적 |
Plane detection | 수직, 수평 표면 감지. 그 위에 가상 오브젝트를 올리기 때문에 중요함. 마커 없는 AR에서 만힝 사용됨. |
Point clouds(Feature Points) | 특징점. 사물이 가지고 있는 특징점들을 추적해서 사물이 어디에 있는지 파악. |
Anchor | 장치가 추적하는 임의의 위치 및 방향. |
Light estimation | 물리적 공간의 평균 색 온도, 밝기 추정. |
Environment probe | 물리적 환경의 특정 영역을 나타내는 큐브 맵 생성 수단. |
Face tracking | 사람 얼굴 탐지 및 추적 |
2D image tracking | 마커기반 AR. 2D 이미지를 탐지, 추적한다. |
3D Object tracking | 마커기반 AR. 3D 오브젝트를 추적한다. |
Meshing | 물리 공간에 삼각형 메쉬를 생성한다. |
Body tracking | 물리적 공간에서 인식되는 2D, 3D 인간표현 추적 |
Colaborative participants | 공유 AR일때 다른 장치의 위치와 방향 추적 |
Human segmentation and occlusion | 실제 세계 객체에 거리를 적용해 렌더링된 3D 컨텐츠에 물리적 객체와 가상 현실의 현실적인 혼합을 달성 |
Raycast | 탐지된 평면, 형상점에 대한 물리적 환경 쿼리 |
Pass-through video | 모바일 카메라 이미지를 AR컨텐츠의 배경으로 터치 스크린에 최적화되게끔 렌더링 |
Session management | AR기능을 사용하거나, 사용하지 않을 때 자동으로 플랫폼 수준 구성 조작. |
Raycast
Physics.Raycast(Vector3 origin, Vecto3 direction, RaycastHit hitInfo, float distance, int LayerMask);
자신 위치에서 광선을 쏜 후, 다른 물체에 맞았을 때 RaycastHit으로 저장.
3차원 공간에서 일어나기 때문에 vector3 함수 기반으로 ray origin을 저장한다.(자신 위치)
x,y,z 축으로 ray direction 존재. 어떤 방향으로 ray가 지나갈 지 선택한다.
object에 광선이 맞으면 맞은 부분을 RaycastHit에 저장한다.
사용자가 쏜 지점부터 object가 맞은 부분까지의 거리를 측정해서 거리를 연산자로 계산할 수도 있음.
3. Unity Mars
양방향 멀티플랫폼 AR 구축
모바일 AR개발의 기본 개념
- 모션 트래킹: 기기에 6개의 자유도를 구현. 공간 내 사용자가 이동하는 과정에서 모바일 디바이스의 위치와 회전 정보가 추적.
- 환경 이해: 기기가 수직 평면과 수평 평면을 인식할 수 있도록 함. 이를 통해 실제 세계를 이해하고, AR 오브젝트와 콘텐츠를 표면에 배치.
- 광원 추정: 개발자가 실제 환경의 조명과 현재 상태를 파악하여 해당 정보를 AR 경험에 적용한 후, AR 콘텐츠의 밝기를 조절하여 실제 세계의 조명 조건을 더 정확하게 반영할 수 있음.
댓글