update.やはりいずれはWebGLなどでも活用できるよう、基本的にUnityではGLSLを使ってシェーダを書いていこうと思います。下準備をしなければならないのでその備忘録を取っていきます。ちなみにUnityでシェーダを書くにあたってはこちらの記事がだいぶいい感じで参考になりそう。なにはともあれGLSLを書く準備まず、ProjectビューのCreateボタンから「Shader」を選んで新規作成します。(あるいはメニューの「Asset」>「Shader」でも行けます)作成したら編集します。GLSL向けに書き直す最初はCg/HLSLのテンプレートが記述されているのでまるっと消して以下のように書き直します。}さていきなりわけが分かりませんwこれはUnityが用意しているShaderの書式です。このへんに書式の意味が載っています。順を追って見て行きましょう。名前を付ける最初の行にあるのはShaderを宣言する部分です。ダブルクォーテーションで囲まれているのはシェーダの名前です。ここに指定した文字列がMaterialに設定できるシェーダの名前一覧に登場します。ちなみに、/を使うことで階層構造を作れるようです。シェーダ内で使いたい要素をUnityのGUIで設定する続いて目に入るのがPropertiesです。これはシェーダのプロパティで、ここに色々設定しておくとUnity側のGUIで項目が設定できるようになります。今回のサンプルではテクスチャとサイズ指定ができるようにしてみました。(特に意味はありません)サンプルではふたつのプロパティが定義されているわけですね。実際にUnityのInspector側では以下のように表示されます。(RGB)など、プロパティのところに記載されている内容がInspectorに表示されているのが分かります。シェーダで使うさて、GUI側で設定することができました。これをシェーダで使用するにはuniform変数として宣言してやることで使うことができるようになります。_Size;変数名はプロパティで指定したものそのままで宣言します。これでシェーダ内でGUIから設定された値などを参照することができるようになります。Propeticesの書式さて、いくつかのPropetyがありますがこれらの書式は以下の意味を持ちます。number)冒頭のnameはプロパティ名です。Unityではこのプロパティ名をアンダースコアから始めるのが一般的なようです。textureの"name"はデフォルトテクスチャを名前で指定します。