집에서 사용할 3D 모델 만들기

Windows Mixed Reality 홈은 애플리케이션을 시작하기 전에 사용자가 착륙하는 시작점입니다. Windows Mixed Reality 헤드셋용 애플리케이션을 디자인할 때 3D 모델을 앱 시작 관리자로 사용하고 3D 딥 링크를 Windows Mixed Reality 홈에 배치합니다. 이 문서에서는 Windows Mixed Reality 홈과 호환되는 3D 모델을 만들기 위한 지침을 간략하게 설명합니다.

자산 요구 사항 개요

Windows Mixed Reality 3D 모델을 만들 때 모든 자산이 충족해야 하는 몇 가지 요구 사항이 있습니다.

  1. 내보내기 - 자산을 .glb(binary glTF), .obj 또는 .fbx 파일 형식으로 전달해야 합니다.
  2. 모델링 - 자산은 10k 삼각형 미만이어야 하며 LOD당 64개 노드 및 32개의 하위 노드가 있어야 합니다.
  3. 재질 - 텍스처는 4096 x 4096보다 클 수 없으며 가장 작은 밉 맵은 두 차원에서 4보다 크지 않아야 합니다.
  4. 애니메이션 - 애니메이션은 30FPS(36,000개 키프레임)에서 20분 이상일 수 없으며 = 8192 모핑 대상 꼭짓점을 포함 <해야 합니다.
  5. 최적화 - WindowsMRAssetConverter를 사용하여 자산을 최적화해야 합니다. Windows OS 버전 <= 1709*에 필요하고 Windows OS 버전 >= 1803에서 권장

참고

3D 뷰어 앱은 다양한 형식과 해상도를 지원하지만 궁극적으로 모델을 .glb/glTF로 변환한 후 Mixed Reality 홈에 표시합니다.

이 문서의 나머지 부분에는 이러한 요구 사항에 대한 자세한 개요와 모델이 Windows Mixed Reality 홈과 잘 작동하도록 하는 추가 지침이 포함되어 있습니다.

자세한 지침

모델 내보내기

Windows Mixed Reality 홈에는 포함된 이미지 및 이진 데이터가 포함된 .glb 파일 형식을 사용하여 3D 자산이 전달되어야 합니다. Glb는 glTF 형식의 이진 버전으로, Khronos 그룹이 유지 관리하는 3D 자산 배달에 대한 로열티 무료 개방형 표준입니다. glTF가 상호 운용 가능한 3D 콘텐츠에 대한 업계 표준으로 발전함에 따라 Microsoft는 Windows 앱 및 환경에서 형식을 지원합니다. glTF 자산을 만들지 않은 경우 glTF 작업 그룹 github 페이지에서 지원되는 내보내기 및 변환기 목록을 찾을 수 있습니다.

모델링 지침

Windows는 Mixed Reality 홈 환경과의 호환성을 보장하기 위해 다음 모델링 지침을 사용하여 자산이 생성될 것으로 예상합니다. 선택한 프로그램에서 모델링할 때 다음 권장 사항 및 제한 사항에 유의하세요.

  1. 위쪽 축은 "Y"로 설정해야 합니다.
  2. 자산은 양의 Z 축을 향해 "앞으로" 향해야 합니다.
  3. 모든 자산은 현장 원점의 지상 평면에 구축되어야 합니다(0,0,0).
  4. 세계 규모로 자산을 작성할 수 있도록 작업 단위를 미터 및 자산으로 설정해야 합니다.
  5. 모든 메시를 결합할 필요는 없지만 리소스가 제한된 디바이스를 대상으로 하는 경우 권장됩니다.
  6. 모든 메시는 하나의 재질을 공유해야 하며, 전체 자산에 하나의 텍스처 집합만 사용해야 합니다.
  7. UV는 0-1 공간에서 정사각형 배열로 배치되어야 합니다. 텍스처는 허용되지만 타일링하지 마세요.
  8. 다중 EV는 지원되지 않습니다.
  9. 양면 재질은 지원되지 않습니다.

