728x90
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 콘텐츠의 밝기를 조절하여 실제 세계의 조명 조건을 더 정확하게 반영할 수 있음.
댓글