1
0
hugo/content/m/ue.md
2024-05-29 11:50:40 +09:00

5.7 KiB

+++ date = "2024-01-29" lastmod = "2024-05-27" tags = ["ue", "m", "ue5"] title = "ue" slug = "ue" +++

ここではepic gamesunreal engine 5の使い方をまとめます。

ブログで説明しづらい部分が多いのでblueprintueを参考にしてください。

ue5.4がリリースされました。updateしてみましたが、色々と動かなくなっています。そして、前よりも頻繁に落ちるようになりました。

動かなくなった箇所は以下の通り。

  1. 飛行するとカメラがモデル内部に入り込む / superhero fligth animations / ABP_flying, apply additive, scale
  2. 飛行の上下左右の向きが反映されない / superhero fligth animations / ABP_flying, apply additive

今回、pluginとengineをupdateしたところ、髪の毛がモデルの内部に入り込むことがなくなりました。これによりKawaiiPhysicsが不要になりました。なお、ue5.3でもこの現象がなくなっていることを確認しています。とはいえ、modelやplugin, engineなどあらゆる依存関係が考えられるので、あくまで個人的なケースです。

ue5.4で最初から構築した手順を記録します。

vrm4u + superhero fligth animations

まずはvrmを動かせるようにします。基本的なコントローラーはsuperhero flight animationsを使用します。

ai.vrmをimportするとして重要なファイルは以下の通り。

# c:/project/yui

Content
├─SuperheroFlight
│    ├─Blueprints/Characters/BP_Player_UE5
│    └─Characters/Mannequins/Animations/ABP_Player_UE5
└─yui
    ├─BP_Player_ai
    ├─anim
    │   └─ABP_Player_ai
    └─model
        ├─SK_ai
        └─RTG_ai

Pluings
    └─VRM4U

まずContent/yui/modelvrmを入れます。インポートします。マテリアルタイプはsubsurfaceを使用します。

Content/yui/model/RTG_xxxを開きます。

ソースにSuperheroFlightのモデルを選択して、調整します。アニメが動くか確認してください。ポーズも重要です。

ABP_Player_UE5を右クリックしてリターゲティングします。先ほど設定したRTG_xxxを指定してください。すべてのアニメを選択してリターゲティングを実行。Content/yui/animに保存します。そこにABP_Player_xxxができます。ファイルの名前と場所はできる限り変更しないでください。バグって動かなくなり、再度リターゲティングしても動かないanimが生成されます。こうなるとvrmをインポートしなおさなければなりません。

  • Content/yui/anim/ABP_Player_xxx

v5.3では一括で全てリターゲティングできなかったのでanimを探して一つずつやっていました。これがasset側の変更かengine側の変更かはわかりません。

次にContent/SuperheroFlight/Blueprints/Characters/BP_Player_UE5を複製して、Content/yui/BP_Player_xxxを作ります。そこでABP_Player_xxxを読み込むようにします。MapのGameModeでContent/yui/BP_Player_xxxを使うようにします。

Content/SuperheroFlight/Blueprints/Characters/BP_Player_UE5 -> Content/yui/BP_Player_xxx

ここでそれぞれのアニメーションを当てておきます。

飛行するとカメラがモデル内部に入り込む

再生してみると飛行が正常に動きません。カメラがモデル内部に移動します。これはscaleが間違っているためです。apply additiveが原因でそこのscaleを変更すると回避できます。

また代わりにblend bone by channelを使用することでも回避できます。

これはv5.4で発生し、v5.3では発生しません。

  • Content/yui/anim/ABP_Player_xxx

また、flying > flying state machine -> idle/hoverlook_atにエラーが出てるのでbonej_bip_c_neckを入れます。

飛行の上下左右の向きが反映されない

飛行すると常に向きが一定になります。視点を動かしても変わりません。

通常だと、視点を下に向けると、頭も下を向いて移動しますが、それがありません。下に移動してもずっと横飛行を行います。

これは昔も見たことがある現象です。しかし、その時にどうやって修正したのか覚えていません。

これもv5.4で発生し、v5.3では発生しません。

モデルを法線で強調する

モデルのoutline(法線)を強調する設定を行います。Content/yui/model/SK_xxxを開いてレンダリング > overlay materialで以下のマテリアルを作成して適用します。

  • Content/yui/model/SK_xxx

blueprintue.com