テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

【Unity】背景の多重スクロールをシェーダーで

f:id:tsubaki_t1:20171115235145g:plain

シューティングの臨場感を出すために背景をスクロールする訳ですが、その辺りをシェーダーでやってみました。

1枚の板ポリに複数枚の背景を表示する

まずは下3枚のテクスチャを合成します。

f:id:tsubaki_t1:20171115235559j:plain

下の記事を参考に一枚の板ポリに奥・真ん中・手前の画像を合成するシェーダーを作成してみました。

qiita.com

gist.github.com

作ったシェーダーをマテリアルにセットして、3枚のテクスチャをセットすれば下のような感じになります。

f:id:tsubaki_t1:20171116001135j:plain

f:id:tsubaki_t1:20171115235613j:plain

スクロールさせる

背景をスクロールさせます。

とりあえずノコギリ波で一定時間進んだら戻す感じで。

gist.github.com

f:id:tsubaki_t1:20171116001048g:plain

WebGLでは出来る限りCPUを使いたくないので云々というお話

シェーダーアニメーションのプレビュー

ちなみに、SceneView のAnimated Materialsのチェックを入れると、シェーダーのアニメーションをプレビュー出来ます。

起動直後はチェックが入ってないのにシェーダーが動くという不思議動作もあったりします。

f:id:tsubaki_t1:20171115234911g:plain