2023-12-09 / @syui

ue5 , 3d

ue5を触ってみた7

ue5を触って1週間が経ちました。触れない日もありましたが、今回はsword(剣)のmotion(モーション)などを作りました。

やったこととしては、変身、瞬間移動、剣、そして、見た目の変更です。それぞれにテクニックがあるので順に紹介します。

この記事では、参考になるリンクを載せています。外部リンクは参考になる投稿者に限定しているので是非読んでみてください。例えば、UE備忘録本舗さんはとてもわかりやすく参考になる動画を投稿されている方です。

outline、normalによる見た目の変更

今までのモデルと見比べてみるとよくわかります。左がold、右がnewです。

これはoutline(アウトライン)やnormal line(法線)と一般に言われているものです。

それをoverlay materialで実現しています。blueprintを貼っておきます。

syuiでアカウント作ろうとしてmail間違えて認証できなくなり、再度syuiでアカウント作ろうとしたら空いてなかったのでaiにした…まあいいか

表情を変更する

表情のdefault(デフォルト)が口が半開きになっている気がするので、それを変更します。

瞬間移動の実装

montageからmotion warpingを使って瞬間移動をやってみましたが、障害物があると移動できないし、瞬間移動というか高速移動なだけなので、actor locationで実現しました。

set actor locationで設定してください。

motion warpingで設定したように通知ステートでは他に様々なものを追加することができます。

montageを再生したあと元の位置に戻ってしまう

sword motion(ソード・モーション)はanim montage(アニメ・モンタージュ)を使用しているのですが、実行後に元のlocation(位置)に戻ってしまう問題がありました。

これはroot motionをenableにしたり、他の設定をやっても戻ってしまうのです。

原因はIKリターゲットしたときrootが動いていないために起こります。animationを開いてsrcとtargetを比較してみると、srcのほうはrootが動いていますが、targetのアニメは動いていません。具体的には、srcはlocationが変動しますが、targetは変動していません。

これを変動するようにしないといけないのですが、bone(ボーン)のrootを選択してFKの平行移動モードをGlobally Scaledに設定します。

これでtargetのrootが変動しているのを確認後、リターゲットし、montageを作成します。

swordをしまう時のparticle

これはsword_open, sword_closeというactor, blueprintを作成して、それをBP_Playerのmeshに当てます。そして、set visibleで切り替えています。

ではparticle(粒子)はどうやって実現しているのかというとniagaraです。

swordを振ったときのeffect

まずはboneを追加します。このboneを元にtrailというeffectをつけていくわけです。sword-trailは検索タグとしても有効です。effectはanim sequence(アニメ・シーケンス)で設定します。

PSTemplate, Socket Nameを指定します。

また、niagaraで作成してもいいですね。sword-trail-naigaraとでも検索してみてください。

swordのcharge motion

こちらはmontageを分割して、それを再生します。

変身など

これはSet Skeletal Mesh Assetで切り替えですね。