この記事はKLab Creative Advent Calendar 2019の7日目の記事になります。
こんにちは!
KLabでCGデザイナーをしているaoと申します。
少し前まで2Dアニメーション系の業務を担当しておりましたが、
今年に入ってからUnityやmayaを使用した業務を頂く機会がありまして、
現在は3Dアクションゲームのエフェクト制作業務に携わらせて頂いています。
今回は
を使って、簡単に作れる突進エフェクトの作り方を紹介します。
Unity歴、maya歴共に1年未満の私が教えるエフェクトの作り方なので、
難しいことはしません!安心してくださいね。
というわけでこんな感じのエフェクトを作ります↓
まずはテクスチャを用意しましょう。
今回用意したテクスチャがこちら。
(テクスチャサイズは256×128で作成しています。)
突進エフェクトなので、キャラクターが動いたときに出る『衝撃波』をイメージして平面のパスを切って描いていきます。
トゲの大きさがバラバラな方がそれっぽい気がします。
後々円形のメッシュに貼ることになるので、つなぎ目が目立たないようテクスチャがループするようにしておきましょう。
モデルに貼ってみたら、ちょっとイメージと違うわね...ということが良くあるので、とりあえずこんな感じかな?というところで終わりにしておきます。
何かあったら後で修正すればよいのです。
テクスチャが出来たら次はmayaでモデルを作ります。
①シリンダーを用意します。
②大きさや分割数をいじったら、上下のキャップと下半分を削除します。
③上下の頂点をそれぞれ動かして、おわん型のモデルが出来たら完成です!
先ほど作成したテクスチャをメッシュに貼り付けて見え方を確認します。
トゲの間隔を調整したい場合は、下の画像のようにUVの間隔を伸縮させてお好みの間隔に調整してください。
今回はUVを伸ばして配置した状態のメッシュを使用しました。
テクスチャとモデルがそろったのでいよいよUnityでの作業に移ります。
1と2で作成したテクスチャ素材とメッシュ素材を取り込みます。
Project上にフォルダを作成し、そこに必要な素材をまとめておきましょう。
次にMaterialを作成します。
Project上で右クリック>Create>Materialをクリックで作成できます。
作成したMaterialのshaderを設定します。
今回は発光感のあるエフェクトにしたいので、Additiveを使用しました。
Hierarchy上にParticle systemを作成します。
Hierarchy上で右クリック>Effect>Particle systemをクリックで作成できます。
続いてInspector上で作業していきます。
RendererにmeshとMaterialをそれぞれの箇所に入れます。
・Render modeを『Mesh』に変更し、先ほど作成したメッシュを入れる
・Materialも同様に先ほど作成したMaterialを入れる
このときRendererAlignmentをviewからworldに変更しておきましょう。
デフォルトで設定されているviewのままだと、どの角度から見てもメッシュの形状が一定の見え方になってしまうためです。
ParticleをZ方向に向かって衝撃波が広がるように動かしたいので、Particleの向きを画像のように設定します。
ここまでの工程で横向きの衝撃波が発生するように設定できていればOKです!
今回のエフェクトでは中央の1点から発生させたいので、デフォルトでOnになっているshapeのチェックは外しておきましょう。
※Radiusの値を限りなく0に近い値に設定することでも同じような結果を得られますが、
簡単なのでこちらの方法がおすすめです!
今回は同じ衝撃波を一度に4つ連続で発生させたいため、EmittionのBurstを使用します。
※Burst:一度にParticleを発生させたい場合に使用します。
・Time:Particleを再生してから何秒後に発生し始めるか
・Count:発生させるParticleの数
・Cycle:何回発生させるか
・Interval:発生させる間隔
一度に4つの衝撃波が発生するようになりました!
キャラクターが前に進む際に衝撃波が後ろに流れるようにしたいので、
『Velocity Over Lifetime』を以下のように設定します。
Zにマイナス値を入れることで、発生した粒が後ろに進むようになります。
勢いよく発生し、余韻を残すような動きにしたいので、今回はスケールのアニメーションを使って表現していきます。
Particleの発生時の大きさを設定します。
『Start Size』『Size Over Lifetime』を以下のように設定します。
デフォルトのLifetimeが5秒に設定されているので、今回はもう少し勢いを付けるために0.2秒に設定します。
これで一旦衝撃波が出来上がりました!
動きの緩急や大きさを調整する前と調整した後を比較するとこんな感じです。
(左:調整前、右:調整後)
モーションの長さやキャラクターの動きに合わせて衝撃波の発生タイミングや個数を調整してください。
徐々に消える動きを付けたいので、
『Color Over Lifetime』を使って時間経過と共に薄くなるように設定します。
これで突進エフェクトの完成です!
ーーーーーーーーー
いかがでしたでしょうか?
かなりざっくりな説明になってしまいましたが、作ってみようかな?と思ってくれる方がいらっしゃると嬉しいです。
エフェクトに関してまだまだ未熟な私ですが、KLabには技術力の高い先輩がたくさんいるので、今はいろんな方にお世話になりつつ自分ももっと成長して行きたいなと思っています。
もしまたこんな機会があれば、次はもう少しレベルアップした内容の記事が書けるようにしたいですね!
最後まで読んでいただきありがとうございました!
KLabのクリエイターがゲームを制作・運営で培った技術やノウハウを発信します。
合わせて読みたい
KLabのクリエイターがゲームを制作・運営で培った技術やノウハウを発信します。