この記事は夏のブログリレー35日目の記事です。
こんにちは!かっこいいエフェクト作りたいですよね。作ってみました。
今回は普段Unityで主に2Dゲームの制作をしている僕が初めて3Dのエフェクト(?)に手を出した話をします。
ちなみにこれはClaudeにお世話になりながら丸一日かけました。パラメータ調整がしんどかった。
目次
blenderMCPありがとう
さて、3Dに手を出すと決めたんですが、なんと筆者は3DCGのソフトをまともに触れません。コマッタ...
どうやら世界にはMCPというものがあるらしいです。自然言語カタカタで勝手にソフト内のAPIを叩いて良い感じにしてくれるんだとか。
今回使いたい素材は↓コイツだったので(多分)そこまで労力はかからないと思いましたが、ここで時間食うのも嫌なのでガッツリ頼りました。


こんな感じで雑にお願いしたら一瞬でやってくれました。ありがとう。

自分が求めるクオリティぐらいなら秒でお出ししてくれてすごいですね。どうなってるんだ最近のAIは。
というわけでblenderMCPとAIありがとう。
リムライトありがとう
イメージしてたのは
の形をしたエネルギー弾みたいな感じでした。
でもエネルギー感出すの難しい!ただ光らせるだけだと表面にLED付けただけっぽく見えるんですよね。

ふとスーパーゴーストカミカゼアタックのゴーストが参考になるんじゃないかと思って最近出たドラゴンボールのゲームの動画を漁ってみました。
見つけました。

ちょっと眺めて「これリムライトつけたらぽくなるんじゃね?」と思いました。なんでかはあんまわかってないです。
リムライトについてはこちら(もしかしたら↑はリムライトじゃないのかも。詳しい人がいたら教えてください。)
というわけでリムライトを実装し(てちょっと色味いじった)らこうなりました。

さっきよりなんとなくエネルギーっぽい気がします。
ドラゴンボールの気弾(特に元気玉とか)って端っこの方が白くて中心部にほんの少し寄ると色が濃くなると思うのでそういうイメージが反映されてるのかもしれないですね。
リムライトありがとう。
VFXGraphありがとう
UnityにはVFXGraphという大量のパーティクル等のVFXをノードベースで扱えるパッケージがあります。
雑にパーティクルを出していきましょう。こんなんなんぼあってもいいですからね。


パーティクルを置く事で画面の余白が少なくなってぱっと見良さそうですね。
あと雑に衝撃波も出してます。最初はテクスチャ一枚で賄うつもりでした。が、地味だったのでShaderGraphで良い感じのものを作りました。
VFXgraph(あとShaderGraph)ありがとう。

Timelineありがとう
UnityにはTimelineという機能があって、これを使う事で「一連の流れが決まっているもの」を楽に扱うことが出来ます。
Animatorという機能も似たようなこと(AnimationClipの再生)ができるんですが、これだとVFXGraphの発火のようなイベントの発火を扱うのが大変面倒です。
しかもTimelineにはVisualEffectControllTrackというVFXGraphを扱うための機能があります。最高か!

後述しますがCinemachineControlltrackという、Cinemachineカメラに対する機能もあるそう。嬉しいですね。(まぁそりゃ扱えるだろという気もしなくもないですが...)
Timelineありがとう。
Cinemachineありがとう
ここまでやりましたがまだちょっと地味です。
大体こういう時は画面揺らせば何とかなります。
UnityにはCinemachineという機能があります。超ざっくり言うとカメラに関するアレコレを良い感じにしてくれる機能です。Cinemachineを使って画面を揺らすことが出来るのでインパクト時に揺らしてみましょう。
さっきよりかなりドパくなったんじゃないでしょうか。
Cinemachineありがとう。
Unityありがとう
というわけで完成したのが冒頭の動画になります。
リッチな3Dエフェクトを目指すならUEとか触れると良いんでしょうが今回は初めて3Dに手を出したのもあって普段使い慣れてるUnityで作りました。
学びとしては
- 光ると嬉しい
- パーティクルいっぱい出てると嬉しい
- 画面揺れると嬉しい
- フレーム単位の調整がしんどい
- AnimationCurveの使い心地とAnimationClipのCurveの使い心地違いすぎないか?
などがありました。全体的にずっと嬉しかったです。Unityありがとう。
ありがとう
ここまで読んでくれてありがとうございました。
明日のブログリレー担当者は
@Mimi_year,@tobuhitodesuです!お楽しみに!