스트리밍은 대부분의 브라우저와
Developer 앱에서 사용할 수 있습니다.
-
몰입감 넘치는 visionOS 앱을 위한 맞춤형 환경 만들기
보기에도 근사하고 성능도 훌륭한 Apple Vision Pro용 맞춤형 앱 환경을 제작하는 방법을 확인해 보세요. 몰입형 환경을 빌드하는 데 유용한 디자인 지침과 전문가의 제안을 살펴보고 모든 디지털 콘텐츠 제작 도구에서 사용할 수 있는 기술에 대해 알아보세요.
챕터
- 0:00 - Introduction
- 0:49 - Design considerations
- 2:55 - 3d asset generation
- 5:36 - Export workflow
- 6:28 - Reality Composer Pro
리소스
- Building an immersive media viewing experience
- Destination Video
- Enabling video reflections in an immersive environment
- Forum: Design
관련 비디오
WWDC24
-
다운로드
안녕하세요 저는 Daniel입니다 Apple의 RealityKit UX 디자이너죠 오늘 알려 드릴 내용은 Vision Pro를 위한 효과적인 맞춤형 앱 환경 만들기입니다 이 세션에서는 환경의 디자인 고려 사항을 살펴볼 예정인데 이는 최종 제품의 성공에 기여합니다
3D 애셋을 최대한 가볍고 효율적으로 유지하기 위한 지침을 공유합니다 내보내기 워크플로를 검토하면서 맞춤형 앱 환경에서 조명 및 텍스처 베이킹의 역할을 알아봅니다 이를 통해 장면의 복잡성과 컴퓨팅 부하를 줄일 수 있습니다 마지막으로 Blender의 요소들을 Reality Composer Pro로 가져옵니다 맞춤형 앱 환경 디자인을 시작할 때 환경의 기능에 대해 고려해야 할 몇 가지 질문이 있습니다 따뜻하고 환영하는 분위기로 몰입감 넘치는 경험을 제공하려는 것인가요? 보는 사람의 창작 욕구를 불러일으키고 싶은가요?
차분하고 느긋한 분위기를 주려는 것인가요?
아니면 최적 조명 조건에서 작업물을 검토하려는 것인가요?
이 예에서는 Destination Video 앱을 위한 보기 환경을 만듭니다 초점이 정중앙에 맞춰진 넓고 탁 트인 공간, 즉 화면입니다 환경 만들기를 바로 시작해 보죠 먼저, 디지털 콘텐츠 생성 도구를 사용하여 기본적인 틀을 잡습니다 이 도구를 DCC라고도 하는데요 Maya, Blender 등이 있습니다 상자와 평면 같은 간단한 프리미티브로 빠르게 첫 번째 드래프트를 만듭니다 환경은 실제 크기로 구축되므로 사람 형상을 사용하면 정확한 크기를 파악할 수 있습니다
환경을 구축해 나가면서 유의할 점이 있습니다 헤드셋으로 보이는 크기는 2D 화면에 표시되는 크기와 다르다는 것입니다 둘 사이를 오가면서 전반적인 크기와 개별 요소의 규모를 수정하는 것이 중요합니다 환경에 보기 화면을 포함할 때 유의할 점은 화면 앞에 애셋을 배치하면 심도 충돌이 발생할 수 있다는 것입니다 이 환경과 화면은 고정된 위치에서의 경험으로 설계됩니다 최적 위치를 기준으로 하죠 보기 영역 내에서 지면에 원으로 표시된 위치입니다 기본 보기는 화면을 향하지만 보는 사람이 스튜디오를 둘러볼 수 있고 시스템 안전 범위 내에서 이동할 수 있습니다 다만 지오메트리를 생성할 때 보기 영역에서 볼 수 없는 영역에 대해서는 생성할 필요가 없습니다 이제 맞춤형 앱 환경에서 지오메트리를 최대한 가볍고 효율적으로 유지하기 위한 지침을 살펴보겠습니다 장면의 애셋은 손으로 모델링하거나 Object Capture를 사용해 현실 세계에서 스캔하거나 3D 라이브러리에서 구입할 수 있습니다
이 장면에서는 Object Capture로 생성한 나무의 일부를 포함합니다 그런 다음 DCC 도구인 Blender에서 애셋이 데시메이션되었습니다
지오메트리는 애셋의 디테일을 충분히 살려 표현할 수 있을 정도로만 복잡해야 합니다 나무 애셋은 장면의 뒤쪽에 있어 디테일을 많이 포함하지 않아도 되기 때문에
이 경우에는 나무 애셋을 데시메이션할 수 있습니다 다음으로, 텍스처를 살펴보죠 이 장면에는 다양한 텍스처가 있습니다 예를 들면 구조물의 무광 검은색 강판 계단의 참나무 디딤판 콘크리트 바닥 등입니다 더 자세히 살펴보겠습니다
콘크리트 바닥은 이 공간에서 큰 영역을 차지합니다 이 텍스처를 만들기 위해 Adobe Substance Designer에서 생성된 절차적 맵과 실제 사진을 혼합해 사용합니다 첫 레이어는 절차적으로 생성되어 사용 빈도가 높은 디테일을 만들고 해상도를 유지하면서 텍스처를 타일링하게 해 줍니다 두 번째 레이어는 실제 사진 요소로 구성되었습니다 그런 다음 텍스처 2개를 더 오버레이하여 변형을 추가하고 반복을 끊어 바닥 전체에 걸쳐 최종 텍스처를 적용합니다
다음으로 조명을 살펴보겠습니다 조명은 강력한 도구가 될 수 있습니다 보는 사람의 공간 인식에 영향을 미칠 수 있고 관심을 특정 요소로 유도할 수 있습니다 이 장면은 스포트라이트가 켜져 있어 벽에 걸린 그림과 바닥을 균일하게 비추고 있습니다 주간 HDRI를 사용하면 지붕 채광창을 통해 빛이 들어옵니다 환경에 조명 설정을 여러 개 적용하여 보는 사람이 공간 경험 방식을 선택하게 할 수 있습니다 이 공간에는 2개의 모드가 있습니다 라이트 모드와 다크 모드죠
다크 모드에서는 야간 HDRI로 전환되어 스포트라이트 강도가 증가합니다
조명을 테스트할 때 중요한 점은 모니터 사용 시와 헤드셋 사용 시에 빛이 다르게 인식된다는 것입니다 다음으로 살펴볼 내용은 텍스처 베이킹입니다 3D 객체의 모든 표면 특성을 단일 이미지로 캡처하는 것입니다 그런 다음 이 이미지를 객체에 다시 적용하여 추가 레이 트레이싱 없이 사실적이고 세밀하게 표현합니다 이 기법은 모든 표면 데이터를 단일 UV 맵으로 결합하여 장면의 총 텍스처 수를 크게 줄입니다 예시 장면에서는 전체 장면의 UV를 다음 6개 그룹으로 리패킹합니다 가운데 섹션 천장 바닥 전면 섹션 후면 섹션 소품입니다
장면을 UV 맵 6개와 텍스처 6개로 간소화하면 가볍고 간단하게 장면을 조작할 수 있습니다
이제 usdc 파일을 Reality Composer Pro로 내보낼 수 있습니다 이 간단한 프로세스에는 어떤 DCC든 사용할 수 있습니다 USD 파일을 저장할 수 있다면요 Maya, Houdini, Blender 등이죠 저는 Blender를 사용하겠습니다 Blender에 3D 장면이 준비된 상태에서 File 메뉴로 이동하고 Export 옵션을 선택합니다 ’Universal Scene Description’ 파일에 대한 옵션이 표시됩니다 이 옵션을 최종 내보내기를 위한 최종 형식으로 사용하겠습니다 모든 매개변수를 기본값으로 그대로 유지하고 Root Prim 이름만 변경하겠습니다 이 이름으로 Reality Composer Pro로 전달되므로 중요합니다
이제 Reality Composer Pro에서 usdc 파일을 새 프로젝트에 가져오기만 하면 됩니다
파일을 가져올 때 제가 Blender에서 객체 및 머티리얼의 이름을 지정했기 때문에 이제 각 요소의 머티리얼을 쉽게 수정할 수 있습니다
조명을 베이킹했으니 Reality Composer Pro에서 해야 할 일은 원래 머티리얼을 ’unlit’으로 변경하는 것뿐입니다
이 장면의 맵을 이전에 로드했으니 각 맵을 해당 머티리얼에 연결하겠습니다
마지막으로 ’Apply Post Process’ 톤 맵을 비활성화하여 Blender에서 개발한 모습 그대로 유지되도록 하겠습니다
이 프로세스를 장면의 나머지 머티리얼에 대해 반복합니다 최종 마무리를 위해 유리처럼 보여야 할 요소를 선택하고 물리적 기반의 머티리얼을 할당하겠습니다
’Roughness’ 및 ’Opacity’ 속성을 조정하여 원하는 효과를 구현합니다
이제 Reality Composer Pro에 프로젝트의 최종 모습을 보여 주는 3D 장면이 표시됩니다 이때 3D 장면에 다른 흥미로운 요소를 추가해야 할 수 있습니다 예를 들면 비디오 구성 요소 등입니다
이 세션에서는 visionOS에서 실행할 환경을 설계 생성, 최적화하는 방법을 살펴봤습니다 미디어 시청용으로 설계된 스튜디오의 사례 연구와 DCC와 Reality Composer Pro 간 전환 시 유용한 팁을 공유해 드렸습니다
여러분이 만드실 환경과 경험이 정말 기대됩니다!
-
-
찾고 계신 콘텐츠가 있나요? 위에 주제를 입력하고 원하는 내용을 바로 검색해 보세요.
쿼리를 제출하는 중에 오류가 발생했습니다. 인터넷 연결을 확인하고 다시 시도해 주세요.