메시 컴포넌트
머티리얼

메시

메시 는 3D 월드의 커다란 부분을 구성합니다. ProBuilder 및 일부 에셋 스토어 플러그인을 제외하고, Unity에는 모델링 툴이 포함되어 있지 않습니다. 그러나 Unity는 대부분의 3D 모델링 소프트웨어와의 상호운용성이 우수합니다. Unity는 삼각 또는 사각 폴리곤 메시를 지원합니다. Nurbs, Nurms, Subdiv 표면은 폴리곤으로 전환해야 합니다.

텍스처

Unity는 특정 검색 계획에 따라 임포트 시 메시가 사용한 텍스처를 자동으로 찾습니다. 먼저 임포터는 메시와 동일한 폴더, 또는 기타 상위 폴더에서 Textures라는 하위 폴더를 찾아봅니다. 찾을 수 없는 경우 Unity는 프로젝트의 모든 텍스처를 검색합니다. 전체 검색의 경우 다소 느린 것도 문제지만 큰 단점은 프로젝트에 이름이 같은 텍스처가 두 개 이상 포함될 수 있다는 것입니다. 이 경우 Unity가 올바른 텍스처를 찾는다고 보장할 수 없습니다.

에셋 수준과 같거나 더 위에 있는 Textures 폴더에 텍스처를 저장해야 합니다.
에셋 수준과 같거나 더 위에 있는 Textures 폴더에 텍스처를 저장해야 합니다.

머티리얼 생성 및 할당

Import Settings 창의 Material 탭에서 Import Materials 활성화
Import Settings 창의 Material 탭에서 Import Materials 활성화

임포트된 각 머티리얼에 대해 Import Materials 를 비활성화하면 Default-Diffuse 머티리얼이 할당됩니다.

Import Materials 를 활성화하고 Location 드롭다운 메뉴에서 Use Embedded Materials 를 선택하면 Unity가 다음 전략을 사용합니다.

  1. Unity가 이름 지정 설정에 따라 Unity 머티리얼의 이름을 선택합니다.
  2. Unity가 해당 이름을 가진 기존 머티리얼을 찾습니다. 머티리얼 검색 범위는 검색 설정을 통해 정의됩니다.
  3. Unity가 기존 머티리얼을 사용하는 경우 임포트한 씬을 찾습니다. 일치하는 머티리얼을 찾지 못하면 새 머티리얼을 생성합니다.

콜라이더

Unity가 사용하는 두 가지의 주요 콜라이더 타입은 Mesh Colliders 와 __Primitive Colliders__입니다. 메시 콜라이더는 임포트된 메시 데이터를 사용하는 컴포넌트이며 Unity가 환경 충돌에 이를 사용할 수 있습니다. Model 탭에서 콜라이더 생성을 활성화하면 메시가 씬에 추가될 때 메시 콜라이더가 자동으로 추가되고 물리 시스템에서 정상적으로 인식됩니다.

게임 오브젝트(예: 자동차)를 여기저기로 움직이는 경우 메시 콜라이더를 사용할 수 없습니다. 기본 콜라이더를 대신 사용해야 합니다. 이 경우 Generate Colliders 설정을 비활성화해야 합니다.

애니메이션

모델 파일에서 애니메이션을 임포트할 수 있습니다. Unity로 익스포트하기 전에 3D 모델링 소프트웨어에서 FBX 파일 익스포트에 관한 가이드라인을 따르십시오.

노멀 매핑 및 캐릭터

모델의 고차원 폴리곤 버전으로부터 생성된 노멀 맵이 포함된 캐릭터가 있는 경우, 게임 품질 버전을 180도의 스무딩 앵글로 임포트해야 합니다. 그러면 탄젠트 분할로 인해 조명에 이상하게 생긴 경계 부분이 발생하지 않습니다. 이 설정을 사용해도 계속 눈에 띄는 경계 부분이 있으면 Tangents 드롭다운 메뉴에서 분할 탄젠트로 레거시 계산을 선택하십시오.