삼각형 개수 및 세부 수준(LOD)

Windows Mixed Reality 홈은 10,000개 이상의 삼각형이 있는 모델을 지원하지 않습니다. 이 수를 초과하지 않도록 내보내기 전에 메시를 삼각측량하는 것이 좋습니다. Windows MR는 성능과 고품질 환경을 보장하기 위해 선택적 LOD(기하 도형 수준)도 지원합니다. WindowsMRAssetConverter 는 3개 버전의 모델을 단일 .glb 모델로 결합하는 데 도움이 됩니다. Windows는 모델이 차지하는 화면 부동산의 양에 따라 표시할 LOD를 결정합니다. 다음과 같은 권장 삼각형 개수로 3개의 LOD 수준만 지원됩니다.

LOD 수준 권장 삼각형 수 최대 삼각형 수
LOD 0 10000 10000
LOD 1 5,000 10000
LOD 2 2,500 10000

노드 수 및 하위 제한

Windows Mixed Reality 홈은 LOD당 64개 이상의 노드 또는 32개의 하위 노드가 있는 모델을 지원하지 않습니다. 노드는 장면의 개체를 정의하는 glTF 사양 의 개념입니다. 하위 메뉴는 개체의 메시에 있는 기본 형식 의 배열에 정의됩니다.

기능 Description 지원되는 최대 설명서
노드 glTF 장면의 개체 LOD당 64개 여기
하위 메뉴 모든 메시의 기본 형식 합계 LOD당 32개 여기

재료 지침

PBR 금속 거칠기 워크플로를 사용하여 텍스처를 준비해야 합니다. 먼저 Albedo, Normal, Occlusion, Metallic 및 Roughness를 비롯한 전체 텍스처 집합을 만듭니다. Windows Mixed Reality 해상도가 최대 4096x4096인 텍스처를 지원하지만 512x512에서 작성하는 것이 좋습니다. 텍스처는 4의 배수로 된 해상도로 작성해야 합니다. 이는 아래에 설명된 내보내기 단계에서 텍스처에 적용되는 압축 형식에 대한 요구 사항입니다. 밉 맵 또는 텍스처를 생성할 때 가장 낮은 밉은 최대 4x4여야 합니다.

권장되는 텍스처 크기 최대 텍스처 크기 가장 낮은 밉
512 x 512 4096x4096 최대 4x4

Albedo(기본 색) 맵

조명 정보가 없는 원시 색입니다. 이 지도에는 금속(금속 지도의 흰색) 및 절연체(금속 지도의 검은색) 표면에 대한 반사 및 확산 정보도 포함되어 있습니다.

보통

탄젠트 공간 표준 맵

거칠기 맵

개체의 마이크로 서페이스를 설명합니다. 흰색 1.0은 거친 검정색 0.0은 매끄럽다. 이 맵은 표면을 진정으로 설명하기 때문에 자산에 가장 많은 문자를 제공합니다. 예를 들어 스크래치, 지문, 얼룩, 얼룩 등이 있습니다.

주변 폐색 맵

반사를 차단하는 폐색 광원 영역을 보여 주는 값 배율 맵

금속 지도

금속인지 아닌지 셰이더에게 알립니다. 원시 금속 = 1.0 흰색 비금속 = 0.0 검정. 흙과 같은 원시 금속을 덮는 것을 나타내는 전환 회색 값이 있을 수 있지만 일반적으로 이 맵은 흑백이어야 합니다.

최적화

Windows Mixed Reality 홈은 사용자 지정 확장을 사용하여 정의된 핵심 glTF 사양을 기반으로 일련의 최적화를 제공합니다. 이러한 최적화는 Windows 버전 <= 1709에 필요하며 최신 버전의 Windows에서 권장됩니다. GitHub에서 사용할 수 있는 Windows Mixed Reality Asset Converter를 사용하여 모든 glTF 2.0 모델을 쉽게 최적화할 수 있습니다. 이 도구는 아래에 지정된 대로 올바른 텍스처 압축 및 최적화를 수행합니다. 일반적인 사용의 경우 WindowsMRAssetConverter를 사용하는 것이 좋지만 환경에 대한 더 많은 제어가 필요하고 고유한 최적화 파이프라인을 빌드하려는 경우 아래의 자세한 사양을 참조할 수 있습니다.

