まずはミニゲームをつくろう−シェーダーを用意しよう

シェーダーを用意しよう

専用シェーダを作ろう。
最近は実装してはテストをしての繰り返しだったため
メモはとっていたけど動画を作るのが面倒でブログを忘れていた。

DZは背景部分はUnlit/TextureをベースにFlowMap(テクスチャでテクスチャアニメーションさせる)を使用している。
自機と岩はStandardShader,エフェクトはMoblie/Particle/Additiveだ。

自分の所持しているスマホは中国Huaweiの”nova lite 2″だ。
当時2万円くらいで独自CPUだがミドルクラスのスペックはあると思う。

StandardShaderは重いかな?と思いきや、案外60fpsで動作したのでそのままにしておいた。

StandardShaderは内部を見るとパッと見スッキリしているが
外部関数呼び出しをしているだけなので実際にはだいぶ深いしやっていることは多い。

そのため、StandardShaderをカスタムしようと思った場合は
最低限何が必要なのかをリストアップしていき、更にそこから加算などを行う必要があった。

昨日の必要なのは自機の”岩に当たっても大丈夫っぽい演出”と”壊れました演出”だ。

“岩に当たっても大丈夫”演出はそのままテクスチャを加算して表示しつつUVアニメーションさせてみた。
シールドが貼られたように見える!

“壊れました演出”は更にその上から色を上書きする。
しきい値とパラメータ値を用意、適当な雲テクスチャを作成し、
RGB値からパラメータ値を上回った部分は描画をdiscardしていきつつ
しきい値を超えている部分は燃えたような色味を表示することで
燃え尽きちゃいましたって感じに感じてくれれば幸いだ。

これらを端末を回転させたあと、シールドが一定時間貼られた状態で燃え尽きフラグがONになったらそれぞれを演出すればいい。
というわけで本日の作業は終了。

コメントする

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください