Version: Unity 6.0 (6000.0)
언어 : 한국어
메시 데이터
메시 토폴로지 데이터

메시 버텍스 데이터

버텍스 데이터의 요소를 버텍스 속성이라고 합니다.

모든 버텍스는 다음과 같은 속성을 가질 수 있습니다.

내부적으로 모든 버텍스 데이터는 동일한 크기의 별도의 배열에 저장됩니다. 메시에 10개의 버텍스 위치가 있는 배열이 포함되어 있는 경우 메시가 사용하는 서로 다른 버텍스 속성에 대한 요소가 10개 있는 배열도 있습니다.

C#에서 Unity는 사용 가능한 버텍스 속성을 VertexAttribute 열거형으로 설명합니다. Mesh.HasVertexAttribute 함수를 사용하여 Mesh 클래스의 인스턴스에 특정 버텍스 속성이 있는지 확인할 수 있습니다.

위치

버텍스 위치오브젝트 공간의 버텍스 위치를 나타냅니다.

Unity는 이 값을 사용하여 메시 표면을 결정합니다.

이 버텍스 속성은 모든 메시에 필수적입니다.

Mesh 클래스에서 이 데이터에 액세스하는 가장 간단한 방법은 Mesh.GetVerticesMesh.SetVertices를 사용하는 것입니다. Unity는 이 데이터를 Mesh.vertices에도 저장하지만, 이 구형 프로퍼티는 덜 효율적이고 사용자 친화적입니다.

노멀

버텍스 노멀은 버텍스 위치의 표면에서 바로 ‘바깥쪽으로’ 가리키는 방향을 나타냅니다.

Unity는 이 값을 사용하여 광원이 메시 표면을 반사하는 방법을 계산합니다.

이 버텍스 속성은 선택 사항입니다.

Mesh 클래스에서 이 데이터에 액세스하는 가장 간단한 방법은 Mesh.GetNormalsMesh.SetNormals를 사용하는 것입니다. Unity는 이 데이터를 Mesh.normals에도 저장하지만, 이 구형 프로퍼티는 덜 효율적이고 사용자 친화적입니다.

탄젠트

버텍스 탄젠트는 버텍스 위치에서 표면의 ‘u’(수평 텍스처) 축을 따라 가리키는 방향을 나타냅니다.

Unity는 버텍스 탄젠트와 추가 데이터를 4개의 컴포넌트로 구성된 벡터에 저장합니다. 벡터의 x, y, z 컴포넌트는 접선을 나타내고 벡터의 w 컴포넌트는 접선의 방향을 나타냅니다. Unity는 w 값을 사용하여 탄젠트와 노멀의 외적인 바이노멀을 계산합니다.

Unity는 노멀 매핑에 탄젠트와 바이노멀 값을 사용합니다.

이 버텍스 속성은 선택 사항입니다.

Mesh 클래스에서 이 데이터에 액세스하는 가장 간단한 방법은 Mesh.GetTangentsMesh.SetTangents를 사용하는 것입니다. Unity는 이 데이터를 Mesh.tangents에도 저장하지만 이 구형 프로퍼티는 덜 효율적이고 사용자 친화적입니다.

텍스처 좌표(UV)

메시는 최대 8개의 텍스처 좌표 세트를 포함할 수 있습니다. 텍스처 좌표는 일반적으로 UV라고 하며, 세트는 채널이라고 합니다.

Unity는 메시 주위에 텍스처를 ‘래핑’할 때 텍스처 좌표를 사용합니다. UV는 버텍스 위치에서 텍스처의 어느 부분이 메시 표면과 정렬되는지 나타냅니다.

UV 채널은 일반적으로 첫 번째 채널을 ‘UV0’, 두 번째 채널을 ‘UV1’이라고 하며 최대 ‘UV7’까지 있습니다. 채널은 각각 셰이더 시맨틱 TEXCOORD0, TEXCOORD1 등에 매핑되며 최대 TEXCOORD7에 매핑됩니다.

기본적으로 Unity는 첫 번째 채널(UV0)을 사용하여 디퓨즈 맵, 스페큘러 맵과 같은 일반 텍스처에 대한 UV를 저장합니다. Unity는 두 번째 채널(UV1)을 사용하여 베이크된 라이트맵 UV를 저장하고 세 번째 채널(UV2)을 사용하여 실시간 라이트맵 UV에 대한 입력 데이터를 저장할 수 있습니다. 라이트맵 UV와 Unity가 이러한 채널을 사용하는 방법에 대한 자세한 내용은 라이트맵 UV를 참조하십시오.

8개 텍스처 좌표 속성 모두 선택 사항입니다.

Mesh 클래스에서 이 데이터에 액세스하는 가장 간단한 방법은 Mesh.GetUVsMesh.SetUVs를 사용하는 것입니다. 또한 Unity는 이 데이터를 Mesh.uv, Mesh.uv2, Mesh.uv3 프로퍼티 등에 저장하며, 최대로는 Mesh.uv8 프로퍼티까지 저장합니다. 이러한 구형 프로퍼티는 효율적이지 않으며 사용자 친화적입니다.

컬러

버텍스 컬러는 버텍스 기본 컬러를 나타냅니다(있는 경우).

이 컬러는 메시가 사용할 수도 있는 모든 텍스처에 독립적으로 존재합니다.

이 버텍스 속성은 선택 사항입니다.

Mesh 클래스에서 이 데이터에 액세스하는 가장 간단한 방법은 Mesh.GetColorsMesh.SetColors를 사용하는 것입니다. Unity는 이 데이터를 Mesh.colors에도 저장하지만 이 구형 프로퍼티는 효율적이고 사용자 친화적이지 않습니다.

블렌드 인덱스 및 뼈대 가중치

스킨드 메시에서 블렌드 인덱스는 어느 뼈대가 버텍스에 영향을 미치는지 나타내도 뼈대 가중치는 그러한 뼈대가 버텍스에 영향을 미치는 정도를 나타냅니다.

Unity에서 이러한 버텍스 속성은 함께 저장됩니다.

Unity는 블렌드 인덱스와 뼈대 가중치를 사용하여 골격의 움직임에 따라 스킨드 메시를 변형합니다. 자세한 내용은 스킨드 메시 렌더러를 참조하십시오.

이러한 버텍스 속성은 스킨드 메시에 필수입니다.

과거에는 Unity에서 최대 4개의 뼈대만 버텍스에 영향을 줄 수 있었습니다. 이 데이터는 Mesh.boneWeights 배열의 BoneWeight 구조체에 저장되었습니다. 이제 Unity에서는 최대 256개의 뼈대가 버텍스에 영향을 미칠 수 있습니다. 이 데이터는 BoneWeight1 구조체에 저장되며, Mesh.GetAllBoneWeightsMesh.SetBoneWeights로 액세스할 수 있습니다. 자세한 내용은 연결된 API 기술 자료를 참조하십시오.

메시 데이터
메시 토폴로지 데이터