참고

정확한 모델 제한에 대한 가능성의 최종 목록은 Dynamics 365 애플리케이션에서 사용할 3D 모델 최적화 문서를 참조하세요.

재질

Mixed Reality 환경에서 자산 로드 시간을 개선하기 위해 Windows MR는 이 섹션에 정의된 텍스처 패킹 체계에 따라 압축된 압축 DDS 텍스처 렌더링을 지원합니다. DDS 텍스처는 MSFT_texture_dds 확장을 사용하여 참조됩니다. 텍스처를 압축하는 것이 좋습니다.

HoloLens

HoloLens 기반 혼합 현실 환경에서는 다음 패킹 사양을 사용하여 2텍스처 설정을 사용하여 텍스처가 압축될 것으로 예상합니다.

glTF 속성 질감 패킹 구성표
pbrMetallicRoughness baseColorTexture 빨간색(R), 녹색(G), 파란색(B)
MSFT_packing_normalRoughnessMetallic normalRoughnessMetallicTexture 보통(RG), 거칠기(B), 금속(A)

DDS 텍스처를 압축할 때 각 맵에 다음 압축이 필요합니다.

질감 예상 압축
baseColorTexture, normalRoughnessMetallicTexture BC7

몰입형(VR) 헤드셋

몰입형(VR) 헤드셋을 위한 PC 기반 Windows Mixed Reality 환경에서는 다음 패킹 사양을 사용하여 3텍스처 설정을 사용하여 텍스처가 압축될 것으로 예상합니다.

Windows OS >= 1803

glTF 속성 질감 패킹 구성표
pbrMetallicRoughness baseColorTexture 빨간색(R), 녹색(G), 파란색(B)
MSFT_packing_occlusionRoughnessMetallic occlusionRoughnessMetallicTexture 폐색(R), 거칠기(G), 금속(B)
MSFT_packing_occlusionRoughnessMetallic normalTexture Normal(RG)

DDS 텍스처를 압축할 때 각 맵에 다음 압축이 필요합니다.

질감 예상 압축
normalTexture BC5
baseColorTexture, occlusionRoughnessMetallicTexture BC7
Windows OS <= 1709

glTF 속성 질감 패킹 구성표
pbrMetallicRoughness baseColorTexture 빨간색(R), 녹색(G), 파란색(B)
MSFT_packing_occlusionRoughnessMetallic roughnessMetallicOcclusionTexture 거칠기(R), 금속(G), 폐색(B)
MSFT_packing_occlusionRoughnessMetallic normalTexture Normal(RG)

DDS 텍스처를 압축할 때 각 맵에 다음 압축이 필요합니다.

질감 예상 압축
normalTexture BC5
baseColorTexture, roughnessMetallicOcclusionTexture BC7

메시 LOD 추가

Windows MR는 기하 도형 노드 LOD를 사용하여 화면 검사에 따라 다양한 수준의 세부 정보로 3D 모델을 렌더링합니다. 이 기능은 기술적으로는 필요하지 않지만 모든 자산에 권장됩니다. 현재 Windows는 3개 수준의 세부 정보를 지원합니다. 기본 LOD는 최고 품질을 나타내는 0입니다. 다른 LOD는 순차적으로 번호가 매겨집니다(예: 1, 2). Windows Mixed Reality Asset Converter는 여러 glTF 모델을 수락하고 유효한 LOD 수준이 있는 단일 자산으로 병합하여 이 LOD 사양을 충족하는 자산을 생성할 수 있도록 지원합니다. 다음 표에서는 예상되는 LOD 순서 지정 및 삼각형 대상에 대해 간략하게 설명합니다.

LOD 수준 권장 삼각형 수 최대 삼각형 수
LOD 0 10000 10000
LOD 1 5,000 10000
LOD 2 2,500 10000

