Unityでアニメ調の煙パーティクル

Youtubeに8分ぐらいの動画で、Cartoon(カートゥーン)、アニメ調のパーティクルを作成するチュートリアルがあったので試してみました。この動画は8分ありますが、実際にはパラメーターをひたすら調整しているだけで、パラメーターを実際に触って変化をみるのが良かったです。

アニメ調の煙ができた!
アニメ調の煙ができた!

アニメ調の画像を用意する

エフェクトをアニメ調にするには、単純にアニメ画像を用意します。雲の場合はinkscapeなどベクター画像編集ソフトで簡単に作れます。私は絵心がないためGIMPやInkscapeをほとんど使えません。32×32のドット絵すら描けません。

今回、雲はどうやって作ったかというと、灰色と白の丸をずらして重ねただけです。Inkscapeは、ベクター画像なので、丸も綺麗に書けます。

白丸と、灰色丸をずらして重ねていくと煙ができる!
白丸と、灰色丸をずらして重ねていくと煙ができる!

色は、Unity側でパーティクル開始時に茶色っぽくして、終了時にアルファチャンネルを0にして消えるようにすればそれとなく煙のようになります。

アニメ調の画像をどうやって作ろうか悩んだのですが、実際にInkscapeなら私でも出来たのでデザインに自陣のない方も恐れず試してみるとよいです。

各種ParticleSystemのパラメータ

パラメータの設定は、自分で新規にプロジェクトを作って以下の値を、ひとつづつ設定していけば変化が分かります。各モジュールの細かい設定をしていますが、あくまでYoutube動画がいろいろ試していたので、私も同じように設定しただけです。とりあえずアニメ調パーティクルを作るだけなら、細かい設定は必要ないです。実際、各モジュールを設定する前からいい感じでした。

003

004

Inkscapeで作成した雲の画像は、Materialにしてから、ParticleSystemのRendererモジュールのMaterialに指定します。アニメ調のようにクッキリした画像を使う場合は、[Sort Mode]で調整できます。

  • [Youngest  in Front] – 生まれたての若いパーティクルを手前に表示する
  • [Oldest in Front] – 古いパーティクルを手前に表示する
  • [By Distance] – 距離で調整する

 

Texture Sheet Animation

UnityのParticleSystemでは、Texture Sheet Animationモジュールで、通常のアニメーションと同様パラパラ漫画のようにすることも可能です。キャラクターがダッシュしたり、ジャンプしたりするエフェクトの場合は、こちらを使えばよさそうです。

このプロジェクトの配布

Unity5.4

https://hajimete-program.com/games/ParticleAnimeSmoke.zip

Assets/Textures/CartoonSmoke.svgは、Inkscape用のSVGファイル(=プロジェクトファイル)です。

 

 

KTK_kumamoto様のUnityエフェクト集

Unity5のParticleSystem(Shuriken)を学習するには、人が作ったパーティクルを自分で作ってみるのが非常に効率の良い学習方法になります。今までYoutube動画を参考にパーティクルを作成していましたが、KTK_kumamoto様がゲーム開発奮闘記 で沢山のバリエーションのパーティクルを公開してくれています。すべてUnityのパッケージで作成しているので、自分でUnityのプロジェクトを新規作成して、Assetsストアのパッケージと同様に取り込むことが可能です。

 

「エフェクトサンプル集」でタグ付けされているので、そこから調べていくと、ヒットやトルネードなど様々なパーティクルが見つかります。

http://ktk-kumamoto.hatenablog.com/archive/category/%E3%82%A8%E3%83%95%E3%82%A7%E3%82%AF%E3%83%88%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E9%9B%86

 

 

 

Unity5でレーザーパーティクルを作成

KTK_kumamoto様がUnityのパーティクルを公開してくれています。今日はこのパーティクルをUnityに取り込んで、実際に自分でParticleSystemの項目を設定しながらレーザーを作成しました。

http://ktk-kumamoto.hatenablog.com/entry/2014/09/14/092400

KTK_kumamoto様のUnityパッケージでは、テクスチャ画像のタイプがAdvancedになっていましたが、通常のTextureのままでも問題ありませんでした。パフォーマンス関連の設定なのでしょうか。。。

自分でもレーザーが作れた!
自分でもレーザーが作れた!

Stretched Billboardで引き延ばせる

このレーザーでは、RendererモジュールのRander ModeをStretched Billboardにしました。これによりテクスチャを引き延ばすことができます。

002

以下のようにLength Scaleを50にすると、コーン上のスパークが右に長くなってコーン型が分かるようになっています。

003
Length scale が 50

Length scaleが10だとあまり引き延ばさないので、発射したときのエフェクトとしていい感じの仕上がりです。

004
Length scale が 10

テクスチャの重要性

このレーザーを作成するために、各3つのパーティクル用に3つのテクスチャ画像をGIMPで作りました。以下のような黒背景に放射状にグラデーションを付けて、中心に白い円を描いただけです。

実際にパーティクルを作ると、この白い円の大きさなどで結構エフェクトの見た目がかなり変わりテクスチャの重要性を再確認しました。UnityではParticleSystemのオブジェクトをHierarchyビューで選択していると再生され続けるので、GIMPで白い円を修正して、pngファイルをエクスポートして、Unityで目視確認というのを繰り返し行って調整をしました。

005

このプロジェクトの配布

Unity5.4

https://hajimete-program.com/games/ParticleLaser01.zip

Assets/Texturesフォルダー内に、png画像ファイルと、GIMPのプロジェクトファイルも入っています。

プロジェクトには、KTK_kumamoto様のファイルは含まれません。必要な場合はKTK_kumamotoのサイトからダウンロードして勉強するとよいです。