LoginSignup
0
0

More than 1 year has passed since last update.

スマブラのエフェクトをUE4で作ろう!【その1】

Posted at

はじめに

・UE4のバージョンは4.27.2
・Niagaraを使って作ります

お題「ソーラーブリット」

800px-ファイター解説_ロックマン_弱攻撃.jpg

マテリアル作成

※最初なので発射時の青い光と輪みたいなのは作りません。

image.png
まずマテリアルを作ります、名前は分かりやすいように「M_SolarBullet」しました。

BlendMode と ShadingModel の設定

image.png
次に Blend Mode を「Opaque」から「Translucent」に
Shading Model を「Default Lit」から「Unlit」に変更します

image.png
「Translucent」にすることで半透明に
「Unlit」にすることでライティングの影響を受けないようにします。
煙や岩などのライティングが必要なエフェクトは「Default Lit」でいいです。

色と透明箇所の設定

image.png
確認しやすいように左上のプレビューのメッシュの形状をキューブにして
「SphareGradient-2D」ノードのをオパシティ(透明度)につないでみましょう
これだけで円形になります とても便利ですね。

image.png
さっきの状態だと色がついていないので、「Particle Color」ノードを繋いで画像の通り繋ぎましょう
「Particle Color」ノードはNiagara側で色を変えることができるノードです
色が固定なら直接色のノードを繋いでもいいのですが、バリエーションはあるに越したことはないのでこれで行きましょう。
謎の「Multiply」ノードは掛け算を行うノードで
「Particle Color」の透明 × 円の形の透明
を行うことでNiagara側で透明度を変えれるようにします。
これでマテリアルは完成です。

Niagaraシステムの作成

image.png
コンテンツブラウザーで右クリック ⇒ [FX] ⇒ [Niagaraシステム] を選択して
image.png
「空のシステムを作成」を押した後に終了でNiagaraシステムを作成します。
image.png
名前は例のごとく「NS_SolarBullet」です。

ところで「システム」「エミッター」ってなんですか?

・「エミッター」がパーティクル(粒子)を飛ばす人
・「システム」が「エミッター」を管理する人
                         みたいなイメージ持ってれば大丈夫です。

Niagaraエミッターの作成

先ほど作ったのが「エミッター」を管理する「システム」なのでまだ「エミッター」はいません。
なので、「NS_SolarBullet」をダブルクリックしてエディター開きましょう。
image.png
エディター画面になったら真ん中らへんで
右クリック ⇒ [エミッタを追加] ⇒ テンプレートの中の Empty を選びましょう。 

image.png
するとエミッターが現れ画面下のタイムラインが動き出します。(何もないけど)
ひとまずエミッターの作成は完了です。

マテリアルの適用

image.png
何かすでに似たようなマテリアルがありますが気にせずに
画像の箇所をクリックしましょう
image.png
すると画面の右側にプロパティがでるので
一番上の「Material」を作った「M_SolarBullet」に変えましょう。
パーティクルをスポーン(生成)していないのでまだ何も出ません。

パーティクルのスポーン

image.png
パーティクルがスポーンしていないので、エミッターさんにパーティクルをスポーンしてもらいましょう
[エミッターの更新]を押すとタブが出るので、「Spawn Rate」 モジュールを追加します。
image.png
モジュールを追加するとプロパティに「Spawn Rate」(1秒があたりの生成数)が変更できるので
取り合えず100くらいにしておきましょう。
位置が同じなので生成数を増やしても見分けは着きません。

「モジュール」って何?

簡単に言えば部品
  「色を変える」
  「生成する」
  「動かす」
        みたいなパーティクルに対する操作をエミッターに持たせるイメージ

パーティクルを動かそう

image.png
パーティクルを動かすためには[パーティクル更新]から「Curl Noise Force」モジュールを追加しましょう。

image.png
追加すると「前提のモジュールたりないですよ」と怒られるので問題を修正を押しましょう
Niagaraはモジュールが足りないと教えてくれる上に直してくれるので楽です。

デフォルトの値だと動きが分かりにくいので、
「Noise Strength」と「Noise Frequency」を 1000 にしましょう
image.png
わぁ~()

ソーラーブリットに近づける(1)

このままだと最後の切り札になってしまうので、
「Curl Noise Force」と、一緒に追加された「Solve Force and Velocity」を消しましょう。
「Delete」キーもしくは右クリックから削除で消せます。

そもそも一発ずつしか出てないので「Spawn Rate」を1にすればいいのではと思いますが、
「Spawn Rate」自体ループするエフェクトなどに使うモジュールなので使いません。

「Spawn Rate」を削除して代わりに「Spawn Burst Instantaneous」を追加します。
「Instantaneous」という単語ははじめて知ったのでGoogle翻訳さんに翻訳してもらいました

「瞬時にスポーンバースト」だそうです、割と伝わりますね。

image.png
SpawnCount:生成数
SpawnTime:生成までの秒数
なのでそのままで大丈夫です。

ソーラーブリットに近づける(2)

色が明らかに違うので合わせていきましょう
image.png

元からある「Initialize Particle」モジュールのプロパティを表示して
「Point Attributes」の中の「Color Mode」を「Unset」から「Direct Set」にして
それっぽい色にしましょう。
image.png

image.png
テニスボールみたいですね

ソーラーブリットに近づける(3)

色もそれっぽくなったので次は形を変えましょう
image.png

先ほどと同じく「Initialize Particle」モジュールのプロパティから
「Sprite Attributes」の中の「Sprite Size Mode」を「Unset」から「Non-Uniform」にして
image.png
このくらいでいいかな
image.png

download.jpg

ソーラーブリットに近づける(4)

いよいよ発射するときが来ました。
image.png
[パーティクルのスポーン]から「Add Velocity」を追加
image.png
警告が出るので、下の方の問題を修正をクリック
image.png
「Add Velocity」の「Velocity」のXを 500 くらいにする
Niagaraはここまで

レベル上で確認しよう

そのまま設置してもいいのですが、ループしないエフェクトのため確認しづらいです。
なのでレベルブループリントから呼び出してみましょう。
image.png
Niagaraシステムは「Spawn System at Location」ノードで呼び出すことができます。

完成!

image.png
・SileScrollTemplateを使用していたので「Add Velocity」の値をYの-500に変えました
・小さくて見えずらかったのでサイズも少し大きくしました

おわり

お疲れさまでした!まだまだ分からないことだらけだと思いますが、
エフェクトを作成する際の流れを少しでも掴めたら良いかなと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0