Unityでエフェクトを作ってみよう!無料のおすすめエフェクトも紹介

Unityでエフェクトを使ってみたいけど方法がよくわからない…
無料で使えるおすすめのエフェクトがあったら知りたい

Unityでゲームを製作していると爆発や雷などを表現したくなる時があるかと思います。そんな時に必要となる技術がエフェクトです。

こんちには!侍エンジニア編集部です!エフェクトは視覚的な演出でよく使われる技術で、さまざまなエフェクトの種類が用意されています。

この記事ではエフェクトの使い方やオススメのエフェクトを知りたい方のために、以下の内容について解説していきます。

  • エフェクトとは
  • エフェクトの作り方
  • 無料で使えるおすすめのエフェクト

Unityのエフェクトについてわかりやすく解説していくのでぜひ参考にしてください。

目次

エフェクトとは

そもそもエフェクトとは『effect』と表記する英単語のことで、『効果』という意味を持ちます。そこから転じてゲームで使われる場合は『視覚演出』という意味合いで使われることが多いですね。

視覚演出というと少し難しく感じますが、RPGの魔法で使われる炎や雷などの演出を思い浮かべていただけるとわかりやすいと思います。他にも敵を倒した時に爆発させたり、剣と剣がぶつかった時に火花を散らしたりなどの表現はエフェクトにより成されます。

このようにエフェクトはゲームの至る所で使われています。クオリティの高いゲームを作りたい人には必須の要素ですね。

エフェクトを使用する場合、以下の2つの方法がありますのでそれぞれ紹介していきます。


エフェクトを使用する場合

  • エフェクトを自作する
  • 他の人が作ったのを使わせてもらう

という二つの方法があるので、それぞれ紹介していきます。

エフェクトの作り方

それでは簡単なエフェクトを自作してみましょう。今回は爆発のエフェクトを作ってみたいと思います。

unityでエフェクトを作るにはパーティクルを追加する必要があります。

GameObject > Effects > Particle Systemで追加しましょう。

次に爆発らしさを表現するためにパーティクルにマテリアルを設定します。

今回はスタンダードアセットに含まれているマテリアルを使いましょう。
スタンダードアセットはAssets > Import Package > ParticleSystemsで取り込むことができます。

取り込んだらパーティクルにParticleFireballというマテリアルを設定します。

パーティクルを選択した状態でRenderer > Material > ParticleFireballといったように設定しましょう。

これでパーティクルが爆発しているようなマテリアルになりました。

この状態だとパーティクルが上に向かって移動しています。中心型全体に向けて移動させた方がより爆発らしいので形状を変えましょう。

パーティクルを選択した状態でShapeのプロパティである『Shape』をSphereに変更します。

これで中心から全体に向けて移動するようになりましたね。

爆発は一瞬ですので、一度にパーティクルを放出する必要があります。パーティクルシステムオブジェクトを選択した状態でEmissionのRate over Timeを0にし、Countを好きな数にしましょう。

私はCountを500に設定しました。

Rate over Timeというのは何秒かけて全てのパーティクルを放出するかの設定になります。例えば100に設定した場合は100秒かけて全てのパーティクルを放出するので、少しずつ放出します。

今回は0に設定しているので0秒で全てを放出、つまりいっぺんに放出するという設定です。

Countは放出するパーティクルの数です。ですので、数値を多くすればより派手な演出になります。

私は500にしたので500パーティクルが放出されます。Emissionを変更した結果このようになりました。

だいぶ爆発らしくなってきましたね!

次は爆発する時間が長いので、少し短くしてみましょう。

DurationとStart Lifetimeを2に変更します。

Durationはパーティクルの残存時間、Start Lifetimeは次のパーティクルが放出されるまでの時間になります。

まだ改良する部分があります。爆発は最初の勢いが一番強く、だんだんと外へ行くにしたがって弱くなりますよね。

次はその部分を表現していこうと思います。そのためにSize Over Lifetimeを使いましょう。

Size Over Lifetimeは時間の経過と共にサイズがどうなるかを設定します。

Size Over Lifetimeにチェックを入れて、サイズを右肩下がりになっている図に変更しましょう。

最後に爆発が少しずつ力を失っていく様子を表現しましょう。

Limit Velocity Over Lifetimeにチェックを入れ、Speed を1に、Dampen を1に変更します。

Limit Velocity Over Lifetimeというのはパーティクルの速度を制限する設定です。

Speedはパーティクルの速度の上限、Dampenは上限を越した場合どれくらいの割合で速度を低下させるかを設定できます。

これでとりあえず完成です!

結果をみてみましょう。

クオリティは微妙ですが、心なしか爆発らしくなりましたね。色々いじってみてオリジナルの爆発を作ってみましょう!

無料で使えるおすすめのエフェクト

エフェクトを自作するのは楽しいですが作るのに時間がかかったり、経験が足りていない場合はクオリティが低いなどの難点があります。

ですので、手軽にクオリティの高いエフェクトを使いたい場合は人が作ったものを使わせてもらいましょう。ここでは無料で使えるエフェクトをいくつか紹介します。

どれもアセットストアで手に入るものなのでインポートして使いましょう。

Fx Explosion Pack

https://assetstore.unity.com/packages/vfx/particles/fire-explosions/fx-explosion-pack-30102

先ほど作ったものよりもはるかにクオリティの高いものが使えます。

Water FX Pack

https://assetstore.unity.com/packages/vfx/particles/environment/water-fx-pack-19248

雨や蒸気のようなエフェクトを使えます。特に雨のエフェクトは非常にクオリティが高く、本物の雨のようですね。

DL Fantasy RPG Effects

https://assetstore.unity.com/packages/vfx/particles/dl-fantasy-rpg-effects-68246

RPGゲームの魔法に使えそうなエフェクトです。

Cartoon FX Free

https://assetstore.unity.com/packages/vfx/particles/cartoon-fx-free-109565

これもRPGゲームで使えそうなエフェクトが集まっています。

FX FumeFx

https://assetstore.unity.com/packages/vfx/particles/fire-explosions/fx-fumefx-21245

最後に爆発系のエフェクトを紹介しておきましょう。

まとめ

いかがでしたか?エフェクトの自作やオススメのエフェクトについて扱ってきました。

この記事を読んで、少しでもエフェクトについての理解が深まったなら幸いです。

この記事を書いた人

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。侍テック編集部では技術系コンテンツを中心に有用な情報を発信していきます。

目次