ポリゴンを作成すると絵が出て来るコンテンツを作成
前回のポリゴンを作成するだけだとちょっと寂しいのでもうちょっと手を加えて画面をポリゴンで埋めると絵が出て来るコンテンツを作ってみました。
実装としてはスクリーン座標を元にしたテクスチャ描画のシェーダを作っただけです。他の部分は前回のものと同じです。
シェーダは一から作るのは大変だったのでこちらのドキュメントに記載されているものをベースに改造しました。
サーフェイスシェーダの例 / Surface Shader Examples
http://docs-jp.unity3d.com/Documentation/Components/SL-SurfaceShaderExamples.html
最終的にはこんなシェーダになりました。
Shader "Example/ScreenPos" { Properties { _MainTex ("Texture", 2D) = "white" { } } SubShader { Tags { "RenderType" = "Opaque" "LightMode" = "Vertex" } CGPROGRAM #pragma surface surf Lambert struct Input { float2 uv_MainTex; float4 screenPos; }; sampler2D _MainTex; void surf (Input IN, inout SurfaceOutput o) { float2 screenUV = IN.screenPos.xy / IN.screenPos.w*0.5; screenUV *= float2(2.0,1.5); o.Albedo = tex2D (_MainTex, screenUV).rgb; } ENDCG } Fallback "Diffuse" }
プロジェクトファイルはこちらからダウンロード出来ます。