I From Japan Staff Blog

I From Japan の開発者ブログです

UE4で剣の軌跡をいい感じに出す

 

blog.i-fromjapan.com

 

 

お久しぶりです。よしたわらです。

 

最近なかなか忙しくて全然ブログを更新できていませんでした。

 

 

もし、何か実装方法が知りたいプログラムがあれば随時対応するので連絡してください!

Skypeとかで、画面共有しながらとかでも大丈夫です。

 

 

 

それでは、本日は

 

Unreal Engine 4 で剣の軌跡をいい感じに出す方法です。

 

f:id:YoshiakiNakamichi:20161115011935p:plain

www.youtube.com

ネットで調べても具体的な実装方法が書いていなかったのですが、必要となる知識自体は基本的なことなので、それを組み合わせることで実装できます。

 

 

僕のゲームの場合では様々な武器が出てくるので、いろいろなパターンに対応できるように作っていますが、武器が一つだけの場合はもう少し簡単に実装できます。

 

まずは軌跡を出すベースを作ります。

f:id:YoshiakiNakamichi:20161115002529p:plain

 

 

ただの長方形です(スケルタルメッシュで読み込んでください)

 

 

作るのがめんどくさい人はUE4上でMerge ActorをしてReimportすれば直ぐにできます。

 

 

 

コイツにソケットを2つつけます。

 

f:id:YoshiakiNakamichi:20161115002758p:plain

 

 

この画像ではソケットが4つついていますが、上辺と下辺に一つづつで大丈夫です。

 

 

このソケットの位置が剣の軌跡の始まりと終わりになります。

 

一つの武器だけで実装したい方はその武器に直接ソケットをつけるだけです。

 

 

 

次に軌跡のエフェクトのためのマテリアルを作ります。

 

 

ネットにある軌跡のためのマテリアルと光の屈折のマテリアルの合体です。

 

www.youtube.com

 

 

Unreal Engine | マテリアル エディタ - 屈折の操作ガイド

 

 

僕自身マテリアルは初心者なのでもっといいやり方があるかもしれないです!

 

 

ちなみに上の2つ読めばもっと細かい事が設定できると思います!

 

 

まずは軌跡用のテクスチャを作っていきます。

 

 

f:id:YoshiakiNakamichi:20161115004525j:plain

 

 

 

テクスチャの下の方が剣先のエフェクトになるので上に行くほど線の面積を伸ばしたテクスチャを用意してください。

 

この画像をダウンロードしてもらえればそのままのサイズで使えます。

 

マテリアルの設定を以下のようにします

 

f:id:YoshiakiNakamichi:20161115005303p:plain

 

 

そして以下のようにつなげます。

 

f:id:YoshiakiNakamichi:20161115003426p:plain

 

黄色のノードは Constant 3 Vector で数字が一つだけ書いているノードはキーボードの1を押しながら右クリックすると出てきます。

LerpはLをおしながら右クリックです。

 

 

ノーマルマップいい感じに凸凹してたらなんでもいいです。

 

 

このマテリアルでエフェクトを作っていきます。

 

f:id:YoshiakiNakamichi:20161115005105p:plain

 

 

AnimTrailDataに設定します。

オレンジの所を右クリック→タイプデータで設定できます。

 

f:id:YoshiakiNakamichi:20161115005557p:plain

 

このInitial VelocityをDeleteで消去してください。

 

 

 

 

 

 

 

SpawnのConstantの値を大きくすればするほど軌跡が滑らかになります

 

f:id:YoshiakiNakamichi:20161115005650p:plain

 

 

Lifetimeの2つの数字が軌跡が残る時間です。

f:id:YoshiakiNakamichi:20161115005832p:plain

 

 

 

 

 

先程、スケルタルメッシュで読み込んだ長方形のアニメーションを開きます。

f:id:YoshiakiNakamichi:20161115010248p:plain

 

フレーム数をを右クリックで1まで減らします。

 

 

f:id:YoshiakiNakamichi:20161115010418p:plain

 

通知のところにTrailのステートを追加してください。

 

 

f:id:YoshiakiNakamichi:20161115010541p:plain

 

 

ステートのデータの中にエフェクトを設定して、先程追加したソケットの名前を打ち込みます。

 

 

これで剣の方の設定はおしまいです。

 

武器のブループリントに先程の長方形をうまいこと置いて、マテリアルでメッシュだけ透明にします。

 

f:id:YoshiakiNakamichi:20161115010833p:plain

 

 

 

 

そしてブループリント内でTickを使って攻撃しているかどうかを判断して

先程のアニメーションを設定します。(AnimNotifyを使っています)

AnimNotifyについては過去の記事を参考にしてください

 

f:id:YoshiakiNakamichi:20161115011305p:plain

 

止めるときはStopです。

 

 

これで軌跡が表示されたと思います。

 

少し色をつける場合はマテリアルのエミッシブを色にしたり

もう一つエフェクトを追加したりしてください。

 

 

f:id:YoshiakiNakamichi:20161115011641p:plain

 

 

軌跡の薄さを改善する方法が思いつかなかったのでアニメーションの所でTrailを2つ再生する事で今のところはごまかしています。

 

上に上げたEpic Games公式のドキュメント2つの組み合わせなのでわかりにくいところや詳しく知りたい場合はそちらも確認してみてください。

 

blog.i-fromjapan.com