LOD를 사용하는 경우 항상 3개의 LOD 수준을 지정합니다. LOD가 없으면 LOD 시스템이 누락된 LOD 수준으로 전환할 때 모델이 예기치 않게 렌더링되지 않습니다. glTF 2.0은 현재 코어 사양의 일부로 LOD를 지원하지 않습니다. LOD는 MSFT_LOD 확장을 사용하여 정의해야 합니다.

화면 검사

LOD는 각 LOD에 설정된 화면 검사 값에 의해 구동되는 시스템을 기반으로 Windows Mixed Reality 표시됩니다. 현재 화면 공간의 더 큰 부분을 사용하는 개체는 더 높은 LOD 수준에 표시됩니다. 화면 적용 범위는 핵심 glTF 2.0 사양의 일부가 아니며 MSFT_lod 확장의 "extras" 섹션에서 MSFT_ScreenCoverage 사용하여 지정해야 합니다.

LOD 수준 권장 범위 기본 범위
LOD 0 100% - 50% 0.5
LOD 1 50% 미만 - 20% 0.2
LOD 2 20% 미만 - 1% 0.01
LOD 4 1% 미만 -

애니메이션 지침

참고

이 기능은 Windows 10 2018년 4월 업데이트의 일부로 추가되었습니다. 이전 버전의 Windows에서는 이러한 애니메이션이 재생되지 않습니다. 그러나 이 문서의 지침에 따라 작성된 경우에도 애니메이션이 로드됩니다.

혼합 현실 홈은 HoloLens 및 몰입형(VR) 헤드셋의 애니메이션 glTF 개체를 지원합니다. 모델에서 애니메이션을 트리거하려면 glTF 형식에서 애니메이션 맵 확장을 사용해야 합니다. 이 확장을 사용하면 사용자가 개체에 가까이 있거나 개체를 보고 있을 때 애니메이션을 트리거하는 등 전 세계의 사용자 존재에 따라 glTF 모델에서 애니메이션을 트리거할 수 있습니다. glTF 개체에 애니메이션이 있지만 를 정의하지 않으면 애니메이션이 재생되지 않습니다. 아래 섹션에서는 애니메이션된 glTF 개체에 이러한 트리거를 추가하기 위한 하나의 워크플로에 대해 설명합니다.

도구

먼저 다음 도구가 아직 없는 경우 다운로드합니다. 이러한 도구를 사용하면 glTF 모델을 쉽게 열고, 미리 보기하고, 변경하고, glTF 또는 .glb로 다시 저장할 수 있습니다.

  1. Visual Studio Code
  2. glTF Tools for Visual Studio Code

모델 열기 및 미리 보기

먼저 .glTF 파일을 편집기 창으로 끌어 VSCode에서 glTF 모델을 엽니다. .glTF 파일 대신 .glb가 있는 경우 다운로드한 glTF 도구 추가 기능을 사용하여 VSCode로 가져올 수 있습니다. "보기 -> 명령 팔레트"로 이동한 다음 명령 팔레트에서 "glTF" 입력을 시작하고 "glTF: glb에서 가져오기"를 선택하면 .glb를 가져올 파일 선택기가 표시됩니다.

glTF 모델을 열면 편집기 창에 JSON이 표시됩니다. 파일 이름을 마우스 오른쪽 단추로 클릭하고 오른쪽 클릭 메뉴에서 "glTF: Preview 3D Model" 명령 바로 가기를 선택하여 를 사용하여 라이브 3D 뷰어에서 모델을 미리 볼 수도 있습니다.

트리거 추가

애니메이션 트리거는 애니메이션 맵 확장을 사용하여 glTF 모델 JSON에 추가됩니다. 애니메이션 맵 확장은 GitHub에 공개적으로 설명되어 있습니다(참고: 초안 확장임). 모델에 확장을 추가하려면 편집기에서 glTF 파일의 끝으로 스크롤하여 "extensionsUsed" 및 "extensions" 블록을 파일에 추가합니다(아직 없는 경우). "extensionsUsed" 섹션에서 "EXT_animation_map" 확장에 대한 참조를 추가하고 "확장" 블록에서 모델의 애니메이션에 매핑을 추가합니다.

