Meshes 는 3D 월드의 커다란 부분을 구성합니다. 몇몇 에셋 스토어 플러그인을 제외하고, Unity에는 모델링 툴이 포함되어 있지 않습니다. 그러나 Unity는 대부분의 3D 모델링 패키지와 상호운용성이 우수합니다. Unity는 삼각 또는 사각 폴리곤 메시를 지원합니다. Nurbs, Nurms, Subdiv 표면은 폴리곤으로 변환해야 합니다.
Unity는 아래 두 종류의 파일에서 메시를 임포트할 수 있도록 지원합니다.
Unity는 두 파일 타입 모두 임포트하고 사용할 수 있으며, 각각 장단점이 있습니다.
Unity에서 읽기 가능한 파일 타입은 .fbx, .dae (Collada), .3ds, .dxf, .obj, .skp입니다. 3D 파일을 익스포트하는 방법에 대한 자세한 내용은 사용하는 3D 모델링 소프트웨어 문서를 참조하십시오.
장점:
단점:
Unity는 Max, Maya, Blender, Cinema4D, Modo, Lightwave, Cheetah3D 와 같은 DCC 소프트웨어에서 전용 파일을 임포트할 수 있습니다. 이렇게 가져온 파일은 임포트하는 동안 Unity가 .fbx 파일로 전환합니다.
장점:
단점:
참고:.ma, .mb, .max, .c4d, .blend 파일로 저장된 에셋은 사용자의 컴퓨터에 해당 DCC 소프트웨어가 설치되지 않은 경우, 임포트할 수 없습니다. 이는 Unity 프로젝트에 작업하는 모든 컴퓨터에 올바른 소프트웨어를 설치해야 함을 의미합니다. 예를 들어, ExampleModel.mb 를 Maya를 사용하여 생성하고 프로젝트에 복사한 경우, 프로젝트를 열기 위해서는 컴퓨터에 Maya가 설치되어 있어야 합니다.
직접 지원되는 3D 애플리케이션에 대한 가이드라인은 다음과 같으며 나머지는 대부분 위에 나열된 파일 타입을 익스포트할 수 있습니다.
Unity는 지정된 검색 계획에 따라 임포트 시 메시가 자동으로 사용한 텍스처를 찾으려고 합니다. 먼저 임포터는 메시와 동일한 폴더, 또는 기타 상위 폴더에서 Textures라는 하위 폴더를 찾아봅니다. 찾을 수 없는 경우 프로젝트의 모든 텍스처를 모두 검색합니다. 전체 검색이 다소 느린 것도 문제지만 주 단점은 프로젝트에 이름이 같은 텍스처가 두 개 이상 포함될 수 있다는 것입니다. 이 경우 올바른 텍스처가 검색된다고 보장할 수 없습니다.
Unity는 임포트된 각 머티리얼에 다음 규칙을 적용합니다.
머티리얼 생성이 비활성화된 경우(즉__Import Materials__ 가 선택되지 않음) Default-Diffuse 머티리얼이 할당됩니다. 머티리얼 생성이 활성화된 경우 다음 작업을 수행합니다.
Unity가 사용하는 두 가지의 주요 콜라이더 타입은 Mesh Colliders 와 Primitive Colliders 입니다. 메시 콜라이더는 임포트된 메시 데이터를 사용하는 컴포넌트로 환경 충돌에 사용할 수 있습니다. 임포트 설정에서 Generate Colliders 를 활성화하면 메시가 씬에 추가될 때 메시 콜라이더가 자동으로 추가됩니다. 이는 물리 시스템에서 정상적으로 인식됩니다.
오브젝트(예: 자동차)를 여기저기로 움직이는 경우 메시 콜라이더를 사용할 수 없습니다. 기본 콜라이더를 대신 사용해야 합니다. 이 경우 Generate Colliders 설정을 비활성화해야 합니다.
애니메이션은 씬에서 자동으로 임포트됩니다. 애니메이션 임포트 옵션에 대한 자세한 내용은 메카님 애니메이션 시스템에서 에셋 준비 및 임포트 섹션을 참조하십시오.
모델의 고차원 폴리곤 버전으로부터 생성된 노멀 맵이 포함된 캐릭터가 있는 경우, 게임 품질 버전을 180도의 Smoothing angle 로 임포트해야 합니다. 그러면 탄젠트 분할로 인해 조명에 이상하게 생긴 경계부분이 발생하지 않습니다. 이런 설정을 사용해도 계속 눈에 띄는 경계 부분이 있으면 Split tangents across UV seams 를 활성화해야 합니다.
그레이스케일 이미지를 노멀 맵으로 변환하는 경우에는 이에 대해 신경쓰지 않아도 됩니다.
Unity는 BlendShapes(모프 타겟 또는 버텍스 수준 애니메이션이라고도 함)를 지원합니다. Unity는 .FBX(BlendShapes 및 컨트롤링 애니메이션)와 .dae(BlendShapes만)에서 익스포트된 3D 파일에서 BlendShapes를 임포트할 수 있습니다. Unity BlendShapes는 버텍스, 노멀 및 탄젠트에서 버텍스 수준 애니메이션을 지원합니다. 메시는 스킨과 BlendShapes의 영향을 동시에 받을 수 있습니다. BlendShapes를 통해 임포트한 모든 메시는(스킨 포함 여부와 관계없이) SkinnedMeshRenderer를 사용합니다. BlendShapes 애니메이션은 일반 애니메이션의 일부로 임포트됩니다. 즉, 간단히 BlendShape 가중치를 SkinnedMeshRenderer에서 애니메이션화합니다.
다음 두 가지 방법으로 BlendShape를 노멀과 함께 임포트할 수 있습니다.
BlendShapes에 탄젠트가 있게 하려면 Tangents 임포트 모드를 Calculate 로 설정해야 합니다.
이 현상은 정상입니다. 표시되는 내용은 렌더링을 위해 실제로 GPU로 전송되고 있는 버텍스/삼각형의 수입니다. 머티리얼이 버텍스 /삼각형을 두 번 전송하도록 요구하는 경우 이외에도 하드 노멀 및 비인접 UV 같은 요인은 버텍스/삼각형 수를 모델링 앱에 나오는 수보다 훨씬 더 많이 증가시킵니다. 3D 및 UV 공간에서 모두 심각형이 스트립을 형성하려면 서로 인접해야 하므로 UV 경계 부분이 있는 경우 스트립을 형성하려면 퇴화 삼각형을 만들어야 합니다. 이로 인해 버텍스/삼각형의 수가 증가합니다.