개발자 소식으로 돌아가기

Summer of Open Source: Moving Virtual Reality Forward

2022년 8월 23일제작:Navyata Bawa

이미지 소스: Shared Spaces 샘플 GitHub 저장소
https://github.com/oculus-samples/Unity-SharedSpaces/blob/main/Media/screenshots/8d.jpg

가상 현실(VR)을 주제로 한 이 게시물은 '오픈 소스의 여름' 시리즈 중 첫 번째 글입니다. 이 시리즈는 오픈 소스 프로젝트가 Meta를 비롯한 다양한 플랫폼에서 영향을 미치는 영역과 관련하여 몇 가지 유용한 리소스 및 학습 콘텐츠를 제공합니다. Meta Open Source가 기업과 개인에게 빠르게 확장하고 혁신적인 제품을 빌드할 수 있는 도구를 제공함으로써 산업 발전에 기여하는 여러 영역에 대해 알아보시기 바랍니다.

오픈 소스로 VR 개발자 지원

최근 Meta는 VR 분야를 중시하여 이 분야에서 여러 해에 걸쳐 첨단 연구를 지원해 왔습니다. DeepFocus를 예로 들어보겠습니다. 이 기술은 거의 최초로 컨볼루션 신경망을 사용하여 헤드 디스플레이에 더욱 사실적인 실시간 망막 블러를 제공했습니다.

Meta Open Source는 게임, 생산성 및 기타 분야에서 VR용 개발자 도구의 도달 범위를 확장하는 데 기여하고 있습니다. 이 게시물에서 다루는 프로젝트는 VR 환경에 고유한 문제를 해결하는 데 도움을 주며, 개발자들은 더 동적인 VR 경험을 빌드하고 오픈 소스를 통해 VR 개발자 커뮤니티의 성장을 촉진할 수 있습니다. VR을 시작하는 데 관심이 있는 개발자에게 제공되는 최신 튜토리얼을 몇 가지 살펴보고, 이 게시글의 후반부에서는 몇 가지 VR 리소스와 저장소를 공유하겠습니다.

VR용 오픈 소스 도구 시작하기

앞서 말씀드렸듯이 게이밍은 이 분야에서 잠재력이 큰 영역입니다. 예를 들어 VR은 멀티플레이어 환경에서 플레이어가 상호작용하는 방식을 혁신할 수 있습니다. 그러나 동료와 효과적으로 소통하면서 플레이어를 올바른 데스티네이션까지 안정적으로 데려가는 등과 같은 VR용 인터랙션을 만드는 것은 복잡할 수 있습니다. 게이밍을 위한 솔루션은 협업형 VR 작업 공간과 기타 소셜 경험을 만드는 등의 다른 응용 분야로도 확장할 수 있습니다.

Meta Open Source는 최근에 Oculus 플랫폼 SDK(소프트웨어 개발 키트)와 Unity SharedSpaces 샘플을 사용하여 Meta Quest를 위한 멀티플레이어 VR 경험을 만드는 방법을 보여주는 튜토리얼 시리즈를 공개했습니다. SharedSpaces 샘플은 개발자가 플랫폼 SDK의 멀티플레이어 기능을 사용하여 사람들이 VR로 상호작용하도록 하는 방법을 보여줍니다. 아래에서 첫 번째 에피소드를 확인해 보세요.

'멀티플레이어 VR 경험 빌드' 시리즈의 에피소드 1에서는 플레이어를 게임 내 특정 데스티네이션으로 데려가고 플레이어 초대를 보내는 등, 플랫폼 SDK의 몇 가지 기능을 다룹니다. 이 에피소드에서는 그룹 프레즌스, 딥 링크, 로스터 패널 등의 기능을 소개합니다. 또한 Unity의 SharedSpaces 샘플에 대해서도 자세히 설명합니다. (Unreal Engine에 관한 리소스는 다음 섹션에서 확인할 수 있습니다.)

동영상 보기

