규로로TV

Max_Maya alembic to unity 본문

3D_R&D

Max_Maya alembic to unity

규로로TV 2018. 8. 10. 09:55

Max_Maya alembic to unity


 Alembic?

Alembic은 주로 영상 업계에서 사용되는 데이터 형식에서 거대한 정점 캐시 데이터를 저장하는 데 사용됩니다. 영상 업계에서는 스키닝과 역학 등의 시뮬레이션 결과를 전체 프레임 구워 꼭지점 캐시로 변환하고 그것을 Alembic에 저장 렌더러와 복합 소프트웨어에 전달,라고하는 사용법이 이루어집니다. 

Alembic 본가 : http://www.alembic.io/

최근 DCC 도구의 대부분은 Alembic을 지원하고 있으며, Alembic를 가져 오거나 내보낼 수 있다면, Unity를 렌더링 및 합성 도구로 사용하거나, Unity에서 다양한 시뮬레이션을 실시하고 그 결과를 다른 DCC 툴에 전달하거나 같은 수있게됩니다. 게임의 3D 녹화와 같은 새로운 방법도 생각할 수 있습니다. 


이 플러그인은 Unity에서 Alembic 가져 오기 및 내보내기를 제공합니다.

아래주소에서 유니티용 알렘빅 파일을 다운로드 받자

https://github.com/unity3d-jp/AlembicForUnity


AlembicForUnity.unitypackage 라고 쓰여 있는 글을 클릭하여 페키지를 다운받으면 된다.

unity를 열고 유니티에 드래그 드랍을 하고 import 창이 뜨면 import 해주면 완료!


---------------------------------------------------------------------------------------------------------요약을 하면 영상에서 쓰이는 고퀄리티 시뮬레이션이 유니티에서도 적용이 가능하다는 말로..

실제 응용을 해보면서 알아가보자.


Maya에서 넘기는 과정?

맥스나 마야에서 초당 프레임 설정을 기본 30FPS로 셋팅을 한다.

(원하는경우 수정해도 무방)

 

플랜에 cloth 시물레이션을 주어 공과 충돌을 일으키는 시물레이션을 만들어보자


 

예상했던 클로스 시물레이션 잘 작동이 된다. 

유니티에서도 똑같이 작동하는지 테스트를 해보자


우선 마야에서는 FX모드로 바꾸고 Cache > Alembic Cache > export selection to Alembic 선택


이제 유니티에서...


이제 유니티 씬에서 알렘빅파일을 드래그 드랍해주고 하이어라키에 옮겨주어 씬을 구성한다.

(알렘빅 파일 포맷은 abc다.)


하이어라키에 있는 알렘빅 파일을 선택해주고 타임라인을 하나 만들어준다.

그리고 Add 버튼을 눌러 밑에 생긴 UTJ.Alembic > Alembic Track 을 눌러준다.

 


새로만든 알렘빅 트랙의 타임라인에 커서를 대고 오른쪽 마우스를 누른뒤 Add Alembic shot을 눌러준다.


 


그러면 클립이 하나 생성이 되고 속성값 > Stream player 에서 하이어라키에 있는 알렘빅파일을 연결해준다.


그리고 타임라인의 플레이 버튼을 눌러보면 작동되는 것을 확인 할 수 있다.


주의) 메쉬타입이 아닌 파티클 류에서 파생되어 나오는 메쉬는 알렘빅으로 구현이 실패...

이유 파악중..



3dsMax에서 알렘빅으로 넘기는 과정..

알램빅으로 넘기고 싶은 오브젝트를 선택후 

File > export 옵션중에 alembic으로 export


유니티에서는 위와 똑같이 작업을 해주면 정상 작동을 한다.





 



Comments