유니티 셰이더 강좌. #1 튜토리얼. 소개 및 설치.
시간이 날 때마다 이전에 공부해 두었던 유니티 셰이더에 대해 꾸준히 포스팅을 하려 합니다.
유니티를 통해 셰이더를 공부하는 것에는 많은 이점이 있습니다. 그중에 가장 큰 장점은 셰이더에 대한 이해를 빠르고 쉽고 명확하게 할 수 있다는 것입니다. OpenGL이나 DIrectX를 통해 셰이더를 처음 공부해 보려고 하시는 분들이 셰이더를 사용 해 보기위해 디바이스를 설정하고 물체를 만들고 하는 등의 일 때문에 포기하게 되는것을 주변에서 여럿 보았습니다. 유니티를 통해 셰이더를 공부하는 것은 새로운 프레임워크를 배우기 위해 공부해야할 부분에 대한 부담감을 확 낮추는 효과가 있습니다.
또한 유니티를 통해 게임을 개발하려는 프로그래머, 아티스트가 유니티 내에 개발되어 있는 셰이더를 사용하지 않고 직접 자신이 원하는 효과를 제작 할 수 있다면 자신이 원하는 그래픽 효과를 낼 수 있게 되며 프로그래머의 능력에 따라 최적화가 가능해 집니다.
Shader를 테스트 해보기 위한 간단한 Unity 조작 방법을 먼저 학습하고, Unity에서 사용하는 ShaderLab이라는 셰이더 언어와 중간에 삽입되는 CG 언어를 이용해 간단하게 셰이더에 대해 공부해본 이후 유니티를 이용해 OpenGL의 GLSL이나 DirextX의 HLSL등을 다루는 방법, 나아가 볼륨 렌더링이나 compute 셰이더 같이 셰이더를 이용해 할 수 있는 고급 기법들을 다뤄 볼 생각입니다.
Unity 설치
다음 사이트에서 personal 버전을 다운받아 설치하시면 됩니다. 설치가 완료되면 유니티를 통해 개발할 환경을 모두 갖추게 됩니다.
https://store.unity.com/kr/?_ga=1.169851368.873640101.1468254437
Shader를 적용하기 위한 간단한 씬의 생성
유니티를 설치하고 3D 편집을 위한 new project를 생성하시면 다음과 같은 화면을 보실 수 있습니다. 작업을 시작하기 전에 Layout을 2 by 3으로 변경하시는 것을 추천합니다.(유니티 엔지니어 강좌에서도 2 by 3 을 사용합니다)
이제 셰이더를 적용하기위한 기본적인 Object들을 생성합니다. Hierachy창에서 오른쪽 클릭을 한 후에 3D Object -> Cube, Light -> Directional Light, Camera를 차례대로 추가해 주시면 됩니다.
이처럼 여러 오브젝트와 설정, 코드등이 적용되어있는 것을 씬(Scene)이라고 하며, 앞으로 이 씬 안에서 여러 작업들을 수행 할 것입니다. File -> Save Scene as 를 클릭하여 Assets폴더 내에 Scenes라는 폴더를 생성해 현재 씬을 저장합니다. 앞으로 프로젝트를 만들때마다 여러개의 신을 만들게 될 것입니다. 씬과 씬에서 사용하는 다양한 오브젝트와 코드들을 잘 정리하는 것이 중요합니다.
위 과정을 완료하게 되면 다음과 같이 Project 내에 Scenes 폴더가 생성되고 안에 씬이 저장되게 됩니다.
이로써 유니티에서 셰이더를 적용하기 위한 준비가 모두 끝났습니다. 다음 강좌에서는 물체에 광택을 주는 셰이더들에 대한 설명과 이에 대한 셰이더코드를 어떻게 작성하여 사용하는지에 대한 내용을 다루면서 가볍게 시작해 보도록 하겠습니다.