[WWDC22] Bring your world into augmented reality(AR)
WWDC22
애플의 개발자 컨퍼런스인 WWDC가 6.7~6.11일 5일간 진행된다.
예정된 세션을 훑어보니 (https://developer.apple.com/wwdc22/sessions/) 새로운 기능인 actor와 concurrency(async&await)에 대한 주제들이 대다수를 차지하고 있다. 해당 내용의 공부는 아직 시기상조인 것 같아, 그 외에 흥미로운 몇몇 주제들로 포스팅을 해보고자 한다. 첫번째 포스팅은 요즘 관심이 가는 기술인 증강현실(AR)에 대한 세션이다.
Object Capture
Object Capture는 기술은 현실 세계에 존재하는 대상의 이미지를 3D모델링으로 옮길 수 있게 하는 Computer Vision 기술이라고 한다. 아이폰을 비롯한 애플기기나 DSLR 카메라를 이용해 다양한 각도로 찍은 사진을 Object Capture 기술을 지원하는 Mac으로 옮기면 Photogrammetry API를 통해 RealityKit 프레임워크가 사진을 3D모델링으로 변환해준다.
결과물은 geometric mesh(3차원 컴퓨터 그래픽스에서 다루는 도형정보)와 질감 등의 다양한 정보를 포함하는 matrerial maps까지 가진 모델링이다.
이러한 3D 모델링은 Commerce 영역에서 사용될 기회가 많아 보인다. 세션에서 보여준 아래의 예시와 같이 신발을 구매할 때 정확한 사이즈를 알아낼 수 있고, 관상용 화초를 구매할 때 실제로 집에 배치해보고 구매할 수 있다. 사용자가 매장에 방문하지 않아도 직접 방문한 것처럼 유사 경험할 수 있고 또 인테리어 영역의 상품들은 그것들이 실제로 배치될 공간에 놓아 볼 수 있기 때문에 소비자의 결정을 촉진하는 데 많은 도움이 될 것 같다.
ARKit camera enhancements
이러한 3D 모델링을 얻기 위해선 위에서 말한 바와 같이 먼저 조건을 충족한 실제 물체의 사진이 필요하다.
- 좋은 해상도의 카메라를 사용할 것
- iPhone이나 iPad의 카메라를 이용하면 Scale과 Orientation 정보가 자동으로 적용된다.
- ARKit의 3D 가이드의 도움을 받을 수 있다.
- 이미지의 해상도가 좋을수록 3D 모델링의 퀄리티가 올라간다.
뿐만아니라, ARKit6는 새로운 High-Resolution Background Photos API를 제공한다.
- 사진을 찍을 때 애플 기기가 제공하는 최대 해상도를 사용할 수 있고
- 현재 진행중인 ARSession에 영향받지 않는다.
- EXIF역시 제공된다.
captureHighResolutionFrame
메서드의 후행 클로저 내부가 비동기적으로 작동하게 된다.
심지어 카메라의 노출이나 화이트 밸런스 같은 수동 설정을 할 수 있는 기능도 제공한다!
Practice
자 이제 실제로 모델링을 해보자!
먼저 현실세계의 좋은 대상체(Object)를 선택해야 한다.
- 충분한 질감을 갖고 있을 것(투명하지 않을 것)
- 물체의 표면에 많은 반사가 일어나지 않을 것
- 뒤집었을 때도 형체를 유지 할 것(물체의 아래쪽을 찍어야 되기 때문에)
- 해상도로 표현할 수 없는 미세구조가 없을 것
그 후 촬영 환경을 조성한다.
- 빛이 일정하게 조명되는 상황을 유지할 것
- 물체의 주변에 충분한 공간을 확보
그렇게 충분한 사진을 찍은 후에는 맥으로 옮겨서 모델링을 진행하게 된다. 이때 품질을 선택할 수 있는데, 아래의 표는 선택한 품질에 따른 비교이다.
그렇게 얻은 3D모델링을 활용한 영상!
End-to-end Workflow
이번엔 모델링을 위한 물체를 만드는 것 부터 시작해서 그렇게 얻은 모델링으로 프로그램을 만드는 과정을 보여준다. 실제 목공을 통해서 체스 말을 만들어 증강현실 체스게임을 만드는 예제이다.
1 - 체스 말 제작(현실세계)
2- 사진 촬영
3 - 3D 모델링
4 - Reality Converter 앱을 사용하여 필요한 효과를 준다.(체스에는 색이 다른 말이 필요하기에)
5 - 체스판 위에 각 모델링을 배치하고 기타 효과를 준다.(기물의 이동가능 칸 표시, 등장효과, 상대방의 기물을 잡았을 때의 애니메이션 등등)
위 예제를 직접 해볼 수 있도록 3D모델링을 포함한 예제프로젝트를 제공하고 있다!(https://developer.apple.com/documentation/realitykit/using_object_capture_assets_in_realitykit)
다만, Xcode 14 업그레이드가 필요해 추후에 예제 프로젝트를 포스팅 해야겠다.
AR에 대해서 공부해보고 싶은 마음이 동하게 만드는 재밌는 세션이었다. 이번 WWDC에서 AR 관련 세션을 후속으로 포스팅하고, 아직 보지못한 WWDC21의 다른 내용들도 살펴봐야겠다.
관련내용
'iOS > WWDC' 카테고리의 다른 글
[WWDC22] What's new in Swift (5.7) (0) | 2022.11.12 |
---|