그레이스케일 이미지를 노멀 맵으로 변환하는 경우에는 이에 대해 신경쓰지 않아도 됩니다.

블렌드 셰이프

Unity는 블렌드 셰이프(Morph 타겟 또는 버텍스 수준 애니메이션이라고도 함)를 지원합니다. Unity는 .FBX(블렌드 셰이프 및 컨트롤링 애니메이션)와 .dae(블렌드 셰이프만)에서 익스포트된 3D 파일에서 블렌드 셰이프를 임포트할 수 있습니다. Unity 블렌드 셰이프는 버텍스, 노멀 및 탄젠트에서 버텍스 수준 애니메이션을 지원합니다. 메시는 스킨과 블렌드 셰이프의 영향을 동시에 받을 수 있습니다. 블렌드 셰이프를 통해 임포트한 모든 메시는 스킨 포함 여부와 관계없이 SkinnedMeshRenderer를 사용합니다. Unity는 일반 애니메이션의 일부로 블렌드 셰이프 애니메이션을 임포트합니다. 즉, 블렌드 셰이프 가중치를 SkinnedMeshRenderer에서 애니메이션화합니다.

다음 두 가지 방법으로 블렌드 셰이프를 노멀과 함께 임포트할 수 있습니다.

  • Normals 드롭다운 메뉴에서 Import를 선택합니다. 이렇게 하면 Unity가 메시와 블렌드 셰이프의 노멀을 계산할 때 같은 로직을 사용합니다.
  • 스무딩 그룹 정보를 소스 파일로 익스포트합니다. 그러면 Unity가 메시 및 블렌드 셰이프의 스무딩 그룹으로부터 노멀을 산출합니다.

블렌드 셰이프에 탄젠트를 사용하는 경우 Tangents 드롭다운 메뉴에서 Import를 선택하십시오.

힌트

  • 메시를 서로 최대한 병합하십시오. 메시가 머티리얼과 텍스처를 가능한 많이 공유하도록 해야 합니다. 그러면 성능이 크게 향상됩니다.

  • Unity에서 게임 오브젝트에 추가 설정(물리, 스크립트 또는 기타 컴포넌트)을 적용해야 하는 경우 3D 애플리케이션에서 게임 오브젝트 프로퍼티의 이름을 올바르게 지정하십시오. 여러 개의 pCube17 이나 Box42 같은 이름을 사용할 경우 작업이 매우 어려울 수 있습니다.

  • 3D 모델링 애플리케이션의 월드 좌표계 중심에 메시를 위치시키십시오. 그러면 Unity에 메시를 더 쉽게 배치할 수 있습니다.

  • 메시의 버텍스가 컬러 요소를 가지지 않을 경우 Unity는 메시를 처음 렌더링할 때 올화이트 버텍스 컬러 배열을 메시에 자동으로 추가합니다.

  • Unity 에디터가 3D 모델링 애플리케이션의 원본 모델에 비해 너무 많은 버텍스 또는 삼각형을 표시합니다.

    이 현상은 정상입니다. 표시되는 내용은 렌더링을 위해 실제로 GPU로 전송되고 있는 버텍스/삼각형의 수입니다. 머티리얼이 버텍스/삼각형을 두 번 전송하도록 요구하는 경우 이외에도 하드 노멀 및 비인접 UV 같은 요인은 버텍스/삼각형 수를 3D 모델링 애플리케이션에 나오는 수보다 훨씬 더 많이 증가시킵니다. 3D 및 UV 공간에서 삼각형이 스트립을 형성하려면 서로 인접해야 하므로, UV 경계 부분이 있는 경우 스트립을 형성하려면 손상된 삼각형을 만들어야 합니다. 이로 인해 버텍스/삼각형의 수가 증가합니다.


  • 2019–05–31 일부 편집 리뷰를 거쳐 페이지 수정됨
메시 컴포넌트
머티리얼