Unity에서 Point Cache 이용하기(버텍스 애니)

 

 

Max에서 작업한 Vertex Animation을 그대로 Unity에 적용하려면 Point Cache를 사용하면 됩니다.

주로 시뮬레이션 된 깃발이나, 본만으로 표현하기 힘든 표현을 할 때 Point Cache를 쓰는데요.

Vertex를 일일이 컨트롤 하기에 연산부하가 좀 있긴 합니다만~

필요하면 써야겠죠.

 

 

Point Cache 추출하기

 

Vertex 애니메이션을 만들기 위해 Wave를 사용해 Plane에 물결 모양의 효과를 넣었습니다.

그리고 모디피에 Point Cache(WSM)를 적용

 

1. Point Chche를 출력하기위해서 New를 해 pc2 포멧으로 설정 하세요.

2. 원하는 프레임을 적용

3. Record를 누르면 pc2 포멧으로 베이크 됩니다.

 

플랜 FBX, pc2 파일 2개를 준비해 Unity로 넘어가세요.

 

 

Unity에 적용하기

 

Point Cache Reader 스크립트를 Unity에 적용

 PointCacheReader.cs

실 게임에 적용하려면 손을 좀 보셔야 할 겁니다.

 

FBX파일을 Unity에 적용 한 후 Option에서 Optimize Mesh를 해제 하세요.

 - 버텍스 인덱스에 문제가 생길 수 있어요.

 

Hierarchy창에 메쉬를 넣고 스크립트를 넣으세요.

그럼 아래 그림처럼 인스펙터 창에 정보가 나올 겁니다.

Point Cache File Path 여기에 pc2파일의 경로를 넣으면 끝~

 

플레이 해볼까요.

화질은 넘어가는 걸로~

 

프레임 마다 버텍스 위치변경, 노멀 리셋, 바운드 리셋을 하기에 가볍지는 않습니다.

 - 상황에 따라 바운드 리셋은 빼도 될 것 같네요.(속도를 생각해서..) 

 

Max와 Unity의 좌표계가 달라 90도 돌아가서 보일 수 있습니다.

Unity Game Object를 직접 돌리거나 스크립트 코드에서 좌표계 대응을 해줘도 됩니다.

 

 

 

 

 

 

Posted by Hwanggoon
,