UKismetProceduralMeshLibrary의 SliceProceduralMesh 함수 분석 – 2

충돌체 분리하기 메쉬가 가지고 있는 충돌체또한 분리가 필요하다. 분리하는 충돌체는 메쉬에 설정된 UBodySetup이 기준이다. 충돌체의 바운더리를 평면이 관통하는지 검사 먼저, 메쉬의 바운더리를 평면이 관통하는지 검사했던것 처럼 충돌체의 바운더리 역시 평면이 관통하는지 검사를 한다. 충돌체의 바운더리를 평면이 관통할 때 슬라이스 처리 충돌체를 자르는 함수 SliceConvexElem의 내용은 다음과 같다. 충돌체를 구성하는 평면들의 수집 InConvex.GetPlanes( ConvexPlanes )를 보면 … Read more

UKismetProceduralMeshLibrary의 SliceProceduralMesh 함수 분석 – 1

UProceduralMeshComponent의 메쉬를 평면 기준으로 자르는 함수이다. 프로젝트에 사용할 일도 있고 커스텀도 해야할 것 같아서 엔진 코드의 분석을 해보았다. Plane 준비 우선 컴포넌트 로컬 공간 기준으로 평면을 준비한다. 평면을 정의하기 위한 평면상의 한 점과 평면의 노말벡터를 인자로 받는다. 그리고 이 점의 위치와 노말을 로컬 공간으로 변환 후, 평면을 생성한다. 임시 데이터 컨테이너들 선언 메쉬를 자르면서 발생하는 … Read more