2020년 4월 29일
언리얼 엔진과 HoloLens 2로 대폭 발전한 혼합현실
이 모습은 아폴로 11(Apollo 11) HoloLens 2 라이브 시연에서 선보인 기술적 역량입니다. 산업 분야에 적용된 혼합현실 기술의 커다란 진전이었죠. 이 시연은 언리얼 엔진과 HoloLens 2를 활용하여 이제까지 혼합현실에서 볼 수 없었던 가장 높은 퀄리티의 비주얼을 구현할 수 있다는 사실을 보여줬습니다. 지난해 막 완성되었을 때 이 프로젝트를 선보인 적이 있었죠. 이번에는 기술적인 측면을 좀 더 깊이 파고들어 보겠습니다.
무선 스트리밍되는 고충실도 혼합현실 비주얼
Microsoft 빌드(Build) 무대에서 선보일 예정이었던 아폴로 11 데모는 에픽게임즈와 Microsoft가 HoloLens 2에 최고의 비주얼을 구현하기 위해 협업한 결과물입니다. " HoloLens 2 초기 프로토타입 시범 사용에 Microsoft의 AI 및 혼합현실 담당 테크니컬 펠로우인 알렉스 킵먼(Alex Kipman)의 초대를 받았을 때, 저희는 HoloLens 2의 차원 높은 몰입감과 편안함에 크게 놀랐습니다."라고 이 프로젝트를 감독한 에픽게임즈의 첨단 프로젝트 디렉터 프랑수아 앙투안(Francois Antione)이 말했습니다. "회의를 마치고 나설 때 머릿속에는 한 가지 생각뿐이었죠. HoloLens 2의 놀라운 성능을 가장 잘 선보일 방법은 무엇일까?"마침 지난해는 인류 최대의 기술 진보를 알린 사건이었던 인류 최초의 달 착륙 50주년이 되는 해였습니다. 이는 데모에 필요한 밑바탕을 제공해 주었으므로, 에픽 팀은 이 역사적인 사건의 주요 장면을 되새길 수 있는 시연을 준비하기로 했습니다.
소스 머티리얼에 최대한 충실하게 만들기 위해 에픽 팀은 아폴로 11 임무의 최고 전문가들로부터 의견을 구했습니다. ILM의 최고 크리에이티브 책임자인 존 놀(John Knoll)과 우주 사학가이자 '맨 온 더 문(Man on the Moon)'의 저자인 앤드류 채이킨(Andrew Chaikin)이 라이브 데모를 시연했습니다. 놀은 레퍼런스 머티리얼을 상당 부분 제공했고 3D 애셋의 사실감에 대해 조언을 해줬으며 프로젝트를 맡은 에픽 팀에게 아폴로 11 임무 전반에 대해 설명해 주었습니다.
아폴로 11 임무의 다양한 측면을 깊이 파고든 이 시연은 전례 없는 비주얼 디테일을 자랑합니다. "지금까지 혼합현실에서 이렇게 포토리얼한 그래픽은 없었습니다."라고 프로젝트의 테크니컬 아티스트인 밍지에 우(MinJie Wu)는 말했습니다.
네트워크로 연결된 PC에서 구동되는 언리얼 엔진에서 놀과 채이킨이 착용하고 있는 HoloLens 2 기기로 그래픽이 무선 스트리밍됩니다. 두 발표자 사이의 공유 경험을 생성하는 데는 Azure Spatial Anchors의 프로토타입 버전이 사용되었습니다.
두 HoloLens 기기를 연결함으로써 두 사람은 상대가 물리적 공간에서 어디에 있는지 파악하고 서로를 트래킹할 수 있었죠. 세 번째 스테디캠 카메라 또한 HP Windows Mixed Reality 헤드셋을 그 앞에 고정하여 트래킹했습니다.
이 세 번째 물리적 카메라를 보정하여 언리얼 엔진 카메라와 일치하게 만드는 것은 무척 어려웠습니다. 버추얼 프로덕션 엔지니어인 데이비드 히비츠(David Hibbitts)는 "여러 측면에서 렌즈 그리드를 촬영하고 OpenCV를 사용하여 렌즈 파라미터를 계산했습니다."라고 말했습니다. "그런 다음 언리얼 엔진 내에서 렌즈 파라미터를 렌즈 디스토션(Lens Distortion) 플러그인과 함께 사용하여 언리얼 카메라의 프로퍼티(시야, 초점 길이 등)를 계산하고 디스플레이스먼트 맵도 생성했죠. 디스플레이스먼트 맵은 언리얼의 렌더링을 왜곡하여 카메라 영상과 일치시킬 때 사용됩니다."
카메라 세팅과 디스토션을 제대로 설정했더라도 카메라가 움직이기 시작하면 불일치가 발생할 수 있습니다. 카메라에서 트래킹하는 포인트와 언리얼 엔진이 카메라 트랜스폼 위치로 사용하는 렌즈의 절점이 일치하지 않기 때문입니다. 따라서 이 오프셋을 계산에 넣어야 합니다."이 문제를 해결하려면 월드 내의 3D 기지점과 동일한 지점에 대한 카메라 뷰의 2D 기지점를 알아야 합니다. 그래야 3D 위치의 절점을 계산할 수 있고, 이미지를 캡처할 때 카메라의 트래킹된 위치를 안다면 오프셋을 계산할 수 있습니다."라고 히비츠는 설명했습니다.
기지점과 카메라 기지점을 파악하기 위해 팀은 그리드상의 지점을 기지점으로 사용하여 렌즈 그리드를 촬영하면서 트래킹 시스템을 실행해야 했습니다. 이렇게 해서 한 번의 패스로 카메라와 트래킹 오프셋을 모두 조정할 수 있었습니다.
설정에는 세 가지 언리얼 엔진 인스턴스가 필요합니다. 카메라와 각 HoloLens에 대한 인스턴스죠. 모든 인스턴스는 별도의 전용 서버에 연결됩니다. "서로 대화하면서 물리적인 공간 내의 어디에 위치하는지 파악하므로 모든 사람이 같은 시간에 같은 것을 볼 수 있습니다."라고 아폴로 11 프로젝트의 XR 리드인 라이언 밴스(Ryan Vance)는 말했습니다.
컴퓨팅 프로세스가 모바일 기기에서 고출력 PC로 전환한 것은 혼합현실에 있어서 상당한 발전이었습니다. 이전에는 언리얼 엔진 스택 전체를 모바일 기기에서 실행해야 했습니다. "이렇게 할 경우 전화 통화 등에 사용하는 일반 모바일 기기에 배포할 수 있다는 장점이 있습니다."라고 밴스는 말했습니다. "단점은 기기의 하드웨어 성능에 제약을 받는다는 겁니다."
언리얼 엔진의 홀로그래픽 리모팅(holographic Remoting) 지원을 활용하면 고성능 PC 그래픽을 HoloLens 기기로 가져올 수 있습니다. "아주 높은 퀄리티의 비주얼을 PC에서 렌더링하고 이를 HoloLens로 내보냄으로써 사람들이 전에 경험해보지 못한 새로운 경험을 제공할 수 있었습니다."라고 밴스가 말합니다.
홀로그래픽 리모팅은 와이파이 연결을 사용하여 PC에서 Microsoft HoloLens 기기로 홀로그래픽 콘텐츠를 실시간으로 스트리밍합니다. "네이티브 모바일 하드웨어에 의존하지 않고 최종 이미지를 생성할 수 있다는 건 큰 장점이죠."라고 우는 말했습니다.
시연을 하는 두 사람과 홀로그램 간의 상호작용은 혼합현실과 가상현실에서 상호작용 디자인의 차이를 보여줍니다. "VR에서는 '안전지대'를 설정하고 그 안에서만 움직일 것을 약속해야 합니다."라고 프로젝트의 리드 프로그래머 제이슨 베스팀트(Jason Bestimt)는 말했습니다. "혼합현실에는 그런 제약이 없습니다. 오히려 공간을 걸어다녀야 경험을 최대한 즐길 수 있죠."
재투영으로 왕복 지연시간 해소
아폴로 11 데모를 만들기 위해 팀은 지난 수년간 게임에서 이미 사용되어 온 기능을 활용했습니다. 밴스는 "재미있는 사실은 현재 아주 잘 알려진 표준 언리얼 네트워킹 및 게임플레이 프레임워크 콘셉트를 활용하여 여러 사람과 협업하는 홀로그래픽 경험을 만들 수 있다는 거죠."라고 말합니다.XR 시스템에 네트워크 연결을 추가할 때마다 트래킹 데이터를 스트리밍하는 데 지연시간이 발생합니다. 프로젝트의 난관 가운데 하나는 PC와 HoloLens 기기 사이에 발생하는 최저 60밀리초만큼의 지연시간이 있음에도 트래킹 시스템이 일치하도록 만드는 것이었습니다. "안 그러면 고개를 돌렸는데 월드가 시선을 따라오지 못하게 되죠."라고 밴스는 설명했습니다. "최대한 가만히 서 있으려고 해도 고개를 약간만 움직이면 이상한 점을 느끼게 됩니다."
이 문제를 해결하기 위해 Microsoft는 재투영 기술을 리모팅 레이어에 통합했습니다. 지연시간 문제를 해결하는 일반적인 접근법이죠. 재투영은 정교한 하드웨어에 기반한 홀로그래픽 안정화 기술입니다. 신(scene)이 움직이고 사용자가 고개를 돌릴 때 시점의 변화와 움직임을 계산합니다. 재투영 기술을 적용하자 시스템의 모든 부분이 서로 커뮤니케이션하고 버추얼 월드의 어느 지점이 물리 세계의 지점과 연관되는지 확인할 수 있었습니다.
혼합현실 상호작용 실험
에픽 팀은 라이브 이벤트 프로젝트로 HoloLens 2와 언리얼 엔진의 구성이 가능함을 입증한 후, 대중에 공개하기 위한 데모 버전을 만들었습니다. "보다 단순하게 리패키징하여 누구나 단일 사용자 경험을 구축해볼 수 있도록 만들고 싶었습니다."라고 앙투안은 말했습니다. 아폴로 11 데모는 언리얼 엔진 마켓플레이스에서 무료로 다운로드 가능합니다.에픽 팀은 이 공개 버전을 만들면서 가장 성공적인 혼합현실 상호작용의 유형에 대해 많이 알게 됐습니다. "처음에는 기발한 상호작용을 다양하게 만들었습니다. 아이언맨처럼 말이죠." 프로젝트의 테크 아티스트를 맡고 있는 사이먼 롬바도(Simone Lombardo)는 말합니다. "저희는 아주 재미있고 직관적이라고 생각했는데 모두가 그렇게 느끼지는 않더군요."
혼합현실이 처음인 사용자는 복잡한 상호작용을 이해하는 데 어려움을 느꼈고 정확한 상호작용을 구사하지 못했습니다. 가장 쉬운 상호작용은 현실 세계의 상호작용을 그대로 모사하는 '잡기'와 '터치'였습니다.
이런 발견을 바탕으로 아폴로 11 데모는 직관적인 터치 동작을 상호작용으로 활용했습니다. "저희는 '두 번 집기' 같은 '복잡한' 상호작용을 전부 제거했습니다. 시연자가 실수로 그런 상호작용을 작동시키는 경우도 있었을 뿐더러 사용자가 손을 무의식적으로 움직이다가 의도치 않은 입력이 가해지곤 했기 때문입니다." 베스팀트가 설명했습니다. "많은 사용자가 휴식 중에 엄지손가락과 검지손가락을 붙여서 내려놓으면서 '집기' 동작의 자세를 만들었습니다. 그러다가 상호작용을 시작하려고 손을 들면 의도하지 않은 집기 동작이 자동으로 탐지되는 겁니다."
메뉴를 사용하는 등의 다른 상호작용 방식도 경험을 방해하면서 사용자가 무의식적으로 오브젝트 주변을 덜 움직이게 만들었습니다.
에픽 팀은 가상과 현실 세계 사이의 차이를 줄이면서 사용자 경험을 만드는 새 방법도 고안해냈습니다. 많은 사용자는 홀로그램을 마주하면 본능적으로 만지려고 하는데, 그러면 손가락이 홀로그램을 통과하게 됩니다. "저희는 디스턴스 필드 이펙트를 추가해서 실제 손가락과 접촉한 홀로그램이 푸른색으로 빛나게 만들었습니다."라고 롬바도는 말했습니다. "이를 통해 현실과 비현실을 연결했죠."
그 이후로 팀은 HoloLens 2를 지원하는 Azure Spatial Anchor 작업을 시작했습니다. 이는 최신 언리얼 엔진 4.25 프리뷰에서 베타 테스트로 이용 가능합니다. Spatial Anchor는 홀로그램이 세션 사이마다 현실 세계 공간에서 유지되게 만듭니다. "그럼 모든 것을 정렬되도록 만들기가 훨씬 쉽습니다."라고 밴스는 설명했습니다. "저희가 네트워크 스테이지 데모에서 시연한 것처럼 여러 사람이 모두 같은 공간을 공유하는 기능을 재현하기가 비교적 간단해집니다."
Microsoft HoloLens 2의 출시 덕분에 홀로그래픽 컴퓨팅은 소매업부터 엔지니어링에 이르기까지 여러 업계에 막대한 영향을 일으킬 것으로 예상되고 있습니다. 아폴로 11 데모에서 시연된 구성은 비주얼과 상호작용의 퀄리티 측면에서 커다란 진전을 선보이며 그러한 미래가 가까워졌음을 입증했습니다.
포토리얼한 혼합현실 경험을 직접 만들어 보고 싶으신가요? 오늘 무료로 언리얼 엔진을 다운로드하고 최신 언리얼 엔진 4.25 프리뷰에서 Azure Spatial Anchor를 탐구해 보세요.