[Departure from the Void] 爆発エフェクト作成

昨日作成した爆発スプライトを元に、爆発エフェクトを作りました。

爆発エフェクトのスプライトは以下の円形の画像です。

20170215_1

爆発のパラパラアニメーションはオーソドックスにSpriteRender.spriteに設定するスプライトを一定時間間隔で切り替える方法で実現しました。

スクリプトは以下のような感じになりました。

スプライトの切り替えは、一定時間毎に以下処理を実行させることで行いました。

インスペクタから設定されたspritesの配列を順番に参照していき、末尾要素まで参照したら自分自身のGameObjectをDestroyして消滅させています。

パーティクル使わない単純なエフェクトなので、描画負荷もかからず実装もかなり楽にできました。

一方で、C#6.0への対応ですが、以下リポジトリのものを手順に従いUnityへの適用を試みていました。

https://bitbucket.org/alexzzzz/unity-c-5.0-and-6.0-integration/downloads

結果、以下のようなエラーが出てうまくいきませんでした。

Unhandled Exception: System.TypeLoadException: A type load exception has occurred.

WARNING: The runtime version supported by this application is unavailable.
Using default runtime: v1.1.4322
The class System.Func`3 could not be loaded, used in mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

Unity5.5.0以降のバージョンでは少なくとも使用できないようです。
それ以前のバージョンは試していませんが、新しいUnityのバージョンでは上記のようなエラーが出る可能性があります。

結局C#6.0の導入は見送りにしました。
正式対応するまで辛抱強く待つことにしたいと思います。
(Null条件演算子が使えるようになる日が待ち遠しいです!)