ゴマちゃんフロンティア

アザラシが大好きなエンジニアの開発日記です

【Unity】パーティクルシステムで光剣っぽいエフェクトの作成

time 2016/10/01

というわけで、仕事繁忙のため全然更新できていませんが、今回のお題はこちらです!

shot2ss20161001091241801

剣のモデルから「光の剣」のようなものを出してみました!
「武器に光が纏って強くなる」なんてシチュエーションはファンタジーなゲームでよくありますよね!
プレイヤーがこの状態になると攻撃力やリーチが上がり、見た目と相まってテンションが上がったりします。

パーティクルシステムの Renderer モジュールで、生成するパーティクルの形状を変化させることができます。
初期状態では Billborad ですが、これを Mesh にしてモデルを指定すればOKです。

このあたりはテラシュールブログさんに分かりやすく記載されております。

下準備

パーティクルのベースとなる剣のモデルを作成します。
剣といっても柄の部分は不要で、刃の部分だけそれっぽくなっていればいいので、割と適当でも問題ありません。
そんなわけで、Blender でさくっと作ってみました。

shot2ss20161001100028913

今回は専用のモデルを作りましたが、キャラクターが剣を持っている場合はそのメッシュを使ってしまっても大丈夫です。
ただし剣の刃と柄が1オブジェクトに結合されている場合、パーティクルのエフェクトに柄も反映されてしまうので注意が必要です。
専用のモデルを作ると剣の形に依存しなくもなるので、モデルの状態や作成するゲームの雰囲気に合わせて・・・といった感じでしょうか。

ベースエフェクトの作成

光の剣となるエフェクトを作成します。
新規でパーティクルシステムを作成し、パラメータを設定していきます。

shot2ss20161001092021719

shot2ss20161001092101239

ポイントはやはり Renderer モジュールのメッシュ指定です。
これを剣の位置・移動に合わせるため、 剣に近い bone の子オブジェクトに設定し微調整します。

地味に詰まった点として、RenderMode を Mesh にし、シェーダーを Particle~ 系にすると、画面上に表示されなくなってしまいました。
ProjectSettings→Player→Other Settings→Auto Graphics API for Windows にチェックを入れることで解決しました。

shot2ss20161001092242887

新規プロジェクト作成時はチェックが入っているので外れている理由が分かりませんが、Windows10 にしたから・・・かも?
7→10のアップデート時にいろいろトラブったので、関係がないとは言い切れなそうです。

shot2ss20161001093940980

出来上がったのがこちら!
ちょっと安っぽい感じはしますが、雰囲気だけならそれなりに出来ているのではないでしょうか。
マテリアルの設定とかテクスチャとか拘ればもっと見た目はよくなると思われます。

20161001_01

振り回すとこんな感じに。
見た目は剣のリーチが伸びたように見えますが、現状では攻撃判定が伴っていない詐欺エフェクトだったりします。
通常時と光剣時で攻撃判定を分ける必要がありそうです。

ちなみに剣の軌跡の部分は「X-WeaponTrail」というアセットで簡単かつ綺麗に作れます。
下の記事で紹介しています。

【Unity】アセット「X-WeaponTrail」で武器を振った時の軌跡を表示する

サブエフェクトの作成

↑だけでは寂しいので、何か適当にエフェクトを追加してみます。
関連オブジェクトをまとめるための空オブジェクトを作成し、先ほどのパーティクルを子オブジェクトとした上で追加していきます。

まず簡単にできるエフェクトとして、剣から少しオーラが出ているような見た目にしてみます。
メインエフェクトを複製し、Start Speed を少しだけ上げてみました。

shot2ss20161001095516161

もし「水の剣」など流動的なものを想定する場合は Start Speed ではなく、 Gravity Modifier を使うとそれっぽい見た目になります。
上げすぎると自己主張が強くなるので、少しだけ上げましょう。

shot2ss20161001100342543

あとちょっとしたエフェクトとして、剣の周りに粒子を出してみます。
今度は Shape を Mesh にして先程と同じ剣のモデル選択し、RenderMode は Billborad にします。
その他はデフォルトのマテリアルで適当に。

shot2ss20161001095638977

エフェクトとはちょっと違いますが、光剣という名目なのでライトが欲しいところです。
適当に PointLight を追加します。

shot2ss20161001095747584

上は Range が50、 Intensity を1.5に設定してあります。
Directional Light が効いていると微妙ですが、暗い場所なら目立つ・・・かも。

まとめ

そんなわけで、パーティクルシステムを使った光の剣 (っぽいもの) について考えてみました!
攻撃時の見栄えがかなりよくなるので、強力な攻撃の際には付けると良さそうです。

down

コメントする