좀 더 자세히 살펴보실 수 있도록 아래에 나머지 에피소드에 대한 링크도 제공합니다.

  • '멀티플레이어 VR 경험 빌드' 에피소드 2: GitHub에서 SharedSpaces 샘플 저장소를 복제하고, Unity에서 설정하여 Meta Quest 헤드셋에 샘플을 배포하는 방법을 알아보세요.

  • '멀티플레이어 VR 경험 빌드' 에피소드 3: Unity SharedSpaces 샘플을 기반으로 간단한 VR 멀티플레이어 게임을 빌드하는 방법을 알아보세요.

  • '멀티플레이어 VR 경험 빌드' 에피소드 4: 플랫폼 SDK의 몇 가지 추가적인 멀티플레이어 기능을 사용하는 방법을 배워보고, 플레이어가 원하는 데스티네이션으로 신속하고 안정적으로 이동할 수 있게 해 주는 기능을 자세히 살펴보고, 멀티플레이어 VR 개발자 여정을 시작할 때 고려해야 할 몇 가지 모범 사례를 알아보세요.

Meta Reality Labs의 VR 개발자 환경 엔지니어링 팀 소속 소프트웨어 엔지니어인 Eric Le Saux는 최근 The Diff 팟캐스트 에피소드 14에서 SharedSpaces 샘플을 만드는 방법을 소개했습니다. 이 에피소드에서 Le Saux는 SharedSpaces 샘플을 만드는 동기와 몇 가지 어려움, VR에서 더 매끄러운 멀티플레이어 인터랙션을 구현하기 위한 모범 사례에 대해 이야기합니다.

아래에서 해당 에피소드의 클립을 확인하고 The Diff 14회 페이지에서 전체 에피소드를 청취하실 수 있습니다(대본도 제공). 또한 Unreal Engine의 SharedSpaces 샘플 단계별 안내에도 Le Saux가 출연합니다.

이 클립에서는 Eric Le Saux가 SharedSpaces 샘플을 만든 이유, 멀티플레이어 VR 앱 사용 사례, VR 개발을 시작하는 개발자를 위한 추천, Reality Labs에서 제공하는 추가 오픈 소스 프로젝트 몇 가지를 소개합니다.

동영상 보기

'멀티플레이어 경험 빌드' 시리즈에는 위의 각 영상에 함께 제공되는 블로그 게시물이 있습니다. 블로그에서 이러한 개념에 대해 자세히 읽어보고 싶다면 “멀티플레이어 VR 경험 빌드: 기타 멀티플레이어 SDK 기능, 이동 안정성 및 모범 사례” 블로그 게시물부터 시작해 보세요. 해당 페이지 하단에 링크된 다른 관련 게시물을 살펴보실 수도 있습니다.

GitHub의 추가 리소스 및 저장소

마지막 섹션의 튜토리얼에서는 Unity의 SharedSpaces 샘플을 살펴봅니다. Oculus 샘플 GitHub 페이지에서 Unreal Engine으로 SharedSpaces 사용하기에 대한 더 자세한 리소스를 제공합니다. 이 페이지에서는 다음과 같은 추가 샘플도 제공합니다.

  • HandGameplay: Unreal Engine용으로 개발된 "First Steps with Handtracking and TinyCastles의 가장 안정적인 손 추적 역학을 기반으로 한 재사용 가능한 구성 요소" 저장소.

  • AssetStreaming: Unreal Engine용으로 개발된 "한 번에 모든 것을 메모리로 읽어들이지 않고 월드 로딩을 처리하는 방법" 데모.

  • TheWorldBeyond: Unity Engine용 Presence Platform 기능을 보여주는 프로젝트. 벽과 큐브를 만들어 동적인 월드를 구축하는 데 도움을 주는 Scene API, 손을 지원하는 인터랙션 도구, 사운드 역학과 다른 월드 구축 도구를 탐색하기 위한 오디오 공간화 도구 등의 기능이 있습니다.

이 게시물에서 다룬 도구와 리소스는 Meta 개발자 커뮤니티에서 진행 중인 VR 개발의 극히 일부에 불과하며, 이러한 개발 작업은 계속하여 빠르게 증가하고 있습니다. 가상 현실 및 증강 현실을 위한 Meta Open Source의 최신 소식을 알아보고 싶다면 오픈 소스 사이트를 방문하거나, YouTube 채널을 구독하거나, Facebook, Twitter LinkedIn에서 팔로우하세요.