※ 본 아티클은 CMP MEDIA LLC와의 라이선스 계약에 의해 국문으로 제공됩니다.
3ds Max의 DirectX Shader 사용하기 Using DirectX Shaders in 3ds Max
개요 보다 현실적인 게임을 개발하기 위해 점점 더 많은 게임 개발자들이 셰이더를 사용하고 있다. 실시간 셰이더는 복잡한 조명 효과와 고급 시각 효과 등을 구현한다. 3ds Max, Maya, 및 XSI와 같은 DCC툴은 뷰포인트를 통해 실시간 셰이더의 미리보기를 제공하고 있다. 그리고 RT/Shader Ginza, RenderMonkey 및 FX Composer와 같은 소프트웨어를 사용하면 DCC 툴로 가져와 사용할 수 있는 셰이더를 만들 수 있다. 본 아티클의 목표는 비디오 게임 개발에 사용되는 3ds Max의 DirectX Shader의 사용 방법을 알려주는 데 있다. 그 사용 방법이란 구현과 통합부터 내보내기까지 전 제작 과정을 가리킨다. 본 아티클은 기술감독부터 툴 개발자에 이르기까지 3ds Max를 사용하는 모든 관계자를 대상으로 한다. 그리고 MAXScript, Max SDK 및 DirectX Shaders와 같은 3ds Max의 기능에 대한 기본 지식을 갖추고 있으면 더욱 효과적이다.
3ds Max의 DirectX shader DirectX shader의 정의 DirectX shader는 DirectX Effect 형식의 셰이더이다. 개발자들은 3ds Max를 통해 셰이더 효과와 장면 효과를 생성할 수 있다. 장면 효과는 전위효과, 후위효과, 환경효과 등 세가지로 나눌 수 있다. 그러나 본 아티클에서는 셰이더 효과에 관해 집중적으로 알아볼 예정이다. 예를 들어 DirectX Shader를 사용하면 게임에 사용되는 노멀 매핑 셰이더(normal mapping shader)와 같은 셰이더를 뷰포인트에서 실시간으로 확인할 수 있다.
DirectX shader의 장점 DirectX shader 재질을 사용하면 3ds Max 뷰포인트에서도 게임 엔진에서와 동일한 결과를 볼 수 있다. 그리고 사용하는 게임 엔진이 표준 DirectX 효과를 지원하지 않더라도 DirectX shader를 제작 워크플로에 통합할 수 있다. 실제로 사용자가 해당 효과를 자신이 사용하는 특정 특정 셰이더 효과 형식으로 내보낼 수 있다. 또한 개발 중인 게임에서 셰이더를 사용하고 있지 않다 하더라도 DirectX Sharder를 통해 Max의 뷰 포인트에서 게임에서 사용되고 있는 조명 효과를 확인할 수 있다. DirectX Shader는 즉각적으로 피드백을 제공하기 때문에 개발자의 시간을 절약하고 제작 과정의 생산성을 높일 수 있다.
DirectX shader의 단점 DirectX shader는 3ds Max에서 실행 속도가 느리며 적용하는 객체 수가 많아지거나 용량이 큰 장면에 사용할 때는 더욱 느려진다. 또한 버그도 있다. 가끔 실제 원본 파일의 텍스처 색상과 뷰포인트에서 확인하는 색상이 다른 등 이상한 버그가 발생할 수 있다. 향후 패치를 통해 이들 버그를 해결할 수 있으리라 생각된다. 그리고 다행히 3ds Max 구성을 이용해 뷰포인트에서 DirectX Shader의 표시 속도를 높일 수 있다. 이제 3ds Max에서 DirectX Shader효과를 개발하는 방법을 살펴보자.
3ds Max의 FX Effect 형식 Max는 기본 Max 파서와 DXSAS 0.8 등 2가지 Effect 파서를 기본 제공한다. 하지만 기본으로 제공되는 이 두 가지 파서가 만족스럽지 못하다면 직접 파서를 작성하여 원하는 효과를 지원할 수 있다. DirectX Effect Shader를 개발할 때는 이 주석을 사용하여 로딩할 Effect 파서를 정확하게 선택할 수 있다.
string ParamID = "0x0"; // Load default Max parser 또는 string ParamID = "0x0001"; // Load DXSAS parser 이 주석은 3ds Max에서 올바른 파서를 로드할 때 사용된다. 이 주석은 효과 파일 시작 부분에서 첫 번째 지침으로 이미 언급한 바 있다. 또한 효과가 컴파일 되면 매크로가 정의된다. 다음은 그 목록이다....................(중략)
* 자세한 내용은 첨부문서(pdf)를 참고하시기 바랍니다.
|