【Untiy道場】パーティクルエフェクト実践編に行ってきました

本日、dotsで行われた「パーティクルエフェクト実践編」に行ってきました。 今回のテーマが「エフェクト」ということでとても楽しみにしていました。 簡単ですが、ブログに書いていきたいと思います。

【Unity道場】パーティクルエフェクト実践編 - dots.[ドッツ]

なお、後日今回使用されたスライドとAssetは公開されるみたいですので、こちらが公開された場合リンクを張ります。 もしかしたら、スライドが公開された後に加筆・訂正をするかもしれません。

パーティクルエフェクト実践編

下澤さん(株式会社AGNI FLARE)

今回はエフェクト実践的な使い方の話。 以前の入門編があったみたいです。 【2/21Unity道場】パーティクル講座 // Speaker Deck

AGNI FLAREさんはエフェクト専門の会社。 Unityに限らず、色々な制作環境でエフェクトを作成しるとのこと。

ヒットエフェクト制作のブレイクダウン

今回はヒットエフェクト具体的に作成をしていきます。 エフェクトデザイナーよりの話。

ヒットエフェクト 今回ヒットエフェクトを勉強会で作成をする理由

  • 尺が短い
  • その場で確認ができる
  • ツールを覚えるのに最適
  • Unityの環境だけで作成できる
  • ほとんどのゲームで必要とされている
  • (奥深さ)がある

エフェクトの作成手順

  1. エフェクトのイメージを想定する
  2. 要素を分解する
  3. 要素毎にAssetを用意する
  4. Unityで編集する

イメージを想定(ここが一番重要)

プロジェクトによっての最適解があるので、これだ!という正解はない。

IMG 2254

具体的なエフェクトを考える方法

  • 紙と鉛筆でラフを描く
  • FlashPhotoshopで色味を描く
  • 動画を探す(既存のゲームを参考
  • ツール上をいじりながら考える。ゲーム開発の後半にはリソースがそろっているので、今あるものを組み合わせながら考える)

RoughAnimator

RoughAnimatorを App Store で iPadで利用できる RoughAnimatorというツールが便利。 前のコマが薄く表示されてパラパラアニメが書きやすい。

要素を分解する

今回のヒットエフェクトの要素は

  • フレア
  • グロウ
  • リング
  • 中心発光
  • 集中線
  • 衝撃

基本PhotoshopとAfterEffectでテクスチャを用意している。 AEのプラグインを使うことが多い。

中心発光

今回はAfterEffectのステンシルアルファ(描画モード)で重ねて必要な大きさに切り取ります。

リング

グロウをかける

グロウ

輝度を調整

集中線

AEのフラクタルノイズ(エフェクト => ノイズ)を使う 「 Knoll Unmult(プラグイン)」で黒色を抜く。 タービュレントディスプレイ(エフェクト => ディストーション)を使って均一を防ぐ。 極座標(エフェクト => ディストーション)を使って丸くさせる

衝撃

CCPowerPin(エフェクト => ディストーション):これを使うと扇形に形を変えることができる。

便利なショートカット

IMG 2256

「.」=>「m」間違いなのでこれが正解(一番下)

HierarchyでParticleSystemを選択

  • [,] : 停止
  • [.] : 再生・一時停止
  • [m] : コマ送り
  • [n] : コマ戻し

Unityで編集する

素材が揃ったら、Unityでエフェクトを作っていきます。

シェーダーはUnityにあるAdditiveで大丈夫

Additive

エフェクトはサイズ感のわかるものが近くにあればサイズ調整が便利。

初心者に有りがちなので注意点 パーティクルをアルファで消すのではなく色相の変化をつける。 光の原理では色相が遷移して消える方が、人の目に馴染みやすい。

MaxParticlesize カメラで映るエフェクトのサイズを指定できる。 パーティクルがSizeが変わらない時に、こちらを調整する。 これはカメラが近づいた時にパーティクルの大きさで画面が見えなくなるように設定されている項目。

