こんにちは、Unityエンジニアのオオバです。
オオバは3歳の頃からテレビゲームと呼ばれるものを必ず毎日30分は少なくともやってました。(当時はファミコンです)
大学に入って少し頻度が下がりましたが、iPhoneが世に出回りスマホゲームを作るようになってからは、加速するようにゲームをしてするようになりました。
今年の夏頃にはプレステ4も購入してしまいました。絶賛FF15中です。
ゲームを子供の頃からやっていると、ゲームエフェクトには憧れというものが出てきます。
その中でも雷系のエフェクトは、ゲーム好き男子にとっては、うっとりするモチーフなのではないかと勝手に思っています。
ということでUnityで雷エフェクトを作ってみます。
→11万文字で徹底解説した「DOTweenの教科書」Unityアニメーションの超効率化ツールはこちら
素材が無い
オオバの中では 「エフェクト = Shuriken(ParticleSystem)」なのですが、Texture素材がないと始まりません。
Photoshopで描いて作るか、ネットから適当な参考画像を探して来るか、AssetStoreで買うか(もはや制作済み状態)、、、。
『そうだ GLSL Sandbox、行こう』
という流れで、まさにバチバチと音がなりそうな雷表現がGLSL Sandboxで見つかったので、Unityに移植して遊びます。
移植後のシェーダーコードはこちら

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

このように、ザ・ゲーム中に出てきそうな雷エフェクトができました。移植前のコードでは、マウス座標に雷の終点が追随する用になっていましたが、その辺は省いています。
まとめ
この記事含め3つのGLSL Sandboxのシェーダーを移植してきましたが、やはりPCサービスということで処理がリッチです。
今回のシェーダーも見てもらえればわかりますが、フラグメントシェーダー内に多重for文、sin, cos, length, max, min, lerp
と、いかにも重そうな処理をガンガン記述しています。
次回は、このレベルのフラグメントシェーダー処理負荷が、
モバイルで耐えられるのかを追っていこうと思います。

この記事が気に入ったらフォローしよう