,

Shaders

유니티의 모든 렌더링은 Shaders로 이루어집니다. 쉐이더는 그래픽 하드웨어가 렌더링을 위해 어떻게 셋업되는지 설정하게 해주는 스크립트 입니다. 유니티는 60개가 넘는 내장된 쉐이더를 가지고 있는데 사용자가 그들을 확장할 수도 있습니다. 그 내장된 쉐이더는 내장 셰이더(Built-in Shader) 가이드에 문서화 되어있습니다.

유니티에서 쉐이더는 세가지 방법으로 만들어 질수 있습니다:

어떤 타입을 선택하던 쉐이더 코드의 상당 부분은 쉐이더 구조를 정리하는ShaderLab으로 변환됩니다. 이것은 아래와 같습니다:

Shader "MyShader" {
    Properties {
        _MyTexture ("My Texture", 2D) = "white" { }
        // other properties like colors or vectors go here as well
    }
    SubShader {
        // here goes the 'meat' of your
        //  - surface shader or
        //  - vertex and fragment shader or
        //  - fixed function shader
    }
    SubShader {
        // here goes a simpler version of the SubShader above that can run on older graphics cards
    }
} 

ShaderLab reference에서 ShaderLab문법의 기본적인 개념을 읽고 아래에 있는 튜토리얼을 해보기를 권합니다.

튜토리얼에는 다른 종류의 쉐이더를 위한 많은 예제가 있습니다. 특히 표면 쉐이더의 더 많은 예제를 위해서는 Resources section에서 유니티 내장 쉐이더의 소스코드를 볼 수 있습니다. 유니티의 Image Effects 패키지는 많은 흥미있는 꼭지점과 조각 쉐이더를 포함하고 있습니다.

쉐이더의 개요를 읽고 shader reference도 확인하세요!