GUI Layer (Legacy)
Surface Shadersの記述

シェーダ リファレンス

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Unity のシェーダは,次の 3 つの方法のいずれかで記述できます。

  • surface shaders として
  • vertex shders および fragment shaders として
  • fixed function shaders として

ニーズに応じた適切なタイプを選ぶには,shader tutorial を参照してください。

選択したタイプに関係なく,シェーダ コードの実際の本体は,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 program shader or
        // - fixed function shader
    }
    SubShader {
        // here goes a simpler version of the SubShader above than can run on older graphics cards
    }
}

最初に下記のセクションで ShaderLab文法の基本的なコンセプトを読んでから,他のセクションでsurface shaderまたはvertex shders および fragment shadersに移ることをお勧めします。 fixed function shadersは ShaderLab のみを用いて記述されているため,ShaderLab のリファレンスに詳細が記載されています。

下記のリファレンスには,各種シェーダのサンプルが多く含まれています。 特に,surface shaderのサンプルについては,Resources section から,Unity の組み込みシェーダのソースを利用できます。 Unity の Image Effects パッケージには,多くの興味深いvertex shders および fragment shadersが含まれています。

シェーダ リファレンスを読んでから,shader tutorial を参照してください。

GUI Layer (Legacy)
Surface Shadersの記述