###シェーダによるUV操作でシューティングゲームの背景を作りたい
現在Unityで2Dシューティングゲームを開発しております。
背景のスクロールをUV操作で行おうと考えていくつかのサイトを見て、
とりあえずUV操作ができるシェーダはできたのですが、
Unity標準のライトありきでの実装だったため、元の背景と色味が若干変わってしまいます。
申し訳ないのですがシェーダに関する知識を有する方のお力をお借りしたいです。
###現在の状況
・背景QuadのMaterialにスクロールシェーダを実装
・UVスクロール操作処理自体はできている
・ライトをHierarchyViewにいれないと背景に設定した画像が暗くなってしまう。
###解決したいこと
・ライトがなくても元の画像と同じ色味の背景を出したい
・上記問題を解決した上でUVのスクロールを実装したい
###該当のソースコード
Shader "Custom/scroll" { Properties{ _Color("Color", Color) = (1,1,1,1) _MainTex("Albedo (RGB)", 2D) = "white" {} _Glossiness("Smoothness", Range(0,1)) = 0.5 _Metallic("Metallic", Range(0,1)) = 0.0 _ScrollX("ScrollX", float) = 0 _ScrollY("ScrollY", float) = 0 } SubShader{ Tags{ "RenderType" = "Transparent" } LOD 200 CGPROGRAM #pragma surface surf Standard alpha:fade #pragma target 3.0 sampler2D _MainTex; struct Input { float2 uv_MainTex; }; half _Glossiness; half _Metallic; fixed4 _Color; float _ScrollX, _ScrollY; void surf(Input IN, inout SurfaceOutputStandard o) { float2 scroll = float2(_ScrollX, _ScrollY) * _Time.y; fixed4 c = tex2D(_MainTex, IN.uv_MainTex + scroll) * _Color; o.Albedo = c.rgb; o.Metallic = _Metallic; o.Smoothness = _Glossiness; o.Alpha = c.a; } ENDCG } FallBack "Diffuse" }
###試したこと
QuadではなくSpriteで実装
→Quad同様ライトに依存してしまう
Spriteを複数枚用意してそのSpriteをスクロールさせてみる
→背景が途切れてしまう可能性が0ではないため、実装をやめた。
###補足情報(言語/FW/ツール等のバージョンなど)
Unity5.5.2

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。