Featured image of post FlowEffect2mask 쉐이더와 자동 컨버터

FlowEffect2mask 쉐이더와 자동 컨버터

이펙트 아티스트분들이 작업할 때 이펙트만 따로 작업하는게 아니라 이펙트와 함께 움직일 아티펙트 또는 캐릭터와 함께 작업을 하는 경우가 대부분입니다.

문제는 이렇게 작업 할 때, 맥스 뷰포트 내에서는 이펙트 효과를 보기 힘든 관계로 작업 중간에 수시로 asset viewer로 넘겨 이펙트 타이밍과 블렌딩 효과등을 실험해 봐야 하는데 이게 그렇게 간편한 일이 아니라는 겁니다.

캐릭터나 아티펙트가 무거우면 asset viewer로 넘기는데 너무 오랜 시간이 걸려서 낭비하는 시간이 너무 많이 생기고,
캐릭터용 이펙트를 제작할 때 움직임에 따른 타이밍을 제작하고 싶은데 뷰포트에서 보이질 않으니 짐작만 할 수 밖에 없고…
겜브리오 작업할 때는 보통 불편한 것이 아니지요

때문에 작성한 스크립트. MAX 쉐이더를 Gamebryo 쉐이더로 자동전환해 주는 스크립트입니다.
이 스크립트와 MAX 쉐이더를 이용하면, 거의 모든 효과를 동일하게 맥스 뷰포트에서 실시간으로 볼 수 있게 되며,
최종 작업 완료나 중간점검으로 겜브리오 쉐이더로 변화시켜 Asset viewer나 쉐이더 뷰어에서 확인할 수 있습니다.

구조는 FX로 제작된 맥스 쉐이더가 버튼만 누르는 것으로 자동으로 겜브리오 쉐이더로 전환됩니다.
모든 에니메이션 설정이나 텍스쳐까지 그대로.
물론 반대도 가능하게 제작되어 있습니다. 쉐이더는 제가 제작하였고, 스크립트는 제 부사수 (부사수라고 써놓고 사실 암것도 안갈켜줌) 황재철군이 제작하였습니다. 써보고 반응좋으면 모든 이펙트 쉐이더로 확산을…
처음 제작해 보는 것이라 시간이 좀 많이 걸렸지만, 이후로는 빠르게 작업할 수 있을 것 같습니다.

단점은 쉐이더가 하나 바뀌면 3개의 파일을 수정해야 한다는 것입니다만 (FX, ms, hlsl) 그 불편함을 감수하고라도 만들 가치는 있는 것으로 보입니다.

쉐이더와 컨버터의 사용 방법은 다음과 같습니다.
 
총 파일은 4개로 이루어지며, 각 파일을 정확한 위치에 위치시켜야 합니다.

nds_Flow_Effect_2mask.fx
fx파일은 max를 위한 DirectX 쉐이더입니다. 이 파일은 3Dmax가 설치되어 있는 폴더의 maps/fx 폴더에 넣어야 합니다.
(예: C:\Program Files\Autodesk\3ds Max 2009\maps\fx)

nds_Flow_Effect_2mask.hlsl
hlsl 파일은 겜브리오 쉐이더의 본체입니다. 이 파일은 겜브리오 쉐이더가 설치되어 있는 폴더의 Data / DX9 폴더에 넣어야 합니다. (예: Shaders\Data\DX9)

nds_Flow_Effect_2mask.nsf
nsf 파일은 겜브리오 쉐이더의 설정값이 들어가는 파일입니다. 이 파일은 겜브리오 쉐이더가 설치되어 있는 폴더의 Data 폴더에 넣어야 합니다.
(예: Shaders\Data)

Shader_Converter_V2.ms
맥스용 DirectX 쉐이더 <-> 겜브리오 쉐이더 를 자유자재로 전환할 수 있게 해 주는 스크립트입니다.
이 스크립트는 특별한 폴더에 저장할 필요는 없으며, 필요할 때마다 Run 시켜 (혹은 뷰포트로 드래그 시켜) 사용하면 됩니다.
물체를 먼저 선택하고,컨버팅 하고 싶은 버튼을 누르세요.

*PS. 현재 이 쉐이더는 외부테섭에 올라가기 위해 준비중입니다.(오늘대로 들어갈 것으로 예상됩니다 ) 본격적으로 사용은 패치 나간 후 해주세요.
nds_Flow_Effect_2mask.zip

Hugo로 만듦
JimmyStack 테마 사용 중