1
0
hugo/content/blog/2023-12-09-ue5.md
2024-04-23 22:21:26 +09:00

106 lines
5.8 KiB
Markdown

+++
date = "2023-12-09"
tags = ["ue5","3d"]
title = "ue5を触ってみた7"
slug = "ue5"
+++
ue5を触って1週間が経ちました。触れない日もありましたが、今回はsword(剣)のmotion(モーション)などを作りました。
- video : [/ai/video/#ue5_ai_0005.mp4](/ai/video/#ue5_ai_0005.mp4)
やったこととしては、変身、瞬間移動、剣、そして、見た目の変更です。それぞれにテクニックがあるので順に紹介します。
この記事では、参考になるリンクを載せています。外部リンクは参考になる投稿者に限定しているので是非読んでみてください。例えば、[UE備忘録本舗](https://www.youtube.com/watch?v=0vYPkxEZEtQ)さんはとてもわかりやすく参考になる動画を投稿されている方です。
### outline、normalによる見た目の変更
今までのモデルと見比べてみるとよくわかります。左がold、右がnewです。
![](https://raw.githubusercontent.com/syui/img/master/other/ue5_ai_20231202_203956.png)
![](https://raw.githubusercontent.com/syui/img/master/other/ue5_ai_2023-12-09_16.34.39.png)
これはoutline(アウトライン)やnormal line(法線)と一般に言われているものです。
それを`overlay material`で実現しています。[blueprint](https://blueprintue.com/)を貼っておきます。
<iframe src="https://blueprintue.com/render/t1xc2azx/" scrolling="no" allowfullscreen width="100%" height="400px"></iframe>
> syuiでアカウント作ろうとしてmail間違えて認証できなくなり、再度syuiでアカウント作ろうとしたら空いてなかったので[ai](https://blueprintue.com/profile/ai/)にした...まあいいか
### 表情を変更する
表情のdefault(デフォルト)が口が半開きになっている気がするので、それを変更します。
<iframe src="https://blueprintue.com/render/38p8o_4y/" scrolling="no" allowfullscreen width="100%" height="400px"></iframe>
- [新機能の「透過オーバーレイマテリアル」でアウトラインを簡単に実装してみよう](https://www.youtube.com/watch?v=M0jKBvwmWlU)
### 瞬間移動の実装
montageからmotion warpingを使って瞬間移動をやってみましたが、障害物があると移動できないし、瞬間移動というか高速移動なだけなので、actor locationで実現しました。
`set actor location`で設定してください。
motion warpingで設定したように通知ステートでは他に様々なものを追加することができます。
![](https://raw.githubusercontent.com/syui/img/master/other/ue5_ai_2023-12-09_16.39.56.png)
- [Game Effect Portfolio 2023](https://www.youtube.com/watch?v=LCfPAmmMRNY)
### 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を作成します。
![](https://raw.githubusercontent.com/syui/img/master/other/ue5_ai_2023-12-09_16.37.18.png)
- [UE5でルートモーションを有効にしたままリターゲットをする方法](https://happynetwork2019.hatenablog.com/entry/2023/10/02/191340#:~:text=%E3%83%BB%E3%83%81%E3%82%A7%E3%83%BC%E3%83%B3%E3%83%9E%E3%83%83%E3%83%94%E3%83%B3%E3%82%B0%E3%82%BF%E3%83%96%E3%81%A7%E3%83%AB%E3%83%BC%E3%83%88,%E3%81%95%E3%82%8C%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%AA%E3%82%8B%E3%80%82)
### swordをしまう時のparticle
これは`sword_open`, `sword_close`というactor, blueprintを作成して、それを`BP_Player`のmeshに当てます。そして、`set visible`で切り替えています。
![](https://raw.githubusercontent.com/syui/img/master/other/ue5_ai_2023-12-10_00.39.01.png)
ではparticle(粒子)はどうやって実現しているのかというと`niagara`です。
- [UE5 Niagaraの基礎](https://dipross.co.jp/eng/2023/06/ue5-niagara%E3%81%AE%E5%9F%BA%E7%A4%8E.html)
![](https://raw.githubusercontent.com/syui/img/master/other/ue5_ai_2023-12-10_00.39.02.png)
### swordを振ったときのeffect
まずはboneを追加します。このboneを元にtrailというeffectをつけていくわけです。`sword-trail`は検索タグとしても有効です。effectはanim sequence(アニメ・シーケンス)で設定します。
![](https://raw.githubusercontent.com/syui/img/master/other/ue5_ai_2023-12-09_16.35.44.png)
`PSTemplate`, `Socket Name`を指定します。
![](https://raw.githubusercontent.com/syui/img/master/other/ue5_ai_20231203_203306.png)
また、niagaraで作成してもいいですね。`sword-trail-naigara`とでも検索してみてください。
- [ソードトレイル](https://www.youtube.com/watch?v=0vYPkxEZEtQ)
### swordのcharge motion
こちらはmontageを分割して、それを再生します。
<iframe src="https://blueprintue.com/render/_yz6dfib/" scrolling="no" allowfullscreen width="100%" height="400px"></iframe>
- [溜め攻撃(チャージ攻撃)の実装方法](https://www.youtube.com/watch?v=N0qLD918oy8)
### 変身など
これは`Set Skeletal Mesh Asset`で切り替えですね。