5.7 KiB
+++ date = "2024-01-29" lastmod = "2024-05-27" tags = ["ue", "m", "ue5"] title = "ue" slug = "ue" +++
ここではepic gamesのunreal engine 5の使い方をまとめます。
ブログで説明しづらい部分が多いのでblueprintueを参考にしてください。
- repo : https://git.syui.ai/ai/ue
- blueprint : https://blueprintue.com/profile/ai
ue5.4
がリリースされました。updateしてみましたが、色々と動かなくなっています。そして、前よりも頻繁に落ちるようになりました。
動かなくなった箇所は以下の通り。
- 飛行するとカメラがモデル内部に入り込む / superhero fligth animations / ABP_flying, apply additive, scale
- 飛行の上下左右の向きが反映されない / 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/model
にvrm
を入れます。インポートします。マテリアルタイプは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/hover
のlook_at
にエラーが出てるのでbone
のj_bip_c_neck
を入れます。
飛行の上下左右の向きが反映されない
飛行すると常に向きが一定になります。視点を動かしても変わりません。
通常だと、視点を下に向けると、頭も下を向いて移動しますが、それがありません。下に移動してもずっと横飛行を行います。
これは昔も見たことがある現象です。しかし、その時にどうやって修正したのか覚えていません。
これもv5.4で発生し、v5.3では発生しません。
モデルを法線で強調する
モデルのoutline(法線)を強調する設定を行います。Content/yui/model/SK_xxx
を開いてレンダリング > overlay material
で以下のマテリアルを作成して適用します。
Content/yui/model/SK_xxx