MaxParticleSIze

Animation Curve 「Animation Curve」のkeyframeでEnterを押すと、数字で位置やValueが変更できる

Animation Curve

粒子 「Limit velocity over Lifeを後半にいくに従って減速をさせていくと自然に見える

Stretched Billboard 動いた方向へビルボードが伸びている。 マイナスの値を入れる自然に見える。

発展させる

「衝撃」のパーティクルにディティールをつくる 時間の経過で同じ絵が出るのは良くないから。

連番テクスチャをAEのparticularを使って作成する。 エフェクトビルダーが煙や炎、火花などの生成を効率化 最大30%高速化し、操作性が向上したTrapcode Particular 2.5登場:Trapcode Particular(パーティキュラー) 手書きでも連番テクスチャを作成することはできるが、枚数が多くなると作成者の癖が出てしまうので、それが目立ってしまう可能性がある。

TexturePacker

TexturePackerを使って1枚のテクスチャに落とし込む。 ソートのアルゴリズムを(Name)にする。 AEはテクスチャを連番で吐き出してくれる。 TexturePacker - Create Sprite Sheets for your game!

SubEmitter

ただこれでも衝撃の消え際が同時なのが気になる。 その場合、SubEmitterで細かい粒子を入れて上げる

立体的にしたい。 当然BillBoardを使っているので絵が変わらない。 StretchBillbordを使う。

明るい背景への対応 背景に半透明にして明るさを担保する。 その場合、他のBillBoardと表示順番はRenderのSortingfudgeを調整する。 SortingfudgeはBillBoardが重なったときにどちらを優先して出すか。 数字が大きいほど後ろ、デフォルトは0

SortingFudge

ヒット + 属性を入れたい

さらに発展

属性を入れるとヒットエフェクトが埋もれる。 falloff機能のシェダーが欲しいが、Unity標準ではない。

shader forge

Fresnelの機能を使えばできる。 switchで反転をさせている。 Meshの面がこちらを向いていると透明になる。

均一に見えない工夫

外縁にメッシュを用意する。 mayaのディフォーム、ノンリニアのBendで曲げられる。 消え際に補色をいれることで、焼き付いた感じをだす。 mayaの板ポリを放射線状に配置する。 同回転しても、均一に見えるようにメッシュを組み合わせている。

最後に

エフェクトの作成手順

  1. エフェクトのイメージを想定する
  2. 要素を分解する
  3. 各要素をどの手段で表現するかを考える
  4. 要素毎にAssetを用意する
  5. Unityで編集する

制作環境で機能が違う(Unityやその他のエフェクトツール)

IMG 2257

質問タイム

・作成した素材がどこに使われているの管理について 命名をまとめる、フォルダで管理する。

・ParticleSystemとMecanimの組み合わせについて Mecanimを組み合わせて使うのは良くない。今後出る予定があるカットシーンで対応ができるのではないか。

・トゥーンに対応したエフェクトの作成方法 難しい。

感想

今回は、今私も携わっているエフェクトの話でした。 エフェクトの作成方法に関しては大体同じ感じでしたが、やっぱりAfterEffectはとても素材作りに便利なのだなと思いました。 AfterEffectsの勉強もしなくては。

エフェクト作成というよりはParticleSystemの機能で知らないモノが多かったのが一番の収穫でした。 特にショートカット機能はとても便利と感じています。 通常の勉強会ではすぐに活かせることって少ないのですが、今回はすぐに実践できそうなモノが多かったので参加をして良かったです。

明日以降、自分でも一度ヒットエフェクトを作ってみたいと思いますので、そのときにはまたブログに書きます。

BISHAMONゲームエフェクトデザインレシピ (GAME DEVELOPER BOOKS)BISHAMONゲームエフェクトデザインレシピ (GAME DEVELOPER BOOKS)
アグニ・フレア,マッチロック,後藤 誠

秀和システム
売り上げランキング : 45546

Amazonで詳しく見る