지오메트리 스크립트 라이브러리(Geometry Script Library)는 트라이앵글별 메시 빌드, 버텍스 세기 등 낮은 수준의 메시 생성 및 쿼리부터 메시 부울, 교차점 테스트 등 높은 수준의 작업에 이르기까지 폭넓은 함수 기능을 포함하고 있습니다.
지오메트리 스크립트 라이브러리 사용에 대한 자세한 내용은 지오메트리 스크립트 사용자 가이드를 참고하세요.
대부분의 함수는 에디터에서 작업 중일 때나 런타임에서 사용할 수 있습니다. 하지만 아래 표에 나와 있는 일부 함수는 에디터에서 작업 중일 때만 사용할 수 있습니다.
에셋 및 컴포넌트 읽기/쓰기
이러한 함수는 기존 에셋 또는 컴포넌트에서 읽고 쓰기 등 다이내믹 메시 인스턴스를 읽고 쓸 때 사용됩니다.
노드 이름 | 설명 |
---|---|
스태틱 메시에서 메시 복사(Copy Mesh From Static Mesh) | 스태틱 메시 에셋에서 다이내믹 메시 에셋을 추출합니다. |
스태틱 메시로 메시 복사(Copy Mesh To Static Mesh) | 다이내믹 메시 에셋에서 변환된 새 지오메트리로 스태틱 메시 에셋을 업데이트합니다. |
컴포넌트에서 메시 복사(Copy Mesh From Component) | 지원되는 컴포넌트 유형에서 다이내믹 메시 에셋을 월드 또는 로컬 스페이스로 추출합니다. |
메시에서 새 볼륨 생성(Create New Volume From Mesh) | 다이내믹 메시 에셋에서 새 볼륨 액터(블로킹 볼륨 등)를 생성합니다. 이 노드는 에디터에서만 작동합니다. |
메시에서 새 스태틱 메시 에셋 생성(Create New Static Mesh Asset From Mesh) | 다이내믹 메시 에셋에서 스태틱 메시 에셋을 생성합니다. 이 노드는 에디터에서만 작동합니다. |
메시에서 스태틱 메시 콜리전 설정(Set Static Mesh Collision From Mesh) | 입력 메시를 바탕으로 스태틱 메시 에셋을 위한 단순 콜리전 셰이프를 생성합니다. |
메시에서 다이내믹 메시 콜리전 설정(Set Dynamic Mesh Collision From Mesh) | 입력 메시를 바탕으로 다이내믹 메시 컴포넌트를 위한 단순 콜리전 셰이프를 생성합니다. |
프리미티브 생성
이러한 함수는 프리미티브 메시를 생성하여 입력 다이내믹 메시에 덧붙이는 데 사용됩니다.
노드 이름 | 설명 |
---|---|
박스 덧붙이기(Append Box) | 지정된 다이내믹 메시에 3D 박스를 덧붙입니다. |
구체 위도 경도 덧붙이기(Append Sphere Lat Long) | 위도/경도 토폴로지를 사용하여 트라이앵글화된 3D 구체를 다이내믹 메시에 덧붙입니다. |
구체 박스 덧붙이기(Append Sphere Box) | 박스 토폴로지를 사용하여 트라이앵글화된 3D 구체를 다이내믹 메시에 덧붙입니다. |
캡슐 덧붙이기(Append Capsule) | 다이내믹 메시에 3D 캡슐을 덧붙입니다. |
원기둥 덧붙이기(Append Cylinder) | 다이내믹 메시에 3D 원기둥(엔드 캡은 선택 사항)을 덧붙입니다. |
원뿔 덧붙이기(Append Cone) | 다이내믹 메시에 3D 원뿔을 덧붙입니다. |
원환면 덧붙이기(Append Torus) | 다이내믹 메시에 3D 원환면(도넛) 또는 부분 원환면을 덧붙입니다. |
사각형 덧붙이기(Append Rectangle) | 다이내믹 메시에 평면 사각형을 덧붙입니다. |
둥근 사각형 덧붙이기(Append Round Rectangle) | 다이내믹 메시에 모서리가 둥근 사각형(RoundRect)을 덧붙입니다. |
원반 덧붙이기(Append Disc) | 다이내믹 메시에 평면 원반을 덧붙입니다. |
트라이앵글화된 폴리곤 덧붙이기(Append Triangulated Polygon) | 평면 2D 폴리곤의 들로네 트라이앵글화를 다이내믹 메시에 덧붙입니다. |
회전 폴리곤 덧붙이기(Append Revolve Polygon) | 2D 폴리곤의 회전면을 전체 또는 선택적으로 캡 처리된 부분 회전면으로 다이내믹 메시에 덧붙입니다. |
나선 회전 폴리곤 덧붙이기(Append Spiral Revolve Polygon) | 수직 나선 생성 시 사용되는 것처럼 2D 폴리곤을 나선 경로로 회전시킵니다. |
회전 경로 덧붙이기(Append Revolve Path) | 열린 2D 경로를 선택 사항인 상하단 엔드 캡과 함께 회전시킵니다. |
단순 돌출 폴리곤 덧붙이기(Append Simple Extrude Polygon) | 선택된 다이내믹 메시를 사용하여 수직 경로를 따라 2D 폴리곤을 돌출시킵니다. |
단순 스윕된 폴리곤 덧붙이기(Append Simple Swept Polygon) | 선택된 다이내믹 메시를 사용하여 임의 3D 경로를 따라 2D 폴리곤을 스윕합니다. |
직선 계단 덧붙이기(Append Linear Stairs) | 선택된 다이내믹 메시를 사용하여 직선 계단을 덧붙입니다. |
굽은 계단 덧붙이기(Append Curved Stairs) | 선택된 다이내믹 메시를 사용하여 높아지는 원형 계단을 덧붙입니다. |
트랜스폼 및 디포메이션
이러한 함수는 다이내믹 메시의 버텍스 위치(Vertex Positions) 를 조작하는 데 사용됩니다. 메시 토폴로지 또는 연결성을 변경하지는 않습니다.
노드 이름 | 설명 |
---|---|
메시 이동(Translate Mesh) | 메시 버텍스에 이동을 적용합니다. |
메시 스케일(Scale Mesh) | 메시 버텍스에 스케일 트랜스포메이션을 적용합니다. |
메시 트랜스폼(Transform Mesh) | 메시 버텍스에 임의의 FTransform을 적용합니다. |
메시에 벤드 워프 적용(Apply Bend Warp To Mesh) | 트랜스폼에 의해 정의된 축을 중심으로 벤드 워프를 적용합니다. |
메시에 트위스트 워프 적용(Apply Twist Warp To Mesh) | 트랜스폼에 의해 정의된 축을 중심으로 트위스트 워프를 적용합니다. |
메시에 플레어 워프 적용(Apply Flare Warp To Mesh) | 플레어/벌지 워프를 적용합니다. |
메시에 수학 워프 적용(Apply Math Warp To Mesh) | 다양한 수학 함수 기반 워프를 적용합니다. 현재 임의 오리엔테이션이 있는 1D 또는 2D 사인파입니다. |
메시에 펄린 노이즈 적용(Apply Perlin Noise To Mesh) | 3D 펄린 노이즈 디스플레이스먼트를 적용합니다. |
메시에 반복 스무딩 적용(Apply Iterative Smoothing To Mesh) | 메시 스무딩 간소화를 사용하기 위한 반복작업을 다이내믹 메시에 적용합니다. |
텍스처 맵에서 디스플레이스 적용(Apply Displace From Texture Map) | 텍스처2D 및 UV 채널을 기반으로 다이내믹 메시에 디스플레이스먼트를 적용합니다. |
결합/분해
이러한 함수는 메시를 서로 결합하거나 분할하는 데 사용됩니다.
노드 이름 | 설명 |
---|---|
메시로 메시 복사(Copy Mesh To Mesh) | 한 다이내믹 메시에서 다른 다이내믹 메시로 메시를 복사합니다. |
메시에서 서브 메시 구하기(Get Sub Mesh From Mesh) | 한 다이내믹 메시에서 다른 다이내믹 메시로 트라이앵글 목록을 복사합니다. |
컴포넌트별로 메시 분할(Split Mesh By Components) | 메시를 다이내믹 MeshPool에서 드로된 각 연결 컴포넌트마다 하나씩 부분별로 분할합니다. |
머티리얼 ID별로 메시 분할(Split Mesh By Material IDs) | 메시를 다이내믹 MeshPool에서 드로된 각 머티리얼 ID마다 하나씩 부분별로 분할합니다. |
메시 덧붙이기(Append Mesh) | 한 메시에서 다른 메시로 지오메트리와 트랜스폼(선택 사항)을 덧붙입니다. |
반복된 메시 덧붙이기(Append Mesh Repeated) | 반복 횟수를 바탕으로 한 메시에서 다른 메시로 지오메트리를 덧붙입니다. 매번 트랜스폼을 누적합니다. 이 연산은 패턴을 만드는 데 유용합니다. |
메시 모델링
이러한 함수는 표준 고레벨 모델링 연산을 제공하지만, 일반적으로 모델링 모드에서 비슷한 이름의 툴이 호출할 만한 저레벨 메시 프로세싱 코드를 호출합니다.
노드 이름 | 설명 |
---|---|
메시 부울 적용(Apply Mesh Boolean) | 두 번째 메시를 기반으로 다이내믹 메시에 부울 연산(합집합, 교집합, 차집합 등)을 적용합니다. |
메시 평면 자르기 적용(Apply Mesh Plane Cut) | 메시에 평면 자르기를 적용하고 생긴 구멍은 선택에 따라 채웁니다. |
메시 평면 슬라이스 적용(Apply Mesh Plane Slice) | 메시를 절반으로 슬라이스하고 구멍은 선택에 따라 채웁니다. |
메시 미러 적용(Apply Mesh Mirror) | 평면에 걸쳐 메시를 미러링합니다. 선택에 따라 트라이앵글을 자르고 붙입니다. |
메시 오프셋 적용(Apply Mesh Offset) | 메시 버텍스를 오프셋 표면으로 이동합니다. |
메시 셸 적용(Apply Mesh Shell) | 메시 트라이앵글의 사본을 오프셋 표면으로 이동하고 원본 트라이앵글로 결합합니다. 예를 들어 두꺼운 셸을 생성하려는 경우 사용합니다. |
메시 돌출 적용(Apply Mesh Extrude) | 일정한 방향을 따라 메시 트라이앵글을 돌출시킵니다. 예를 들어 트라이앵글화된 열린 폴리곤에서 입체를 생성하려는 경우 사용합니다. |
메시 입체화 적용(Apply Mesh Solidify) | 메시를 복셀화 및 메시화된 추정으로 대체합니다(VoxWrap 연산). |
메시 형태학 적용(Apply Mesh Morphology) | 메시를 SDF 기반 오프셋 메시 추정으로 대체합니다. |
메시 셀프 유니언 적용 | 자체 교집합을 고치기 위해 오브젝트를 그 자신과 메시 부울 합집합으로 만들고 부유하는 지오메트리를 제거합니다. |
메시 폴리그룹 베벨 적용(Apply Mesh Polygroup Bevel) | 메시 베벨 연산을 모든 폴리그룹 에지에 적용합니다. |
서브디비전 함수
이러한 함수는 다이내믹 메시 에셋에 다양한 메시 서브디비전 전략을 적용합니다.
노드 이름 | 설명 |
---|---|
재귀적 PN 테셀레이션 적용(Apply Recursive PNTessellation) | 재귀적 전략을 사용하여 입력 메시에 PN 테셀레이션을 적용합니다(예시: 1~4 트라이앵글 분할). |
폴리그룹 Catmull-Clark 서브디비전 적용(Apply Polygroup Catmull Clark SubD) | 메시의 폴리그룹 토폴로지에 Catmull-Clark 서브디비전을 적용합니다. 입력 트라이앵글화는 버립니다. 이 노드는 에디터에서만 작동합니다. |
트라이앵글 루프 서브디비전 적용(Apply Triangle Loop SubD) | 입력 메시에 루프 서브디비전을 적용합니다. 이 노드는 에디터에서만 작동합니다. |
간소화 함수
이러한 함수는 다양한 전략으로 메시를 간소화합니다.
노드 이름 | 설명 |
---|---|
트라이앵글 수에 간소화 적용(Apply Simplify To Triangle Count) | 타깃 트라이앵글 수에 도달할 때까지 메시를 간소화합니다. |
버텍스 수에 간소화 적용(Apply Simplify To Vertex Count) | 타깃 버텍스 수에 도달할 때까지 메시를 간소화합니다. |
한계치에 간소화 적용(Apply Simplify To Tolerance) | 타깃 지오메트리 한계치에 도달할 때까지 메시를 간소화합니다. 예를 들어 추가 간소화 시 입력 메시와의 편차가 허용치보다 커질 때까지 간소화합니다. |
평면에 간소화 적용(Apply Simplify To Planar) | 필요 이상으로 많은 트라이앵글을 가진 메시의 평면 영역을 간소화합니다. 메시의 3D 셰이프는 변경되지 않습니다. |
폴리그룹 토폴로지에 간소화 적용(Apply Simplify To Polygroup Topology) | 메시를 폴리그룹 토폴로지로 간소화합니다. 예를 들어 메시 폴리그룹의 고레벨 면이 여기에 속합니다. 또 다른 예시는 폴리그룹 토폴로지로 간소화 시 박스가 생성되는 디폴트 박스-구체입니다. |
노멀 함수
이러한 함수는 메시의 노멀을 재계산합니다.
노드 이름 | 설명 |
---|---|
노멀 플립(Flip Normals) | 각 면의 오리엔테이션을 뒤집어서 메시 노멀을 플립합니다. |
버텍스별 노멀 설정(Set Per Vertex Normals) | 메시 노멀을 버텍스별 노멀로 설정합니다. 예를 들어 버텍스에서 노멀을 분할하지 않습니다. |
페이스별 노멀 설정(Set Per Face Normals) | 메시 노멀을 페이스/트라이앵글별 노멀로 설정합니다. 예를 들어 메시의 모든 에지를 따라 노멀을 분할합니다. |
분할 노멀 계산(Compute Split Normals) | 각 한계치 및/또는 폴리그룹 토폴로지 등 기타 인수를 바탕으로 메시를 위한 분할 노멀을 계산합니다. |
노멀 재계산(Recompute Normals) | 기존 메시 노멀을 재계산합니다. 기존 분할 노멀은 보존합니다. 예를 들어 메시 디포메이션 이후 사용합니다. |
탄젠트 계산(Compute Tangents) | 다양한 방법을 통해 메시의 탄젠트를 재계산합니다. |
정리/복구 함수
이러한 함수는 메시의 문제를 해결하거나 다른 표준 복구를 적용하는 데 사용됩니다.
노드 이름 | 설명 |
---|---|
메시 단순화(Compact Mesh) | 메시의 버텍스 및 트라이앵글을 단순화하여 버텍스 ID 또는 트라이앵글 ID의 '구멍'을 모두 제거합니다(저레벨 메시 쿼리 섹션 참조). |
메시 어트리뷰트 버리기(Discard Mesh Attributes) | 모든 UV, 노멀, 머티리얼 ID, 버텍스 컬러, 확장된 폴리그룹 레이어 등 어트리뷰트 세트를 다이내믹 메시에서 제거합니다. 이 경우 여러 함수가 제대로 작동하지 않을 수 있으므로 유의하세요. |
자동 복구 노멀(Auto Repair Normals) | 이 함수는 플립 노멀을 고치는 등 메시 노멀이 일관되도록 자동으로 오리엔테이션을 다시 설정합니다. |
메시 에지 결합(Weld Mesh Edges) | 가능한 경우 '크랙'을 제거하기 위해 메시의 열린 바운더리 에지를 서로 결합합니다. |
모든 메시 구멍 채우기(Fill All Mesh Holes) | 메시의 모든 열린 바운더리 루프(지오메트리 표면의 구멍 등)를 채우려고 시도합니다. |
소규모 컴포넌트 제거 | 볼륨, 영역, 트라이앵글 수가 한계치 미만인 메시의 연결된 컴포넌트를 제거합니다. |
숨겨진 트라이앵글 제거(Remove Hidden Triangles) | 익스테리어 뷰에서 보이지 않는 메시의 트라이앵글을 제거합니다. '보이는'과 '외부'의 정의는 다양합니다. |
저레벨 메시 쿼리
이러한 함수는 메시의 엘리먼트에 대한 저레벨 정보를 제공합니다. 이 컨텍스트에서 VertexID 및 TriangleID 는 인티저입니다.
다이내믹 메시에서는 VertexID 또는 TriangleID 범위에 버텍스/트라이앵글이 삭제된 뒤 간격이 있을 수 있으며, 간소화 등 일부 작업은 간격이 있는 메시를 반환할 수도 있습니다. ID 범위 내의 간격은 메시 단순화 함수를 사용하여 정리됩니다.
노드 이름 | 설명 |
---|---|
버텍스 수 구하기(Get Vertex Count) | 메시의 버텍스 수를 구합니다. |
버텍스 ID 수 구하기(Get Num Vertex IDs) | 메시의 버텍스 ID 수를 구합니다. 메시의 밀도가 낮으면 버텍스 수보다 클 수 있습니다. 예를 들어 버텍스를 지운 후 이렇게 될 수 있습니다. |
버텍스 ID 유효 여부(Is Valid Vertex ID) | 버텍스 ID가 유효한 버텍스를 참조하면 true를 반환합니다. |
모든 버텍스 ID 구하기(Get All Vertex IDs) | 메시에 있는 모든 버텍스 ID의 인덱스 목록을 반환합니다. |
버텍스 위치 구하기(Get Vertex Position) | 메시 버텍스의 3D 위치를 버텍스 ID로 구합니다. |
모든 버텍스 위치 구하기(Get All Vertex Positions) | 모든 메시 버텍스 위치의 벡터 목록을 반환합니다. 목록이 클 수 있습니다. |
트라이앵글 수 구하기(Get Triangle Count ) | 메시의 트라이앵글 수를 반환합니다. 다이내믹 메시에서 직접 사용되는 함수입니다. |
트라이앵글 ID 수 구하기(Get Num Triangle IDs) | 메시의 트라이앵글 ID 수를 구합니다. 이 값은 메시의 밀도가 낮으면 트라이앵글을 지운 뒤에도 트라이앵글 수보다 클 수 있습니다. |
트라이앵글 ID 유효 여부(Is Valid Triangle ID) | 트라이앵글 ID가 유효한 트라이앵글을 참조하면 true를 반환합니다. |
모든 트라이앵글 ID 구하기(Get All Triangle IDs) | 메시에 있는 모든 트라이앵글 ID의 인덱스 목록을 반환합니다. |
트라이앵글 인덱스 구하기(Get Triangle Indices) | 트라이앵글에 대한 버텍스 인덱스 삼중항을 반환합니다. |
모든 트라이앵글 인덱스 구하기(Get All Triangle Indices) | 메시에 있는 모든 트라이앵글 인덱스 삼중항의 트라이앵글 목록을 반환합니다. |
트라이앵글 위치 구하기(Get TrianglePositions) | 트라이앵글에 대한 3개의 코너 위치를 반환합니다. |
트라이앵글 면 노멀 구하기 | 트라이앵글의 페이스/패싯 노멀을 반환합니다. |
트라이앵글 UV 구하기(Get TriangleUVs) | 트라이앵글에 대한 3개의 코너 UV 위치를 반환합니다. |
트라이앵글 머티리얼 ID 구하기(Get Triangle Material ID) | 트라이앵글에 대한 현재 머티리얼 ID를 반환합니다. |
모든 트라이앵글 머티리얼 ID 구하기(Get All Triangle Material IDs) | 모든 트라이앵글 머티리얼 ID의 인덱스 목록을 반환합니다. |
트라이앵글 폴리그룹 ID 구하기(Get Triangle Polygroup ID) | 지정된 폴리그룹 레이어에서 트라이앵글에 대한 현재 폴리그룹 ID를 반환합니다. |
버텍스 ID 간격 유무 구하기(Get Has Vertex ID Gaps) | 버텍스 ID 목록에 간격이 있는 경우 true를 반환합니다. 예를 들어 버텍스 ID 수 구하기 값이 버텍스 수 구하기 값보다 큰 경우입니다. |
트라이앵글 ID 간격 유무 구하기(Get Has Triangle ID Gaps) | 트라이앵글 ID 목록에 간격이 있는 경우 true를 반환합니다. 예를 들어 트라이앵글 ID 수 구하기 값이 트라이앵글 수 구하기 값보다 큰 경우입니다. |
밀도 높은 메시 여부 구하기(Get Is Dense Mesh) | 메시의 밀도가 높으면 true를 반환합니다. 예를 들어 버텍스 ID 또는 트라이앵글 ID에 간격이 없는 경우입니다. |
메시의 어트리뷰트 세트 유무 구하기(Get Mesh Has Attribute Set) | 메시에 UV, 노멀, 머티리얼 ID, 버텍스 컬러를 저장한 어트리뷰트 세트가 활성화된 경우(보통 기본적으로 활성화됨) true를 반환합니다. |
저레벨 메시 빌딩
이러한 함수는 메시를 트라이앵글별로 구성하는 데 사용되며 다른 저레벨 메시 편집 연산을 수행합니다.
수천 개의 트라이앵글이 있는 메시 엘리먼트를 루프하는 경우 이 함수들을 사용하면 블루프린트 또는 Python 스크립팅에서 매우 느려질 수 있습니다.
노드 이름 | 설명 |
---|---|
버텍스 위치 설정(Set Vertex Position) | 메시 버텍스의 3D 위치를 설정합니다. |
메시에 버텍스 추가(Add Vertex To Mesh) | 메시에 새 버텍스를 하나 추가하고 새 버텍스 ID를 반환합니다. |
메시에 버텍스 여러 개 추가(Add Vertices To Mesh) | 메시에 버텍스 목록을 추가합니다. |
메시에서 버텍스 삭제(Delete Vertex From Mesh) | 메시에서 버텍스를 하나 제거합니다. |
메시에서 버텍스 여러 개 삭제(Delete Vertices From Mesh) | 메시에서 버텍스 목록을 제거합니다. |
메시에 트라이앵글 추가(Add Triangle To Mesh) | 트라이앵글(3개 요소 버텍스 ID 튜플) 하나를 메시에 추가합니다. |
메시에 트라이앵글 여러 개 추가(Add Triangles To Mesh) | 메시에 트라이앵글 목록을 추가합니다. |
메시에서 트라이앵글 삭제(Delete Triangle From Mesh) | 메시에서 트라이앵글을 하나 제거합니다. |
메시에서 트라이앵글 여러 개 삭제(Delete Triangles From Mesh) | 메시에서 트라이앵글 목록을 제거합니다. |
폴리그룹에서 트라이앵글 삭제(Delete Triangles In Polygroup) | 특정 폴리그룹 레이어의 특정 폴리그룹을 갖는 메시에서 모든 트라이앵글을 삭제합니다. |
메시에 버퍼 덧붙이기(Append Buffers To Mesh) | 메시에 버텍스/트라이앵글 세트를 노멀, UV 등과 함께 추가합니다. 프로시저럴 메시 컴포넌트의 메시 섹션 생성과 비슷합니다. |
메시 트라이앵글 노멀 설정(Set Mesh Triangle Normals) | 메시 트라이앵글 노멀을 설정합니다. |
메시 트라이앵글 UV 설정(Set Mesh Triangle UVs) | 메시 트라이앵글 UV를 설정합니다. |
트라이앵글 머티리얼 ID 설정(Set Triangle Material ID) | 메시 트라이앵글의 머티리얼 ID를 설정합니다. |
머티리얼 ID 함수
이러한 함수는 메시의 머티리얼 ID를 조작하는 데 사용됩니다 머티리얼 ID는 트라이앵글별 인티저이며 특정 머티리얼과 직접 연결되지 않습니다. 각 머티리얼 ID는 스태틱 메시로 변환하거나 메시에서 변환할 때 메시 섹션 과 연결됩니다.
노드 이름 | 설명 |
---|---|
머티리얼 ID 유무 구하기(Get Has Material IDs) | 메시에서 머티리얼 ID를 사용할 수 있거나 ID가 활성화된 경우 true를 반환합니다. |
머티리얼 ID 활성화(Enable Material IDs) | 메시에서 머티리얼 ID를 활성화합니다. 0으로 초기화됩니다. |
머티리얼 ID 지우기(Clear Material IDs) | 메시의 모든 머티리얼 ID를 0으로 리셋합니다. |
최대 머티리얼 ID 구하기(Get Max Material ID) | 메시에 현재 설정되어 있는 최대 머티리얼 ID를 반환합니다. |
머티리얼 ID 리맵(Remap Material IDs) | 지정된 값과 머티리얼 ID가 있는 모든 트라이앵글을 매칭하고 머티리얼 ID를 새 값으로 설정합니다. |
모든 트라이앵글 머티리얼 ID 설정(Set All Triangle Material IDs) | 메시에서 모든 트라이앵글의 머티리얼 ID를 입력 인덱스 목록의 값으로 설정합니다. |
폴리그룹 머티리얼 ID 설정(Set Polygroup Material ID) | 지정된 폴리그룹 레이어에서 지정된 폴리그룹 ID를 갖는 메시에 포함된 모든 트라이앵글의 머티리얼 ID를 지정된 머티리얼 ID로 설정합니다. |
버텍스 컬러
이러한 함수는 메시의 버텍스 컬러 를 조작하는 데 사용됩니다.
노드 이름 | 설명 |
---|---|
메시 상수 버텍스 컬러 설정(Set Mesh Constant Vertex Color) | 모든 버텍스 컬러를 특정 컬러로 설정합니다. |
버텍스 컬러별 메시 설정(Set Mesh Per Vertex Colors) | 컬러 목록을 사용하여 모든 버텍스에 대한 컬러를 설정합니다. |
UV 함수
이러한 함수는 메시의 UV 를 조작하는 데 사용됩니다.
노드 이름 | 설명 |
---|---|
UV 세트 수 구하기(Get Num UV Sets) | 메시의 UV 세트/레이어 수를 구합니다. |
UV 세트 수 설정(Set Num UV Sets) | 메시의 UV 세트/레이어 수를 설정합니다. |
UV 세트 바운딩 박스 구하기(Get UV Set Bounding Box) | UV 세트에 있는 모든 UV의 2D 바운딩 박스를 구합니다. |
UV 세트 복사(CopyUVSet) | 타깃 UV 세트를 소스 UV 세트의 값으로 대체합니다. |
메시 UV 이동(Translate Mesh UVs) | UV 세트에서 UV에 대한 2D 이동을 적용합니다. |
메시 UV 스케일(Scale Mesh UVs) | UV 세트에서 UV에 대한 2D 이동을 적용합니다. |
메시 UV 회전(Rotate Mesh UVs) | UV 세트에서 UV에 대한 2D 회전을 적용합니다. |
메시 UV 재계산(Recompute Mesh UVs) | 기존 UV 아일랜드, 폴리그룹 등 잘 정의된 여러 유형의 UV 아일랜드를 기반으로 메시에 대한 UV를 재계산합니다. |
메시 UV 리패킹(Repack Mesh UVs) | 기존 UV 아일랜드를 표준 UV 스페이스로 패킹합니다. |
평면 투영에서 메시 UV 설정(Set Mesh UVs From Planar Projection) | 평면 투영을 사용하여 메시를 설정합니다. |
박스 투영에서 메시 UV 설정(Set Mesh UVs From Box Projection) | 박스 투영을 사용하여 메시를 설정합니다. |
원기둥 투영에서 메시 UV 설정(Set Mesh UVs From Cylinder Projection) | 원기둥 투영을 사용하여 메시를 설정합니다. |
패치 빌더 메시 UV 자동 생성(Auto Generate Patch Builder Mesh UVs) | 패치 빌더 메서드를 사용하여 UV를 자동 계산하고 선택에 따라 패킹합니다. |
X 아틀라스 메시 자동 생성(Auto Generate X Atlas Mesh UVs) | XATlas를 자동 계산하고 선택에 따라 패킹합니다. |
폴리그룹 함수
이러한 함수는 메시의 폴리그룹 을 조작하는 데 사용됩니다. 폴리그룹은 트라이앵글별 인티저이며, 모델링 툴과 일부 지오메트리 스크립트 작업에서 묵시적으로 영역을 정의하고 트라이앵글을 패치하는 데 사용됩니다. 폴리그룹 레이어는 궁극적으로는 트라이앵글별 숫자이므로 다른 사용자 정의 목적으로 사용될 수 있습니다.
노드 이름 | 설명 |
---|---|
폴리그룹 유무 구하기(Get Has Polygroups) | 메시에 표준 폴리그룹 레이어가 있는 경우 true를 반환합니다. |
폴리그룹 활성화(Enable Polygroups) | 메시에서 표준 폴리그룹 레이어를 활성화합니다. |
확장된 폴리그룹 레이어 수 구하기(GetNum Extended Polygroup Layers) | 확장된 폴리그룹 레이어의 수를 반환합니다. 확장된 폴리그룹 레이어는 아직 모든 연산 또는 모델링 툴에서 완전히 지원되지 않습니다. |
확장된 폴리그룹 레이어 수 설정(Set Num Extended Polygroup Layers) | 메시의 확장된 폴리그룹 레이어 수를 설정합니다. |
폴리그룹 지우기(Clear Polygroups) | 트라이앵글 폴리그룹 할당을 지정된 폴리그룹 레이어의 상수 값으로 리셋합니다. |
폴리그룹 레이어 복사(Copy Polygroups Layer) | 폴리그룹을 한 레이어에서 다른 레이어로 복사합니다. |
UV 아일랜드를 폴리그룹으로 변환(Convert UV Islands To Polygroups) | 메시의 연결 해제된 UV마다 새 폴리그룹을 생성 및 할당합니다. |
컴포넌트를 폴리그룹으로 변환(Convert Components To Polygroups) | 메시의 연결 해제된 컴포넌트마다 새 폴리그룹을 생성 및 할당합니다. |
각 한계치에서 폴리그룹 계산(Compute Polygroups From Angle Threshold) | 에지 크리스/오프닝 앵글을 바탕으로 메시를 파티셔닝하여 폴리그룹을 설정합니다. |
메시 지오메트리 쿼리
이러한 함수는 메시의 고레벨 지오메트리 쿼리를 허용합니다.
노드 이름 | 설명 |
---|---|
메시 바운딩 박스 구하기(Get Mesh Bounding Box) | 메시 버텍스의 바운딩 박스를 계산합니다. |
메시 볼륨 영역 구하기(Get Mesh Volume Area) | 메시의 볼륨 및 영역을 계산합니다. |
닫힌 메시 여부 구하기(Get Is Closed Mesh) | 메시가 닫혀 있으면 true를 반환합니다. 예를 들어 토폴로지 바운더리 에지가 없는 경우입니다. |
열린 경계 루프 수 구하기(Get Num Open Border Loops) | 열린 경계 루프의 수를 구합니다. 예를 들어 메시의 '구멍'입니다. |
열린 경계 에지 수 구하기(Get Num Open Border Edges) | 메시의 토폴로지 바운더리 에지 수를 반환합니다. |
연결된 컴포넌트 수 구하기(Get Num Connected Components) | 메시에서 개별 연결 컴포넌트 수를 반환합니다. 예를 들어 공유 에지로 연결된 '트라이앵글 패치' 등입니다. |
메시 컨벡스 헐 계산(Compute Mesh Convex Hull) | 입력 메시의 컨벡스 헐을 계산하고 개별 메시로 반환합니다. |
메시 스윕된 헐 계산(Compute Mesh Swept Hull) | 입력 메시의 2D 스윕된 헐을 계산하고 개별 메시로 반환합니다. |
메시 비교
이러한 함수는 두 메시 간의 비교를 활성화합니다. 이러한 함수를 사용해도 메시는 수정되지 않습니다.
노드 이름 | 설명 |
---|---|
동일 메시 여부(Is Same Mesh As) | 두 입력 메시를 입력 옵션의 정의에 따라 비교했을 때 같으면 true를 반환합니다. |
메시 간 거리 측정(Measure Distances Between Meshes) | 두 메시에서 가장 가까운 지점 간 거리의 최대/최소 및 평균 거리를 측정합니다. |
교차 메시 여부(Is Intersecting Mesh) | 두 입력 메시(선택에 따라 트랜스폼 포함)가 지오메트리에서 교차하는 경우 true를 반환합니다. |
BVH/AABBTree 및 공간 쿼리
이러한 함수는 메시의 AABBTree 오브젝트를 생성 및 쿼리하는 데 사용됩니다.
노드 이름 | 설명 |
---|---|
메시에 대한 BVH 빌드(Build BVH For Mesh) | 아래 쿼리에 사용될 수 있는 메시에 대한 바운딩 볼륨 계층구조(BVH) 오브젝트를 빌드합니다. 이 함수는 지오메트리 스크립트 다이내믹 메시 BVH 구조체를 반환합니다. |
메시에 대한 BVH 유효 여부(Is BVH Valid For Mesh) | BVH 오브젝트를 아직 메시와 함께 사용할 수 있는지 확인합니다. 메시가 변경된 경우 일반적으로 false를 반환합니다. |
메시에 대한 BVH 리빌드(Rebuild BVH For Mesh) | 이미 있는 메시에 대한 BVH 오브젝트를 리빌드합니다. 새 BVH를 빌드하는 것보다 메모리 할당을 줄일 수 있습니다. |
메시에서 가장 가까운 포인트 찾기(Find Nearest Point On Mesh) | 메시/BVH에서 지정된 3D 포인트에 가장 가까운 포인트를 찾습니다. |
메시와 가장 가까운 레이 교차점 찾기(Find Nearest Ray Intersection With Mesh) | 메시/BVH와 가장 가까운 3D 레이의 교차점을 찾습니다. |
메시 내 포인트 여부(Is Point Inside Mesh) | 빠른 와인딩 수 쿼리를 사용하여 포인트가 메시/BVH 내에 있는지 테스트합니다. |
유틸리티
이러한 헬퍼 함수는 지오메트리 스크립트 메시 프로세스 및 프로시저럴 제너레이터에 유용합니다.
노드 이름 | 설명 |
---|---|
다이내믹 메시 풀 생성(Create Dynamic Mesh Pool) | 새 다이내믹 메시 풀 오브젝트를 생성합니다. |
고유한 새 에셋 경로 이름 생성(Create Unique New Asset Path Name) | 베이스 경로 및 베이스 에셋 이름을 고려하여 새 고유 에셋 이름을 생성합니다. 메시에서 새 스태틱 메시 에셋 생성 등의 함수에 유용합니다. 이 노드는 에디터에서만 작동합니다. |