사양에서 설명한 대로 애니메이션 인덱스의 배열인 "애니메이션" 목록에서 "의미 체계" 문자열을 사용하여 애니메이션을 트리거하는 항목을 정의합니다. 아래 예제에서는 사용자가 개체를 응시하는 동안 재생할 애니메이션을 지정했습니다.

  "extensionsUsed": [
    "EXT_animation_map"
  ],
  "extensions" : {
      "EXT_animation_map" : {
            "bindings": [
                {
                    "semantic": "GAZE",
                    "animations": [0]
                }
            ]
      }
  }

다음 애니메이션 트리거 의미 체계는 Windows Mixed Reality 홈에서 지원됩니다.

  • "ALWAYS": 애니메이션을 지속적으로 반복합니다.
  • "HELD": 개체를 잡는 전체 기간 동안 반복됩니다.
  • "GAZE": 개체를 보는 동안 반복됨
  • "PROXIMITY": 뷰어가 개체에 가까이 있는 동안 반복됨
  • "POINTING": 사용자가 개체를 가리키는 동안 반복됨

저장 및 내보내기

glTF 모델을 변경한 후에는 glTF로 직접 저장할 수 있습니다. 편집기에서 파일 이름을 마우스 오른쪽 단추로 클릭하고 "glTF: GLB로 내보내기(이진 파일)"를 선택하여 .glb를 내보낼 수도 있습니다.

제한

애니메이션은 20분을 초과할 수 없으며 36,000개 이상의 키 프레임(30FPS에서 20분)을 포함할 수 없습니다. 또한 모핑 대상 기반 애니메이션을 사용하는 경우 8192 모핑 대상 꼭짓점 이하를 초과하지 않습니다. 이러한 개수를 초과하면 애니메이션 자산이 Windows Mixed Reality 홈에서 지원되지 않습니다.

기능 최대
Duration 20분
키 프레임 36,000
모핑 대상 꼭짓점 8192

glTF 구현 참고 사항

Windows MR는 음수 눈금을 사용하여 기하 도형을 대칭 이동하지 않습니다. 음수 눈금이 있는 기하 도형은 시각적 아티팩트가 발생할 수 있습니다.

glTF 자산은 Windows MR에서 렌더링할 장면 특성을 사용하여 기본 장면을 가리킵니다. 또한 2018년 4월 Windows 10 업데이트 전에 Windows MR glTF 로더에는 접근자가 필요합니다.

  • 최소 및 최대 값이 있어야 합니다.
  • SCALAR 형식은 componentType UNSIGNED_SHORT(5123) 또는 UNSIGNED_INT(5125)여야 합니다.
  • VEC2 및 VEC3 유형은 componentType FLOAT(5126)여야 합니다.

다음 재질 속성은 코어 glTF 2.0 사양에서 사용되지만 필수는 아닙니다.

  • baseColorFactor, metallicFactor, roughnessFactor
  • baseColorTexture: dds에 저장된 텍스처를 가리킵니다.
  • emissiveTexture: dds에 저장된 텍스처를 가리킵니다.
  • emissiveFactor
  • alphaMode

다음 재질 속성은 핵심 사양에서 무시됩니다.

  • 모든 다중 VS
  • metalRoughnessTexture: 아래에 정의된 Microsoft 최적화 텍스처 패킹을 대신 사용해야 합니다.
  • normalTexture: 아래에 정의된 Microsoft 최적화 텍스처 압축을 대신 사용해야 합니다.
  • normalScale
  • occlusionTexture: 아래에 정의된 Microsoft 최적화 텍스처 압축을 대신 사용해야 합니다.
  • occlusionStrength

Windows MR는 기본 모드 선 및 점을 지원하지 않습니다.

단일 UV 꼭짓점 특성만 지원됩니다.

추가 리소스

추가 정보