渋谷ほととぎす通信

完全趣味でやってるUnityメモ。説明できないところを説明できるようにするための個人ブログ。昨日の自分より少しでも大きくなれるように。。。 ※所属団体とは一切関係がありません

GLSL SandboxをUnityに移植して遊ぶ_その3


f:id:esakun:20161218175910p:plain

私は3歳の頃からテレビゲームと呼ばれるものを必ず毎日30分は少なくともやってました。(当時はファミコンです)
大学に入って少し頻度が下がりましたが、iPhoneが世に出回りスマホゲームを作るようになってからは、加速するようにゲームをしてするようになりました。

今年の夏頃にはプレステ4も購入してしまいました。絶賛FF15中です。

ゲームを子供の頃からやっていると、ゲームエフェクトには憧れというものが出てきます。
その中でも雷系のエフェクトは、ゲーム好き男子にとっては、うっとりするモチーフなのではないかと勝手に思っています。

ということでUnityで雷エフェクトを作ってみます。

素材が無い

僕の中では 「エフェクト = Shuriken(ParticleSystem)」なのですが、Texture素材がないと始まりません。 Photoshopで描いて作るか、ネットから適当な参考画像を探して来るか、AssetStoreで買うか(もはや制作済み状態)、、、。

『そうだ GLSL Sandbox、行こう』

という流れで、まさにバチバチと音がなりそうな雷表現がGLSL Sandboxで見つかったので、Unityに移植して遊びます。

移植後のシェーダコードはこちら

gist.github.com

f:id:esakun:20161218181636p:plain

GLSL Sandboxのコチラのソースを参考にしております。

f:id:esakun:20161218175824g:plain

このように、ザ・ゲーム中に出てきそうな雷エフェクトができました。移植前のコードでは、マウス座標に雷の終点が追随する用になっていましたが、その辺は省いています。

まとめ

この記事含め3つのGLSL Sandboxのシェーダを移植してきましたが、やはりPCサービスということで処理がリッチです。 今回のシェーダも見てもらえればわかりますが、フラグメントシェーダ内に多重for文、sin, cos, length, max, min, lerpと、いかにも重そうな処理をガンガン記述しています。

次回は、このレベルのフラグメントシェーダ処理負荷が、モバイルで耐えられるのかを追っていこうと思います。

あわせてどうぞ

www.shibuya24.info

www.shibuya24.info

www.shibuya24.info

www.shibuya24.info

www.shibuya24.info