CustomRenderTextureについての個人メモ

よくわからないなりに最低限のところを記録。(個人メモなので多分あまり役に立たないです。)


オブジェクトに適応されてるのはお好きなシェーダー(画像のようなUnlitとかが一番シンプルなのかな?)。テクスチャにはCustomRenderTextureを割り当て。
CustomRenderTextureのにはマテリアルを割り当てます。(ほかの項目も大事なようですが、後に追記予定)
このマテリアルに割り当てるシェーダーに計算式を記述します。
Shader "CustomRenderTexture/TexcelShader"
{
    Properties
    {
        _Color ("Color", Color) = (1,1,1,1)
        _Tex("InputTex", 2D) = "white" {}
    }

    SubShader
    {
        Lighting Off
        Blend One Zero

        Pass
        {
            CGPROGRAM
            #include "UnityCustomRenderTexture.cginc"

            #pragma vertex CustomRenderTextureVertexShader
            #pragma fragment frag
            #pragma target 3.0

            float4      _Color;
            sampler2D   _Tex;

            float4 frag(v2f_customrendertexture IN) : COLOR
            {
                //セル中央の値
                return tex2D(_Tex, float2(floor((IN.localTexcoord.x*10))/10, (floor(IN.localTexcoord.y*10))/10 )+float2(0.05,0.05));
            }
            ENDCG
        }
    }
}

画像の例だとこんな感じコードでやってます。簡単なシェーダの記述はできるのでモザイクにするよう試しにやってみました。Vertex Shaderがなかったりするのが面白いですね。

シェーダーについては基礎を学んでいたほうがすんなり受け入れられるように思います。(私は結構時間がかかりましたが…)


(ポンチ絵でも描くか…)