---
title: 猫でも分かる UE5.0, 5.1 におけるアニメーションの新機能について【CEDEC+KYUSHU 2022】
tags:  #ue5 #cedec+kyushu #ue-animation #ue-optimize #ue-bp #ue-physics #ue-sequencer  
author: [エピック ゲームズ ジャパン](https://convert.docswell.com/user/EpicGamesJapan)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/VJN5N46478.jpg?width=480
description: 本スライドににはGif 動画を大量に使用しているため、パワポ版 での確認を強く推奨いたします https://epicgames.ent.box.com/file/1066094333959?s=4kxbg3otcpm99roc29i1sxuwz3xbzpi6  【UE5】UE5のアニメーションに関する新機能をサクッと試せるサンプルを公開しました！ https://pafuhana1213.hatenablog.com/entry/2022/12/13/000758  講演動画 https://www.youtube.com/watch?v=FzTqrUlXg50  【講演内容】 Unreal Engine 5ではNanite, Lumen, World Partitionなど注目を集める機能が追加されましたが、実はアニメーションに関しても強力な機能・改善が多数追加されているんです！ 本講演ではそれらの基本的な知識や、それらを使うことでアニメーションの品質・制作効率、そしてワークフローがどのように変わるのかについてご紹介する予定です。UEのアニメーション機能に関する基本的な知識があることを前提としているため難易度を中辛としていますが、ご紹介する機能は便利だけでなく簡単に使えるものばかりですので是非ご参加いただけますと幸いです。 http://cedec-kyushu.jp/2022/session/28.html
published: November 16, 22
canonical: https://convert.docswell.com/s/EpicGamesJapan/ZY3PDK-UE_CEDECKYUSHU2022_UE5Animation
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/VJN5N46478.jpg)

UE5.0, 5.1 における
アニメーションの新機能について
猫でも分かる
CEDEC+KYUSHU 2022
Epic Games Japan
Kazuya Okada


# Page. 2

![Page Image](https://bcdn.docswell.com/page/YE9YRQL4J3.jpg)

本スライドにには
講演当時は隠していたものを含みます
また、Gif動画を大量に使用しているため、
講演動画またはパワポ版での確認を
強く推奨いたします


# Page. 3

![Page Image](https://bcdn.docswell.com/page/GE86WGXV7D.jpg)

自己紹介
Epic Games Japan
岡田 和也
Twitter：おかず ( @pafuhana1213 )
UEを使っている企業様への技術サポートや
勉強会などでの講演が主なお仕事
最近、ジャンプ+の「長谷川智広の帰って
きたデジタル作画奮闘記～アンリアルエン
ジン編～」という作品に数コマ出ました
©週刊少年ジャンプ編集部\集英社


# Page. 4

![Page Image](https://bcdn.docswell.com/page/LEL9NG8RJR.jpg)

はじめに
UE5関連の話題となると
大抵は以下の3つですが…
Nanite：
膨大な数のメッシュを配置可能
Lumen：
リアルタイムな
グローバルイルミネーション
World Partition：
オープンワールドなど
広大な環境を実現する機能


# Page. 5

![Page Image](https://bcdn.docswell.com/page/4JMZXQ6PEW.jpg)

アニメーション
もすごいんだぞ！！！


# Page. 6

![Page Image](https://bcdn.docswell.com/page/PJR6N8PY79.jpg)

近年のゲーム開発における課題
グラフィックが高品質になればなるほど
アニメーションの粗・違和感が
目立ちやすくなる
キャラクタの移動量・速度と
アニメーションが一致していない際に
足滑りなど
発生する


# Page. 7

![Page Image](https://bcdn.docswell.com/page/PEXMN8347X.jpg)

アニメーションの違和感への対策と問題
様々な場面・条件に対応するために
大量のアニメーションを用意しよう！
▶ 製作コスト・環境の問題
アニメーションが持つ移動・回転量によって
キャラクタの動きを完全に制御しよう！
▶ ゲームプレイ側に支障が出てくる
（調整しづらい、手触りが悪い など）
プログラミングで…いい感じに…調整して！
▶ たいへん


# Page. 8

![Page Image](https://bcdn.docswell.com/page/3EKGNKYPJD.jpg)

というなかで、求められてきた機能
違和感のない・少ない
アニメーションを
実現する機能
これまで以上の
大規模開発に耐えうる
アニメーションシステム
アセット製作コストの削減
ゲームプレイ側との両立
作業効率・柔軟性・拡張性
高パフォーマンス


# Page. 9

![Page Image](https://bcdn.docswell.com/page/L73NVZ9475.jpg)

Unreal Engine 5 で実現すること
複雑なアニメーション技術
を誰でも使える形で提供
社内外からの
フィードバックを元に
システムを大改良
社内タイトルで培われた手法
業界最先端の技術
プロシージャルアニメーション
Animation BPの柔軟・拡張性の強化
さらなるマルチスレッド化
痒かったところに手を届かせる！


# Page. 10

![Page Image](https://bcdn.docswell.com/page/87DW8RG5JG.jpg)

本講演・資料の注意点 その1
Unreal Engine（UE）のアニメーション機能の基礎を
ある程度知ってることを前提としています
想定している対象層・者
● エンジン標準のテンプレートレベルの
Animation BP（Anim BP）なら理解・実装できる
● ルートモーションを伴う
Anim Montageを使ったことがある
● アニメーション機能に直接・間接的に関わる
プログラマとアーティスト


# Page. 11

![Page Image](https://bcdn.docswell.com/page/VJP98W3DE8.jpg)

基本的な用語やAnim BPについて学びたい方へ
公式ドキュメント
● スケルタルメッシュのアニメーション システム
Dev Community
● Unreal Engine 5でのはじめてのゲーム制作
● サードパーソン キャラクタをゼロから作ってみよう
Youtube
● 猫でも分かる UE4を使ったゲーム開発 超初級編 #5
Animation ブループリントの使い方を学ぼう！
● UE4版の内容のため、
最新のものとは一部異なる可能性があります
コミュニティ
● UE5攻略 - α版 / Animation


# Page. 12

![Page Image](https://bcdn.docswell.com/page/2EVMN84GEQ.jpg)

本講演・資料の注意点 その2
紹介したい機能が大量にあり時間が全く足りないので
各機能の詳細（具体的な実装手順、各パラメータの意味など）は割愛します
機能紹介・解説の最後に
参考リンクをまとめていますので
そちらをご確認ください
もっと詳しく解説して！などありましたら
@pafuhana1213 宛にお願いします！
会場の展示ブース①にもいますので是非


# Page. 13

![Page Image](https://bcdn.docswell.com/page/57GGK5KD7L.jpg)

機能のステータスの違いに関して
実制作への
導入
動作保証
後方互換性
破壊的変更
オススメ
しません
なし
なし
あり
ベータ
慎重に
自己責任で
なし
あり
なし
Production
Ready
ぜひ！
あり
あり
なし
Experimental
実験的
Beta
正式リリース


# Page. 14

![Page Image](https://bcdn.docswell.com/page/4EQXNZNX7P.jpg)

本日のお品書き
1. Locomotion &amp; Interactions
アニメーション品質向上・制作コスト削減
1. Runtime Framework
Animation BP・デバッグ機能の強化
2. IK Rig &amp; Retargeting
フルボディIK、アニメーション流用
3. Control Rig
プロシージャルアニメーション、エンジン上でのアニメーション制作
4. 現在開発中の新機能について


# Page. 15

![Page Image](https://bcdn.docswell.com/page/KJ46G3G271.jpg)

Locomotion &amp; Interactions


# Page. 16

![Page Image](https://bcdn.docswell.com/page/LE1VD1DK7G.jpg)

Locomotion &amp; Interactions
Paragon における技術を誰でも使える形で提供
より高品質なアニメーションを実現するだけでなく
少ないデータで様々な挙動を実現することで作業コストを削減
当時の技術講演


# Page. 17

![Page Image](https://bcdn.docswell.com/page/GEWLY8YP72.jpg)

Locomotion
Interactions


# Page. 18

![Page Image](https://bcdn.docswell.com/page/47ZMX8X6E3.jpg)

Motion Warping


# Page. 19

![Page Image](https://bcdn.docswell.com/page/YJ6N4P4LJV.jpg)

UE4では…
ルートボーンの移動・回転を伴うアニメーション（Root Motion）の
補正ができなかったため、異なる環境・条件での使い回しが大変でした…


# Page. 20

![Page Image](https://bcdn.docswell.com/page/GJ55QKQMJ4.jpg)

無限に増えるアニメーションアセット
ギミックの高さ
長さ
角度
キャラの種類
低
短
-15 度
男性
中
中
0度
女性
高
長
+15 度
モンスター
…


# Page. 21

![Page Image](https://bcdn.docswell.com/page/9E2NPWPR7R.jpg)

無理やり補正するのも可能でしたが…大変！
C++でアニメーションの移動・回転情報を取得して…
それと対象オブジェクトとの位置関係を元にどのように補正するか計算して…
その他にも色々…


# Page. 22

![Page Image](https://bcdn.docswell.com/page/D7YP5L557M.jpg)

Motion Warping
対象オブジェクトとの位置・向きに応じて
アニメーションの移動・回転量を補正する機能
レベル上のオブジェクトに干渉するような動きを
かんたんに実装できるように！


# Page. 23

![Page Image](https://bcdn.docswell.com/page/VEN5N4N4J8.jpg)

アニメーションの移動・回転量を補正し、様々な条件に対応


# Page. 24

![Page Image](https://bcdn.docswell.com/page/Y79YRQR4E3.jpg)

セットアップ・実装はかんたん！
1. Motion Warpingによる補正を行う区間を設定
2. Motion Warpingによる補正のゴール位置・向きを設定
①
②
OR


# Page. 25

![Page Image](https://bcdn.docswell.com/page/G786WGWVJD.jpg)

City Sampleでの使用例
Vehicle_HeroCar_Enter_C_Montage


# Page. 26

![Page Image](https://bcdn.docswell.com/page/L7L9NGNRER.jpg)

5.1での追加・変更点 ①
移動処理の
補正形式が選択可能に
従来の線形補間では
違和感があった場面で
有効！


# Page. 27

![Page Image](https://bcdn.docswell.com/page/4EMZXQXP7W.jpg)

5.1での追加・変更点 ②
ルートボーンの移動情報が含まれていないアニメーションでも
Motion Warpingを適用できるオプションを追加
Add translation Easing FuncをCustomに設定し
Float Curveで移動処理を制御
1.0
0.0
1.0


# Page. 28

![Page Image](https://bcdn.docswell.com/page/PER6N8NYJ9.jpg)

ステータス・参考資料
ステータス
● 5.0：Experimental
● 5.1：Beta
公式ドキュメント
● モーションワープ
Youtube
● Motion Warping and Full-Body IK | Inside Unreal
● Motion Warpingでパルクールを実装する【逆引きUE】
スライド・記事
● Unreal Engine 5 早期アクセス Animation Update (p67から)
● [UE5] MotionWarping Shallow Dive


# Page. 29

![Page Image](https://bcdn.docswell.com/page/P7XMN8N4JX.jpg)

Locomotion
Interactions


# Page. 30

![Page Image](https://bcdn.docswell.com/page/37KGNKNPED.jpg)

Pose Warping
- Locomotion –


# Page. 31

![Page Image](https://bcdn.docswell.com/page/LJ3NVZV4J5.jpg)

Pose Warping
キャラクタの移動・回転速度や地面の情報に応じて
関連するボーンの動きを補正する機能
少ないアニメーションデータから幅広い表現を実現


# Page. 32

![Page Image](https://bcdn.docswell.com/page/8JDW8R85EG.jpg)

Stride Warping
- Locomotion / Pose Warping -


# Page. 33

![Page Image](https://bcdn.docswell.com/page/VEP98W8D78.jpg)

これまでの課題
複数のアニメーションをブレンドした結果が
違和感のある動き・ポーズになることがあります


# Page. 34

![Page Image](https://bcdn.docswell.com/page/27VMN8NG7Q.jpg)

極端な例ですが、歩幅と移動速度が合わない場合
歩き始めや移動速度が一定以上になると
足滑りが発生して、違和感のある動きになってしまう…


# Page. 35

![Page Image](https://bcdn.docswell.com/page/5JGGK55DJL.jpg)

違和感を軽減するのは可能ですが…大変！
アニメーションを
大量に用意…？
ブレンド率・移動速度を
細かく調整…？
それらの対応を
大量のキャラ毎に…？


# Page. 36

![Page Image](https://bcdn.docswell.com/page/47QXNZZXJP.jpg)

Stride Warping
移動速度に応じて、歩幅を調整することで
少ないアニメーションデータで、足滑りなどの違和感を軽減
Walkモーション単品に補正をかけた様子


# Page. 37

![Page Image](https://bcdn.docswell.com/page/KE46G332J1.jpg)

セットアップ・実装はかんたん！
セットアップ
足に関連する
IK・FKボーンを設定
実行中
キャラクタの
現在の移動速度を設定


# Page. 38

![Page Image](https://bcdn.docswell.com/page/L71VD11KJG.jpg)

注意点！
複数のアニメーションをブレンドした際の
違和感を軽減するのが主な用途
Walk モーションを
Run モーションとして代用するようなものではありません！


# Page. 39

![Page Image](https://bcdn.docswell.com/page/G7WLY88PJ2.jpg)

Stride Warping の 担当範囲
後述の Distance Matching が担当


# Page. 40

![Page Image](https://bcdn.docswell.com/page/4JZMX88673.jpg)

記事「Lyra アニメーションを UE5 ゲームに適応する方法について」より
再生レート / ストライド ワープの調整に対する
業界標準は、最大で 15 ～ 20% の増減幅です
これを超える値にするとビジュアル品質が
大きく低下することになるため、
足をスライドさせる方が
良いとされる場合が多いでしょう


# Page. 41

![Page Image](https://bcdn.docswell.com/page/YE6N4PPLEV.jpg)

荒ぶりを抑えるTips
Stride Scale Modifier
Stride Warpingによる補正量を
制限・補間するオプション
補正が荒ぶるときは
有効・調整するのがオススメ！
（特に、Clamp Max）


# Page. 42

![Page Image](https://bcdn.docswell.com/page/GE55QKKME4.jpg)

Orientation Warping
- Locomotion / Pose Warping -


# Page. 43

![Page Image](https://bcdn.docswell.com/page/972NPWWRJR.jpg)

これまでの課題
様々な移動方法に対応するために
各方向ごとにアニメーションを用意することに…


# Page. 44

![Page Image](https://bcdn.docswell.com/page/DJYP5LL5JM.jpg)

Orientation Warping
移動方向に応じて腰・背骨を調整することで
Blendspaceを用意しなくても、移動方向とアニメーションの向きを一致


# Page. 45

![Page Image](https://bcdn.docswell.com/page/V7N5N444E8.jpg)

セットアップ・実装はかんたん！
セットアップ
腰・足に関連する
IK・FKボーンを設定
実行中
キャラクタの
現在の移動速度・方向を設定


# Page. 46

![Page Image](https://bcdn.docswell.com/page/YJ9YRQQ473.jpg)

ぷちTips
Orienation Warpingは
待機、動き始め、ストップなどあまり効果が出ない場面では
alpha値を調整して動作しないようにすると良いです
Analyzing Lyra&#039;s Animation | Inside Unreal
1:07:46 より


# Page. 47

![Page Image](https://bcdn.docswell.com/page/GJ86WGGVED.jpg)

Slope Warping
- Locomotion / Pose Warping -


# Page. 48

![Page Image](https://bcdn.docswell.com/page/LJL9NGGR7R.jpg)

Slope Warping
地面の傾きに応じて腰・足(IK Bone)を調整。IK Boneを元に補正を行う
Leg IKノードと併用することで、Foot IKをより手軽に実現
補正前
Slope Warping
Slope Warping &amp; LegIK


# Page. 49

![Page Image](https://bcdn.docswell.com/page/47MZXQQPJW.jpg)

セットアップ・実装はかんたん！
セットアップ
腰・足に関連する
IK・FKボーンを設定
Slope Warping
Leg IK


# Page. 50

![Page Image](https://bcdn.docswell.com/page/P7R6N88YE9.jpg)

注意点
傾き情報のみを利用するため、階段や凸凹がある地面との相性は悪い
そういった環境に対応したい場合は
地面に対してレイを飛ばす手法を使う必要があります
UE5マネキン標準のFoot IK


# Page. 51

![Page Image](https://bcdn.docswell.com/page/PJXMN884EX.jpg)

ABP_Manny / CR_Mannequin_BasicFootIK
1. 左右の足でSphere
Traceを実行し、
床の高さを取得
2. 1の結果に対して
補間処理を実行
3. 足のIKボーンと
腰のボーンの
Z値を補正
4. 足と腰に対して
FullBodyIKを実行


# Page. 52

![Page Image](https://bcdn.docswell.com/page/3JKGNKKP7D.jpg)

使い分けの例（あくまで例で正解ではない）
移動中 or カメラから遠い：
ある程度ごまかせるので、
Slope Warping（低コスト）
停止中 or カメラから近い：
接地感が目立つので、
UE5マネキン版Foot IK（高コスト）
補正なし
（UE5標準 ＋ Stopアニメーション）


# Page. 53

![Page Image](https://bcdn.docswell.com/page/LE3NVZZ4E5.jpg)

やってみた
補正なし
補正あり


# Page. 54

![Page Image](https://bcdn.docswell.com/page/8EDW8RR57G.jpg)

Slope Warpingの効果
Slope Warping：無効
Slope Warping：有効


# Page. 55

![Page Image](https://bcdn.docswell.com/page/V7P98WWDJ8.jpg)

どんな実装をしたのか
雑調整…
現在の移動速度を元に、補正処理を切り替え
Slope Warping用（左）と
Sphere Trace 用（右）の
コリジョンを別々に用意


# Page. 56

![Page Image](https://bcdn.docswell.com/page/2JVMN88GJQ.jpg)

5.0ではここで話が終わりましたが…
5.1では Foot Placementノードが
FootIK機能に追加されました！


# Page. 57

![Page Image](https://bcdn.docswell.com/page/5EGGK5ZDEL.jpg)

Foot Placementノード
UE5マネキン版Foot IKと同様の機能を
1つのAnimGraphノードで提供！
● レイを使った地面の検出
● 腰のFKボーンと、足のIKボーンの制御
Control Rigのセットアップが不要になっただけでなく
強力な新機能 と 豊富な調整パラメータを提供！


# Page. 58

![Page Image](https://bcdn.docswell.com/page/4JQXNZLXEP.jpg)

Foot Placement の Lock機能
足の位置・向きを
固定する機能
キャラの向き変更時の
足滑りを防止！
足首や踵のみ固定
といった設定も可能
補正なし
（左足が滑る）
補正あり
（回転中は左足が固定）


# Page. 59

![Page Image](https://bcdn.docswell.com/page/K746G3D2E1.jpg)

セットアップ・実装はかんたん！
セットアップ
● 腰・足に関連する
IK・FKボーンを設定
オプション
● Lock, Trace設定など


# Page. 60

![Page Image](https://bcdn.docswell.com/page/LJ1VD1ZKEG.jpg)

注意点
5.1時点では Experimental 機能なので注意！
左右の足毎にレイを飛ばしている ため、
適応するキャラ数によっては処理負荷が気になる可能性も
● AnimNodeのLOD機能を使って遠距離では無効化したり、
Slope Warpingと切り替えたりなどの戦略を検討
● Foot Placement は Lock 機能だけ使って
FootIK は Slope Warpingのみを使うというのもあり


# Page. 61

![Page Image](https://bcdn.docswell.com/page/GJWLY89PE2.jpg)

Pose Warpingを使う際の注意点
Root Motion有効が前提
● ルートボーンの移動・回転量と
対象ボーンの情報を元に制御するため
● キャラ自体のTransform制御はしないため、
Montageの利用は必須ではない
一部の機能は
CharacterMovementComponentが必要
● Slope Warping、Foot Placementで利用
● 完全自作でMovementComponentを
作っている方は注意


# Page. 62

![Page Image](https://bcdn.docswell.com/page/4EZMX896J3.jpg)

各機能のまとめ
Stride Warping：
移動速度に応じて、
歩幅を補正
Orientation Warping：
移動方向に応じて、
腰と背骨を補正
Slope Warping /
Foot Placement：
床の情報に応じて、
腰と足（IKボーン）を補正
どちらもExperimental


# Page. 63

![Page Image](https://bcdn.docswell.com/page/Y76N4PKL7V.jpg)

ステータス・参考資料
ステータス
● 5.0：Beta
● 5.1：Production Ready (一部機能はExperimental)
● 要Animation Warpingプラグイン：デフォルト無効
公式ドキュメント
● ポーズワープ
Youtube
● Analyzing Lyra&#039;s Animation | Inside Unreal (1:07:46 ~)
● 【UE5マスター講座】#4 Stride Warping（歩幅の調整）と
Sync Groupを使ってLocomotionの調整を行う
● 【UE5マスター講座】#6 移動の方向に応じたアニメーションの実装方法
（横歩きや後ろ歩きなど）


# Page. 64

![Page Image](https://bcdn.docswell.com/page/G755QKPM74.jpg)

Locomotion
Interactions


# Page. 65

![Page Image](https://bcdn.docswell.com/page/9J2NPW6RER.jpg)

Distance Matching
- Locomotion –


# Page. 66

![Page Image](https://bcdn.docswell.com/page/DEYP5L95EM.jpg)

これまでの課題
キャラクタ（操作）優先：
足滑りが発生
アニメーション優先：
キャラクタの
操作感が悪くなる
両方を満たすためには
実装・アセット共に
丁寧に調整する必要あり


# Page. 67

![Page Image](https://bcdn.docswell.com/page/VJN5N4L478.jpg)

Distance Matching
アニメーションの再生速度を調整して
アニメーションがキャラクタ 側に合わせることで足滑りを軽減する機能


# Page. 68

![Page Image](https://bcdn.docswell.com/page/YE9YRQ44J3.jpg)

Distance Matchingの実例 その②
キャラクターが近づいてくる地面に向かって脚を伸ばすように
着地時の足滑りも軽減


# Page. 69

![Page Image](https://bcdn.docswell.com/page/GE86WGQV7D.jpg)

Distance Matchingの実例 その②


# Page. 70

![Page Image](https://bcdn.docswell.com/page/LEL9NGXRJR.jpg)

Distance Matchingの仕組み 1/2
キャラクタの移動情報 と アニメーションに埋め込んだ移動情報を元に
アニメーションの再生速度を動的に調整


# Page. 71

![Page Image](https://bcdn.docswell.com/page/4JMZXQLPEW.jpg)

移動情報（カーブ）の埋め込み方法
専用のAnimation Modifierを実行するだけでOK！
(事前にRootMotionを有効にする必要あり)


# Page. 72

![Page Image](https://bcdn.docswell.com/page/PJR6N8KY79.jpg)

移動情報（カーブ）の埋め込み方法
DistanceCurveModifierを実行すると、
ルートボーンの移動量がアニメーションカーブとして埋め込まれる


# Page. 73

![Page Image](https://bcdn.docswell.com/page/PEXMN8L47X.jpg)

Distance Matchingの仕組み 2/2
キャラクタの移動情報 と アニメーションに埋め込んだ移動情報を元に
アニメーションの再生速度を動的に調整


# Page. 74

![Page Image](https://bcdn.docswell.com/page/3EKGNKLPJD.jpg)

実装方法について
専用のAnimNodeが提供されているわけではなく
後述の Sequence Evaluator と Anim Node 関数を活用


# Page. 75

![Page Image](https://bcdn.docswell.com/page/L73NVZ3475.jpg)

Distance Matchingの具体的な導入手順
少し手順が複雑なので、
下記の記事にまとめました！！！
間に合いませんでした…
今年中には…書きます…申し訳ありません…
Qiita : EGJ-Kaz_Okada
急ぎの方はLyraでの実装をご確認ください！


# Page. 76

![Page Image](https://bcdn.docswell.com/page/87DW8R45JG.jpg)

ステータス・参考資料
ステータス
● 5.0：Production Ready
● 要Animation Locomon Library プラグイン：デフォルト無効
公式ドキュメント
● 距離マッチング
Youtube
● Analyzing Lyra&#039;s Animation | Inside Unreal (1:17:02~)
● 【UE5マスター講座】#3 Distance Matching（距離マッチング）を使う


# Page. 77

![Page Image](https://bcdn.docswell.com/page/VJP98WMDE8.jpg)

ここまでのまとめ
Locomotion
Interactions


# Page. 78

![Page Image](https://bcdn.docswell.com/page/2EVMN89GEQ.jpg)

ここまでのまとめ
Pose Warping
Distance Matching
Motion Warping
キャラクタの動きに
アニメーションを合わせる機能
アニメーションを補正し
キャラクタを
指定の位置・向きに動かす機能
Locomotion
Interactions


# Page. 79

![Page Image](https://bcdn.docswell.com/page/57GGK54D7L.jpg)

ここまでのまとめ
これまでは違和感が（少）ない挙動を実現するには
大量のアセットや複雑な実装作業が必要でした
UE5の新機能によってアニメーションを補正することで
少ないアニメーションデータから
高品質な挙動を実現可能に。しかも、誰でもかんたんに！
機能の大半は
Root Motionであることを前提 としています
今後アニメーションアセットを作成する際は要注意！


# Page. 80

![Page Image](https://bcdn.docswell.com/page/4EQXNZGX7P.jpg)

本日のお品書き
1. Locomotion &amp; Interactions
アニメーション品質向上・制作コスト削減
1. Runtime Framework
Animation BP・デバッグ機能の強化
2. IK Rig &amp; Retargeting
フルボディIK、アニメーション流用
3. Control Rig
プロシージャルアニメーション、エンジン上でのアニメーション制作
4. 現在開発中の新機能について


# Page. 81

![Page Image](https://bcdn.docswell.com/page/KJ46G35271.jpg)

Animation Blueprint（Anim BP）の強化
Anim BP に対して様々な新機能・変更が入り
UE4時代と比べて、拡張性・柔軟性・再利用性が大幅に向上！
●
●
●
●
●
●
●
●
●
Template Animation Blueprints
Blendspace Update
Blend Mask &amp; Blend Profile
Animation Mirroring
State Machine Update
Thread Safety
Property Access
Anim Node Functions
Sequence Evaluator


# Page. 82

![Page Image](https://bcdn.docswell.com/page/LE1VD1WK7G.jpg)

Template Animation Blueprints
- Runtime Framework -


# Page. 83

![Page Image](https://bcdn.docswell.com/page/GEWLY86P72.jpg)

Template Animation Blueprints
EventGraph・AnimGraphの実装のみができる
Skeletonに依存しない Anim BP
ボーン構成、Skeletonアセットなどが異なっていても
Anim BPにおける処理の共通化をかんたんに実現


# Page. 84

![Page Image](https://bcdn.docswell.com/page/47ZMX8Y6E3.jpg)

作り方
Anim BPアセット作成時に表示される
ダイアログから Template を選択して生成


# Page. 85

![Page Image](https://bcdn.docswell.com/page/YJ6N4PDLJV.jpg)

セットアップ
通常のAnim BPと同様に、
Anim Graph・Event Graphを構築


# Page. 86

![Page Image](https://bcdn.docswell.com/page/GJ55QK3MJ4.jpg)

セットアップ時の注意点
Skeletonに依存しないため、
アニメーションアセットを直接的に使用することは不可能
Template側ではアニメーション未指定、
またはプロパティと紐づけたSequence Playerノードを配置


# Page. 87

![Page Image](https://bcdn.docswell.com/page/LE3NVZ69E5.jpg)

ノードのプロパティをPinで公開する方法


# Page. 88

![Page Image](https://bcdn.docswell.com/page/8EDW8RV87G.jpg)

プロパティを紐づける（バインドする）方法


# Page. 89

![Page Image](https://bcdn.docswell.com/page/V7P98WVWJ8.jpg)

子Anim BP へ
Template AnimBPで実装した内容を引き継ぐ子Anim BPを作成
作成時にどのSkeletonと紐づけるかを指定


# Page. 90

![Page Image](https://bcdn.docswell.com/page/2JVMN8Z9JQ.jpg)

子Anim BP のセットアップ
子Anim BP側で実際に再生するアニメーションを設定
Template Anim BP側で用意したプロパティか、Asset Override機能を利用
Template Anim BP
子 Anim BP


# Page. 91

![Page Image](https://bcdn.docswell.com/page/5EGGK544EL.jpg)

どっちがおすすめ？
Asset Override：
Skeletonでフィルタしてくれるので
アニメーションアセットの選択が楽に。ヒューマンエラーも回避
プロパティ：
全アニメーションアセットが対象になるため、アセットの選択は大変。
対応していないSkeletonのものを選ぶなどの
ヒューマンエラーが起きる可能性も…
その代わり、実装の融通が効きます！
遅延ロード、丁寧なメモリ管理、
BP・C++から差し替えをしたいなどの場合はこちら


# Page. 92

![Page Image](https://bcdn.docswell.com/page/4JQXNZGREP.jpg)

子Anim BPのセットアップにおける注意点
Template Anim BPを継承した子Anim BPでは
Anim Graphを編集することはできません


# Page. 93

![Page Image](https://bcdn.docswell.com/page/K746G35QE1.jpg)

子Anim BP側でAnim Graphの実装を変更したい場合
Animation Layer Interface ( Linked Anim Layer )を使うことで
子Anim BP（AnimGraph）の一部 を 別Anim BPで実装した処理に差し替え可能


# Page. 94

![Page Image](https://bcdn.docswell.com/page/LJ1VD1WLEG.jpg)

特定のアニメーションを再生するだけの Anim Graphを
State Machineを使った処理に差し替え
子 Anim BP
(差し替え後)
Template Anim BP
子 Anim BP
(差し替え前)
State Machineを使った
処理の実装は別AnimBP内で


# Page. 95

![Page Image](https://bcdn.docswell.com/page/GJWLY86QE2.jpg)

参考：Lyraにおける Animation Layer 活用例
継
承
CharacterのBPに設定する
Anim BPの基底クラス
各Stateの実装は空
各 State 実装用
Anim BPの基底クラス
プロパティの中身は空
未装備
ピストル 装備中
プロパティの
設定のみを担当


# Page. 96

![Page Image](https://bcdn.docswell.com/page/4EZMX8Y3J3.jpg)

ステータス・参考資料
ステータス
● 5.0：Production Ready
公式ドキュメント
● Animation Blueprint Linking
Youtube
● Analyzing Lyra&#039;s Animation | Inside Unreal (0:58:40~)


# Page. 97

![Page Image](https://bcdn.docswell.com/page/Y76N4PDZ7V.jpg)

Blendspace Update
- Runtime Framework -


# Page. 98

![Page Image](https://bcdn.docswell.com/page/G755QK3974.jpg)

Blendspace Graph
Blendspace アセットを作成しなくても
新たに追加された Blendspace Graph ノード 単体で実装可能になりました！
従来のものは、Blendspace Player


# Page. 99

![Page Image](https://bcdn.docswell.com/page/9J2NPWZ5ER.jpg)

Blendspace Graphの各キー は AnimGraph に
アニメーション
単体だけでなく、
各AnimNodeで
制御した結果を
ブレンド可能に！
State Machineの
各State同士で
Blendするイメージ


# Page. 100

![Page Image](https://bcdn.docswell.com/page/DEYP5LR6EM.jpg)

既存のBlendspaceアセットから変換も可能


# Page. 101

![Page Image](https://bcdn.docswell.com/page/VJN5N4X178.jpg)

Blendspace Analysis (分析)
複数のアセットを
自動的に配置してくれる機能
単純に名前からではなく
ボーンの動きなどの解析結果を
元に自動配置
Blendspaceアセット専用機能で
Blendspace Graphでは使用不可


# Page. 102

![Page Image](https://bcdn.docswell.com/page/YE9YRQ8YJ3.jpg)

分析用パラメータはエディタ上で設定可能
● Blendspaceにおける
X・Y軸の役割
● 解析に使うボーン
● キャラの前・上方の軸
など
変更後に更新ボタン
即座に再解析・配置
を押すと


# Page. 103

![Page Image](https://bcdn.docswell.com/page/GE86WG8K7D.jpg)

分析用パラメータ- 軸関数
軸関数の種類を選択
分析プロパティ
（ 選択した軸関数によって変化 ）


# Page. 104

![Page Image](https://bcdn.docswell.com/page/LEL9NGRPJR.jpg)

Blendspace の 補間方式 が 選択可能に


# Page. 105

![Page Image](https://bcdn.docswell.com/page/4JMZXQR2EW.jpg)

ぷちTips
補間中に
中間の状態をスキップするためのプロパティも
移動方向に急激な変化があった際の
違和感などを軽減


# Page. 106

![Page Image](https://bcdn.docswell.com/page/PJR6N8R579.jpg)

ステータス・参考資料
ステータス
● 5.0：Production Ready
公式ドキュメント
● ブレンドスペース
● アニメーション ブループリントでの
ブレンド スペース
● ブレンドスペース分析
機能別サンプル
● Level
● AnimBP
：Animation_Basics
：2-6_ABP_BlendspaceGraph


# Page. 107

![Page Image](https://bcdn.docswell.com/page/PEXMN8RX7X.jpg)

Blend Mask &amp; Blend Profile
- Runtime Framework -


# Page. 108

![Page Image](https://bcdn.docswell.com/page/3EKGNKR9JD.jpg)

Blend Mask
各ボーンにおけるブレンド「率」のプリセット設定
部分的にブレンド処理をする際に設定を使い回せるように


# Page. 109

![Page Image](https://bcdn.docswell.com/page/L73NVZ8975.jpg)

Blend Maskの使い方・作り方
Skeleton側でBlendMaskを追加し
各ボーン毎のBlend率を設定
Layered Blend Per Bone ノード の
Blend Mode を BlendMask に変更
（ UE4ではボーンを手動で設定する形式 ）


# Page. 110

![Page Image](https://bcdn.docswell.com/page/87DW8RM8JG.jpg)

Blend Profile
各ボーンにおけるブレンド「速度」のプリセット設定
一部ボーンを速く・遅くブレンドすることで、より自然なアニメーションを実現
デフォルト設定
両脚を高速にブレンド


# Page. 111

![Page Image](https://bcdn.docswell.com/page/VJP98WRWE8.jpg)

Blend Profile の使い方・作り方
Blend Poseノード
Blend Profileの同じフロー
値が小さいほど高速にブレンド
ステート マシンの遷移
Anim Montage


# Page. 112

![Page Image](https://bcdn.docswell.com/page/2EVMN8R9EQ.jpg)

ステータス・参考資料
ステータス
● 5.0：Production Ready
● Blend Maskに関する不具合の修正が
5.1で入っています UE-162984
公式ドキュメント
● ブレンド マスクとブレンド プロファイル
● Blend ノード
● 仮想ボーン
機能別サンプル
● Level
● AnimBP
：Animation_Basics
：2-2_ABP_BlendProfiles


# Page. 113

![Page Image](https://bcdn.docswell.com/page/57GGK5M47L.jpg)

Animation Mirroring
- Runtime Framework -


# Page. 114

![Page Image](https://bcdn.docswell.com/page/4EQXNZRR7P.jpg)

Animation Mirroring
アニメーションのミラー（反転）再生をするための機能
Anim Curve, Anim Notify, Sync Marker にも対応


# Page. 115

![Page Image](https://bcdn.docswell.com/page/KJ46G38Q71.jpg)

Mirror Data Table
ミラー再生するための
骨のマッピング情報を管理
アセット作成時に
指定のSkeletonアセットから
自動的にデータを構築
●
●
●
●
Bone
Anim Notify
Curve
Sync Marker
● 不具合（UE-168448）により
手動追加のみ。5.2で修正


# Page. 116

![Page Image](https://bcdn.docswell.com/page/LE1VD12L7G.jpg)

Mirror Data Table
自動マッピングのルールは
Mirror Data Tableアセット作成時に編集可能


# Page. 117

![Page Image](https://bcdn.docswell.com/page/GEWLY8RQ72.jpg)

Mirror ノード
Anim Graphに配置したMirrorノードに
作成した Mirror Data Tableを指定すればOK
Blend Timeを利用したい場合は
Intertializationノードとの併用が必須


# Page. 118

![Page Image](https://bcdn.docswell.com/page/47ZMX8R3E3.jpg)

エディタでのプレビュー、シーケンサでの利用
Animationトラックにおける
Section のプロパティ


# Page. 119

![Page Image](https://bcdn.docswell.com/page/YJ6N4PRZJV.jpg)

ステータス・参考資料
ステータス
● 5.0：Production Ready
公式ドキュメント
● アニメーションのミラーリング
機能別サンプル
● Level
● AnimBP
：Animation_Basics
：1-2_ABP_Mirroring


# Page. 120

![Page Image](https://bcdn.docswell.com/page/GJ55QK89J4.jpg)

State Machine Update
- Runtime Framework -


# Page. 121

![Page Image](https://bcdn.docswell.com/page/9E2NPWK57R.jpg)

ステートエイリアス
- State Machine Update -


# Page. 122

![Page Image](https://bcdn.docswell.com/page/D7YP5LN67M.jpg)

ステートエイリアス
特定 または 全ての State から遷移可能な
ショートカットタイプのノード


# Page. 123

![Page Image](https://bcdn.docswell.com/page/VEN5N4V1J8.jpg)

ステートエイリアスのメリット
直接繋がなくても遷移関係を構築できるため
遷移パターンが多くても、グラフをシンプルにすることが可能


# Page. 124

![Page Image](https://bcdn.docswell.com/page/Y79YRQ6YE3.jpg)

ステートエイリアスの例


# Page. 125

![Page Image](https://bcdn.docswell.com/page/G786WGZKJD.jpg)

ステートエイリアスの例
JUMP！


# Page. 126

![Page Image](https://bcdn.docswell.com/page/L7L9NGDPER.jpg)

ステートエイリアスの例
落下中なら
Priority 2
落下中 &amp;
上に移動中なら
Priority 1


# Page. 127

![Page Image](https://bcdn.docswell.com/page/4EMZXQP27W.jpg)

ステートエイリアスの働き・設定
「遷移のルート・判定」 を 特定 または 全ての State に追加可能


# Page. 128

![Page Image](https://bcdn.docswell.com/page/PER6N815J9.jpg)

Conduits（コンジット）
Entry States
- State Machine Update -


# Page. 129

![Page Image](https://bcdn.docswell.com/page/P7XMN8YXJX.jpg)

Conduits Entry States
Entry に Conduit を接続可能に
＝ステートマシンの入り口で
複数の分岐（判定）が可能に
State Machineの
Allow Conduit Entry States を有効に
（デフォルト無効）


# Page. 130

![Page Image](https://bcdn.docswell.com/page/37KGNK39ED.jpg)

Event-based Transitions
- State Machine Update -


# Page. 131

![Page Image](https://bcdn.docswell.com/page/LJ3NVZG9J5.jpg)

Event-based Transitions
イベントを発行するだけでState間の遷移を制御できるように
遷移判定のために用意していたプロパティ・処理が不要に！
Twitterにアップした機能紹介動画


# Page. 132

![Page Image](https://bcdn.docswell.com/page/8JDW8R18EG.jpg)

State Machine Function Library
- State Machine Update -


# Page. 133

![Page Image](https://bcdn.docswell.com/page/VEP98WQW78.jpg)

State Machine Function Library
BP / C++から
StateMachineを
制御可能に
後述の
AnimNode関数にて
利用可能
通常の遷移機能では
困難・面倒な
制御をしたい場合に


# Page. 134

![Page Image](https://bcdn.docswell.com/page/27VMN8597Q.jpg)

ステータス・参考資料
各機能は全てProduction Ready！
5.0：
5.1：
● ステートエイリアス
● Conduits Entry States
● State machine function library (5.1で関数追加)
● Event-based Transitions
公式ドキュメント
● ステートマシン
Youtube
● 【UE5ゲーム制作講座】
新しくなったThidPersonTemplateのAnimationBPを見てみよう！


# Page. 135

![Page Image](https://bcdn.docswell.com/page/5JGGK564JL.jpg)

Thread Safety
- Runtime Framework -


# Page. 136

![Page Image](https://bcdn.docswell.com/page/47QXNZ4RJP.jpg)

Thread Safety
Event Graph 上の実装（の大半）がマルチスレッドで処理可能になり
複数のキャラ（Anim BP）を扱う際のパフォーマンスを大幅に改善可能！
ゲームスレッド さん1人で
1つずつ処理していたのが…
大量のワーカースレッド さんが
分担して並列処理するように！


# Page. 137

![Page Image](https://bcdn.docswell.com/page/KE46G3QQJ1.jpg)

計測環境
※ 説明のため、極端な設定にしています
環境
：UE5.1 Preview 2 、Windows、Standalone
キャラ数：50
Anim BP ：単純な計算を1000回実行
通常版
VS
マルチスレッド版


# Page. 138

![Page Image](https://bcdn.docswell.com/page/L71VD1PLJG.jpg)

計測結果 – stat unit -
Event Blueprint
：88.97ms
Update Animation
※ 60fps：約16ms, 30fps：約33ms
Blueprint Thread Safe
：8.76ms
Update Animation


# Page. 139

![Page Image](https://bcdn.docswell.com/page/G7WLY82QJ2.jpg)

計測結果 – Unreal Insights -
ゲームスレッドが
AnimBPの処理でパンパンに…
大量のワーカースレッドが
作業を分担！


# Page. 140

![Page Image](https://bcdn.docswell.com/page/4JZMX8D373.jpg)

拡大


# Page. 141

![Page Image](https://bcdn.docswell.com/page/YE6N4P1ZEV.jpg)

すごい！
どう使うの！？


# Page. 142

![Page Image](https://bcdn.docswell.com/page/GE55QK49E4.jpg)

Blueprint Thread Safe Update Animation 関数
従来のBlueprint Update Animation イベントのマルチスレッド版
キャラクタの状態（移動速度・向きなど）など頻繁に取得するものに有用


# Page. 143

![Page Image](https://bcdn.docswell.com/page/972NPWV5JR.jpg)

マルチスレッドで実行するための制限
マルチスレッド用の関数内では
スレッドセーフ対応のノード・関数のみ使用可能
非対応のものを使おうとすると、コンパイル時にエラー発生
Try Get Pawn Owner
Non-thread safe function


# Page. 144

![Page Image](https://bcdn.docswell.com/page/DJYP5L36JM.jpg)

スレッドセーフ対応のノード・関数
● スレッドセーフ対応関数の
右クリックメニューから
使用可能なノード
● UE5新機能の
Thread Safeオプションが
有効な関数
● UE5新機能の
Property Accessノード


# Page. 145

![Page Image](https://bcdn.docswell.com/page/V7N5N4K1E8.jpg)

Property Access
- Runtime Framework -


# Page. 146

![Page Image](https://bcdn.docswell.com/page/YJ9YRQVY73.jpg)

Property Access ノード
スレッドセーフ対応のGet関数ノード
Anim BP外のGet関数・プロパティも利用可能
例：
AnimBP を使用している Pawn が持つ
MovementComponent の Velocity を Get


# Page. 147

![Page Image](https://bcdn.docswell.com/page/GJ86WGPKED.jpg)

従来の処理を置き換えるとこんな感じ


# Page. 148

![Page Image](https://bcdn.docswell.com/page/LJL9NG1P7R.jpg)

Property Access ノード
自作関数も対象に含めることも可能
Pure設定が有効 かつ 出力ピン名が “ReturnValue” であることが必須
( “Return Value” は NG )


# Page. 149

![Page Image](https://bcdn.docswell.com/page/47MZXQW2JW.jpg)

AnimNodeのピンへのバインド
AnimGraphにおけるノードのプロパティに対して
直接使用することも可能。従来よりも 1.2-3x 倍高速に！（担当者からの情報）


# Page. 150

![Page Image](https://bcdn.docswell.com/page/P7R6N8Y5E9.jpg)

Anim Node 関数
- Runtime Framework -


# Page. 151

![Page Image](https://bcdn.docswell.com/page/PJXMN8GXEX.jpg)

Anim Node 関数
既存のAnim Nodeに関数を紐づけることで
Anim Graph上でも自作の関数を実行できるように！


# Page. 152

![Page Image](https://bcdn.docswell.com/page/3JKGNK497D.jpg)

Anim Node 関数のつかいかた
Anim Nodeの詳細パネルから
新規・既存の関数を紐づける（Binding）するだけでOK！


# Page. 153

![Page Image](https://bcdn.docswell.com/page/LE3NVZL9E5.jpg)

全てのAnim Nodeに対して紐づけ可能
AnimGraphで配置可能な
ほぼ全てのノードに対してAnim Node関数を紐づけ可能！
プロパティのGetノードなど がないものは対象外
…


# Page. 154

![Page Image](https://bcdn.docswell.com/page/8EDW8RN87G.jpg)

Anim Node 関数のいいところ
その1
Anim Nodeと同様にワーカースレッド上で処理可能
▶ 関数のスレッドセーフ設定を有効にする必要あり
関数の実行タイミングを選択可能（Bindingしたノードに依存）
▶ 更新処理だけでなく、初期化系の処理も実行可能
On Initial Update
● ノードの初回更新時
On Become Relevant
● ノードが実行対象になった時
On Update
● ノードの更新時


# Page. 155

![Page Image](https://bcdn.docswell.com/page/V7P98W5WJ8.jpg)

Become Relevantの実行タイミング
ノードが
実行（評価）対象になった時
Initial Updateとは異なり
複数回呼ばれる可能性あり
Log出力のみを入れた関数を
Become Relevantに登録した
場合の挙動


# Page. 156

![Page Image](https://bcdn.docswell.com/page/2JVMN8P9JQ.jpg)

全ての処理をワーカースレッドで
Anim Node 関数, Property Access,
BlueprintThreadsafeUpdateAnimation 関数 により
Event Graphを空にし、（ほぼ）全ての処理をワーカースレッドで実行可能！
LyraにおけるAnimBPでは、ゲームスレッドで動くEvent Graphの実装は完全に空！


# Page. 157

![Page Image](https://bcdn.docswell.com/page/5EGGK5P4EL.jpg)

Anim Node 関数のいいところ
その2
Anim Nodeに対しても処理を実行することが可能
従来よりも格段に柔軟性のある設計や複雑な制御を実装できるように


# Page. 158

![Page Image](https://bcdn.docswell.com/page/4JQXNZ2REP.jpg)

ボーン制御系のAnimNodeの
アルファ値を制御
ステートマシンのステート制御
他ステートへ
移行中か否かで処理分け
Distance Matching


# Page. 159

![Page Image](https://bcdn.docswell.com/page/K746G3LQE1.jpg)

他のAnimNodeを制御することも可能
Anim NodeにTagを設定すると Anim Node Reference ノードを自動生成
AnimBPの様々な箇所で参照を取得し、
そのAnim Nodeに対して制御することが可能に


# Page. 160

![Page Image](https://bcdn.docswell.com/page/LJ1VD1LLEG.jpg)



# Page. 161

![Page Image](https://bcdn.docswell.com/page/GJWLY8VQE2.jpg)

Sequence Evaluator
- Runtime Framework -


# Page. 162

![Page Image](https://bcdn.docswell.com/page/4EZMX843J3.jpg)

Sequence Evaluator
AnimNode関数で
制御することを前提としたノード
バインディングする関数内で
様々な処理を手動で設定・制御
● 再生アニメーションの指定
● アニメーションの
再生時間の更新
● 他のAnimNodeを制御
など


# Page. 163

![Page Image](https://bcdn.docswell.com/page/Y76N4P3Z7V.jpg)

関数内で全てを設定する必要はなし
一部プロパティの初期値を設定したり
ノードのピンに公開可能
初期値を設定しない場合は
Dynamic Valueに設定する必要あり


# Page. 164

![Page Image](https://bcdn.docswell.com/page/G755QKL974.jpg)

ステータス・参考資料
各機能は全てProduction Ready！
公式ドキュメント
● アニメーション ブループリントでのグラフ作成
● アニメーション変数を取得する方法
Youtube
● Analyzing Lyra&#039;s Animation | Inside Unreal (0:54:03~)
● 【UE5マスター講座】#2 マルチスレッドアニメーションと
アニメーションレイヤーを用いたLocomotionの基本の実装
ブログ記事
● UE5 Property Accessを使ってAnimBPをマルチスレッドに更新しよう


# Page. 165

![Page Image](https://bcdn.docswell.com/page/9J2NPWL5ER.jpg)

実例を見たいならLyraを見ましょう！（少し大変ですが…）
以下のABP2つにおける
各Anim Node関数の実装・用途が
非常に参考になります
● ABP_Mannequin_Base
● 位置・向き・速度などの
ステート遷移用の情報取得など
● ↓と比較するとシンプル
● ABP_ItemAnimLayersBase
● 状況に応じた再生アニメーショ
ンの選択やDistance Matching
の制御など
● ↑と比較すると複雑


# Page. 166

![Page Image](https://bcdn.docswell.com/page/DEYP5LQ6EM.jpg)

おまけ：Swap Root Bone
- Runtime Framework -


# Page. 167

![Page Image](https://bcdn.docswell.com/page/VJN5N42178.jpg)

Swap Root Bone
ルートモーションの移動・回転量を
Actor, または Componentに
反映できるようになりました！
Animation Modeを
Use Custom Modeにする必要あり


# Page. 168

![Page Image](https://bcdn.docswell.com/page/YE9YRQ1YJ3.jpg)

ここまでのまとめ
Anim BP に対して様々な新機能・変更が入り
UE4で よく怒られてた 少し不便だった部分が大幅に改善されました！
● Template Animation Blueprints
● Skeletonが異なっていても
Anim BPで組んだ処理を共通化できるように
● BlendSpace Graph &amp; Analysis
● 品質向上、一部セットアップ作業を自動化
● Blend Mask &amp; Blend Profile
● 設定の共通化、ブレンド品質の向上
● Animation Mirroring
● ミラーリングを標準でサポート
● State Machine Update
● ステートマシンを外部から制御可能に


# Page. 169

![Page Image](https://bcdn.docswell.com/page/GE86WG4K7D.jpg)

ここまでのまとめ
Event Graph上で実装していた処理の大半を
スレッドセーフ版のUpdate関数や
Anim Graphで実装できるように
ワーカースレッドで処理を並列実行するため、
複数のキャラを動かすケースで
大幅なパフォーマンス改善が期待できる！
● 扱えるスレッド数が少ない端末では効果が薄い
● キャラ単体の処理が非常に重い場合の
問題は解決できない


# Page. 170

![Page Image](https://bcdn.docswell.com/page/LEL9NG6PJR.jpg)

ここまでのまとめ
Anim Nodeで関数を実行できるようになったことで
従来よりも柔軟な設計や複雑な処理を組むことが可能に
Anim BP内・外のプロパティの取得に関しても
Property Accessという新しい仕組みが追加
UE4から大きく変わった部分が多く、
プロジェクトにおける Anim BP周辺の
設計・ワークフローを再検討することを強く推奨！


# Page. 171

![Page Image](https://bcdn.docswell.com/page/4JMZXQ52EW.jpg)

本日のお品書き
1. Locomotion &amp; Interactions
アニメーション品質向上・制作コスト削減
1. Runtime Framework
Animation BP・デバッグ機能の強化
2. IK Rig &amp; Retargeting
フルボディIK、アニメーション流用
3. Control Rig
プロシージャルアニメーション、エンジン上でのアニメーション制作
4. 現在開発中の新機能について


# Page. 172

![Page Image](https://bcdn.docswell.com/page/PJR6N83579.jpg)

AnimBPのデバッグ機能の改善


# Page. 173

![Page Image](https://bcdn.docswell.com/page/PEXMN84X7X.jpg)

Pose Watch Manager
特定のAnim Node時点のPoseを可視化できるように
どのノードが原因でアニメーションが破綻しているか？などのデバッグに有用


# Page. 174

![Page Image](https://bcdn.docswell.com/page/3EKGNKZ9JD.jpg)

Pose Watch Manager
Window→
Pose Watch Manager から
表示や色を切り替え可能
右クリックメニューから
フォルダを生成することも
公式ドキュメント
● アニメーション ノードの
リファレンス


# Page. 175

![Page Image](https://bcdn.docswell.com/page/L73NVZD975.jpg)

Rewind Debugger
巻き戻しデバッガ


# Page. 176

![Page Image](https://bcdn.docswell.com/page/87DW8RP8JG.jpg)

Rewind Debugger
アニメーション と ゲームプレイ向けの新しいデバッグ機能
記録したデータを巻き戻ししながら確認可能
巻き戻し中！
実行・操作しながら録画


# Page. 177

![Page Image](https://bcdn.docswell.com/page/VJP98WNWE8.jpg)

使用されたアニメーションを再生・巻き戻しながら確認
5.1からはグラフ形式で表示するようになりました


# Page. 178

![Page Image](https://bcdn.docswell.com/page/2EVMN8K9EQ.jpg)

5.1からは、プロパティ・カーブ・Notifyも見れるように


# Page. 179

![Page Image](https://bcdn.docswell.com/page/57GGK5Q47L.jpg)

アニメーションブレンド・AnimGraphの
パラメータ確認


# Page. 180

![Page Image](https://bcdn.docswell.com/page/4EQXNZKR7P.jpg)

アニメーションブレンド・AnimGraphの
パラメータ確認


# Page. 181

![Page Image](https://bcdn.docswell.com/page/KJ46G3PQ71.jpg)

AnimBP（AnimGraph）の巻き戻しデバッグ
Rewind Debuggerから
直接Anim BPをOpen / Debug
紐づいた状態でエディタが開き
AnimGraph・プロパティの状況を確認可能


# Page. 182

![Page Image](https://bcdn.docswell.com/page/LE1VD19L7G.jpg)

BP・AnimBPのプロパティも確認可能！


# Page. 183

![Page Image](https://bcdn.docswell.com/page/GEWLY8QQ72.jpg)

アニメーションのデバッグだけでなく
ゲームプレイやシステム部分など
様々な処理の巻き戻しデバッグが可能！
特定の条件・タイミングでしか
発生しないバグを追う際に非常に便利！


# Page. 184

![Page Image](https://bcdn.docswell.com/page/47ZMX8W3E3.jpg)

使い方
1/2
・・・
プラグインを有効にすると
使用可能に
実行中に 録画対象を選択し、
Rewind Debuggerの
から録画開始


# Page. 185

![Page Image](https://bcdn.docswell.com/page/YJ6N4PGZJV.jpg)

使い方
2/2
一時停止中のみ
録画中に 指定の
巻き戻しデバッグが可能
プロパティを録画対象に追加
Componentなどは
デフォルト非表示なので注意


# Page. 186

![Page Image](https://bcdn.docswell.com/page/GJ55QKV9J4.jpg)

ステータス・参考資料
ステータス
● 5.0：Beta
● 5.1：Production Ready
公式ドキュメント
● Rewind Debugger
Youtube
● Analyzing Lyra&#039;s Animation | Inside Unreal (1:26:10 から)
ブログ記事
● UE5 Rewind Debbugerを使ってみよう


# Page. 187

![Page Image](https://bcdn.docswell.com/page/LE3NVZD2E5.jpg)

本日のお品書き
1. Locomotion &amp; Interactions
アニメーション品質向上・制作コスト削減
1. Runtime Framework
Animation BP・デバッグ機能の強化
2. IK Rig &amp; Retargeting
フルボディIK、アニメーション流用
3. Control Rig
プロシージャルアニメーション、エンジン上でのアニメーション制作
4. 現在開発中の新機能について


# Page. 188

![Page Image](https://bcdn.docswell.com/page/8EDW8RP67G.jpg)

Position-Based IK Solver
UE4版のFBIKから実装を大きく変更することで
パフォーマンスが大幅に改善された上に
調整パラメータが減って作業効率が向上しました
ベースになった論文
Detailed Rigid Body Simulation
with Extended Position Based
Dynamics


# Page. 189

![Page Image](https://bcdn.docswell.com/page/V7P98W1ZJ8.jpg)

Position-Based IK Solver
Control Rig専用の機能なので、
Control Rigのセットアップが必要
ノードに並ぶ大量の入力ピン・プロパティと格闘する必要もあり…


# Page. 190

![Page Image](https://bcdn.docswell.com/page/2JVMN8YMJQ.jpg)

IK Rig


# Page. 191

![Page Image](https://bcdn.docswell.com/page/5EGGK59XEL.jpg)

IK Rig
IKの構築・制御に特化した新機能
専用エディタにより、セットアップや
挙動の調整が格段に楽に！


# Page. 192

![Page Image](https://bcdn.docswell.com/page/4JQXNZW5EP.jpg)

もちろん人型以外も


# Page. 193

![Page Image](https://bcdn.docswell.com/page/K746G3KVE1.jpg)

IK Rig ノード
Anim Graph で IK Rig を 利用可能
Expose 設定により、指定のIK Goalを入力ピンに公開


# Page. 194

![Page Image](https://bcdn.docswell.com/page/LJ1VD1X4EG.jpg)

どのIKを使えばいいのか？（あくまで一例）
従来のIK Node：
シンプルな制御（TwoBoneIK で十分など）
Control Rig：
様々な計算・制御が必要
（レイを飛ばして…など）
IK Rig：
FBIKを使いたい
複数のキャラで流用したい


# Page. 195

![Page Image](https://bcdn.docswell.com/page/GJWLY8NZE2.jpg)

IK Retargeter


# Page. 196

![Page Image](https://bcdn.docswell.com/page/4EZMX83LJ3.jpg)

IK Retargeter
IK Rig と専用のエディタを使って
異なるキャラクタ間でアニメーションを共有する機能


# Page. 197

![Page Image](https://bcdn.docswell.com/page/Y76N4PXM7V.jpg)

FK・IKで制御するので、ボーンの構造が異なっていても流用可能


# Page. 198

![Page Image](https://bcdn.docswell.com/page/G755QKXQ74.jpg)

オフライン・オンライン両対応
エディタ上でのアセット作成だけでなく、
リアルタイム（Runtime）でのアニメーション流用も可能


# Page. 199

![Page Image](https://bcdn.docswell.com/page/9J2NPWXWER.jpg)

ランタイム上でのリターゲット
Retarget Pose From Mesh ノード
使い方は Copy Pose From Mesh と同じ
5.1 で調整用のパラメータが追加されました


# Page. 200

![Page Image](https://bcdn.docswell.com/page/DEYP5L89EM.jpg)

Retarget Pose From Meshの負荷について
FBIKをソルバーとして使った場合、
PC環境で1体毎に約0.1ms ( ワーカースレッドで並列動作 )
ある程度であればゲームでも十分利用可能ですが
100体など大量のキャラを動かす際は要注意
IK Retargeterをバリエーション違いの
アニメーションを作るための
オフラインツールとして使うという選択肢も
Analyzing Lyra&#039;s Animation (0:48:11~)
ハイエンドPC で 計測した際の様子


# Page. 201

![Page Image](https://bcdn.docswell.com/page/VJN5N4QD78.jpg)

5.1での変更点
リターゲット元・先の
ボーン階層が確認可能に
Reference Poseを複数保存・編集できるように
（リターゲット元・先の両方共に保存・編集可能）


# Page. 202

![Page Image](https://bcdn.docswell.com/page/YE9YRQD8J3.jpg)

5.1での変更点
Global Settingsから
リターゲット後の歩幅を調整可能に
リターゲット精度向上のための
Speed Planting機能が追加
（公式ドキュメント）


# Page. 203

![Page Image](https://bcdn.docswell.com/page/GE86WG3Z7D.jpg)

Compatible Skeleton
Skeletonアセットが異なっていても
Compatible（互換性）があるから アニメーションの共有はOK！という機能
≒


# Page. 204

![Page Image](https://bcdn.docswell.com/page/LEL9NGV1JR.jpg)

使い方は簡単！
Skeletonアセット の Window -&gt; Asset Detailes の
Compatible Skeletons に Skeletonアセットを設定するだけでOK


# Page. 205

![Page Image](https://bcdn.docswell.com/page/4JMZXQG5EW.jpg)

ステータス・参考資料
ステータス
● 5.0：Production Ready
公式ドキュメント
● IK リグ
機能別サンプル
● Level：AnimationRetargeting
● BP：BP_RetargetingDifferentCharacters
Youtube
● UE5でのアニメーションの流用方法について
（スライドはこちら）
記事
● UE5のアニメーションリターゲット機能を
ハンズオン形式で解説
● IK Rigを使って接地IKを実装してみました


# Page. 206

![Page Image](https://bcdn.docswell.com/page/PJR6N8ZZ79.jpg)

本日のお品書き
1. Locomotion &amp; Interactions
アニメーション品質向上・制作コスト削減
1. Runtime Framework
Animation BP・デバッグ機能の強化
2. IK Rig &amp; Retargeting
フルボディIK、アニメーション流用
3. Control Rig
プロシージャルアニメーション、エンジン上でのアニメーション制作
4. 現在開発中の新機能について


# Page. 207

![Page Image](https://bcdn.docswell.com/page/PEXMN8917X.jpg)

Control Rig
UE5.0 から
Production Readyになりました！
なので解説したいですが
既に講演時間に全く余裕がないはず…


# Page. 208

![Page Image](https://bcdn.docswell.com/page/3EKGNKPMJD.jpg)

ControlRig 学習リンク集
公式ドキュメント
● コントロールリグ
● コントロールリグクイックスタート
● Control Rig リソースリスト
DevCommunity (日本語字幕付き)
● コントロールリグの作成と変更 Overview
● Puppeteering: Recording Animations in UE5
コミュニティ
● UE5攻略 -α版- / アニメーション / ControlRig


# Page. 209

![Page Image](https://bcdn.docswell.com/page/L73NVZX275.jpg)

UE5.1 での最新情報に関する講演
Animating in Unreal Engine 5.1 | Unreal Fest 2022


# Page. 210

![Page Image](https://bcdn.docswell.com/page/87DW8R26JG.jpg)

本日のお品書き
1. Locomotion &amp; Interactions
アニメーション品質向上・制作コスト削減
1. Runtime Framework
Animation BP・デバッグ機能の強化
2. IK Rig &amp; Retargeting
フルボディIK、アニメーション流用
3. Control Rig
プロシージャルアニメーション、エンジン上でのアニメーション制作
4. 現在開発中の新機能について


# Page. 211

![Page Image](https://bcdn.docswell.com/page/VJP98WLZE8.jpg)

まだExperimental段階で
今後色々変わる可能性ありますが、
どれも非常に強力な機能なのでご紹介！


# Page. 212

![Page Image](https://bcdn.docswell.com/page/2EVMN8QMEQ.jpg)

Physics Control Component
( Experimental )


# Page. 213

![Page Image](https://bcdn.docswell.com/page/57GGK5WX7L.jpg)

Physics Control Component
より高品質・柔軟性のある物理アニメーションを実現するための機能
Skeletal Meshの全て、または一部のみに物理挙動を付与するComponent
地面や背景との物理干渉だけでなく、特定のオブジェクトと接続することも可能


# Page. 214

![Page Image](https://bcdn.docswell.com/page/4EQXNZ357P.jpg)

ざっくりとした使い方
PhysicsControlプラグインを有効
にし、専用コンポーネントを追加
物理挙動を有効にする箇所や
各物理パラメータの設定をBPノードから


# Page. 215

![Page Image](https://bcdn.docswell.com/page/KJ46G31V71.jpg)

参考資料
機能別サンプル（5.1以降）
● Level：PhysicsControl
● BP：ExampleContent/PhysicsControl/BP
Twitter
● 開発者のDannyさんによる解説
● InuGamesさんのセットアップ例
関連講演
● Physics Animation in Uncharted 4: A Thief&#039;s End
● Physics Driven Ragdolls and Animation at EA: From
Sports to Star Wars
● Physical Animation in Star Wars Jedi: Fallen Order
● 4Gamerさんによるレポート記事


# Page. 216

![Page Image](https://bcdn.docswell.com/page/LE1VD1G47G.jpg)

AnimToTexture
( Experimental )


# Page. 217

![Page Image](https://bcdn.docswell.com/page/GEWLY8KZ72.jpg)

AnimToTexture
アニメーション情報をテクスチャにベイクすることで
アニメーション付きのStaticMeshを作成する機能
（= 頂点アニメーションの作成機能）


# Page. 218

![Page Image](https://bcdn.docswell.com/page/47ZMX8ZLE3.jpg)

City Sampleでの使用例
遠景では粗が目立ちづらいので
アニメーション付きStatic Meshに切り替え
大量の群衆を、高いパフォーマンスで表現
※ Skeletal から Staticへの
切り替わりが目立つように
群衆を5倍ぐらい増やしています
手前の30体ほどは Skeletal Mesh（赤・緑）
その他は全てInstance Static Mesh（灰色）


# Page. 219

![Page Image](https://bcdn.docswell.com/page/YJ6N4PZMJV.jpg)

ざっくりとした使い方
● AnimToTextureプラグインを有効に
● Skeletal MeshからStatic Meshを生成
● ベイク先のテクスチャも準備
● 専用DataAssetを作成し、各パラメータを設定
● プラグイン標準のBP_AnimToTextureから
テクスチャへのベイク実行


# Page. 220

![Page Image](https://bcdn.docswell.com/page/GJ55QKWQJ4.jpg)

参考資料
サンプル
● エンジン標準
● /Plugins/AnimToTexture Content/
● CitySample
● /Game/Character/Player/Male/
Meshes/SM_PlayerMale_Simplified
Youtube
● The Matrix Awakens: Creating the Characters ( 7:50～ )
ブログ記事
● [UE5]アニメーション付きSkeletalMeshのStaticMesh化
● [UE5]AnimToTextureプラグインの使い方


# Page. 221

![Page Image](https://bcdn.docswell.com/page/9E2NPWQW7R.jpg)

Motion Matching
( Experimental )


# Page. 222

![Page Image](https://bcdn.docswell.com/page/D7YP5LW97M.jpg)

Motion Matching
多数のアニメーションデータのリストとキャラクタの動きを元に
最適なポーズを自動的に選択・再生する機能
複雑なステートマシンを組まなくても、高品質な移動アニメーションを実現可能


# Page. 223

![Page Image](https://bcdn.docswell.com/page/VEN5N49DJ8.jpg)

これがノード1個だけで動く！すごい！！！
前に出ている足に応じた
Stopモーションが選択されている
検証で使用したモーション：
CLazy Runner Action Pack


# Page. 224

![Page Image](https://bcdn.docswell.com/page/Y79YRQ28E3.jpg)

Motion Database
Motion Matchingで使用するアニメーションを登録・管理するアセット
専用のエディタもあり


# Page. 225

![Page Image](https://bcdn.docswell.com/page/G786WG5ZJD.jpg)



# Page. 226

![Page Image](https://bcdn.docswell.com/page/L7L9NGY1ER.jpg)

Motion Database Config
最適なポーズを選ぶ上で必要となる
解析処理のパラメータを管理・設定するアセット


# Page. 227

![Page Image](https://bcdn.docswell.com/page/4EMZXQN57W.jpg)

BPのセットアップ
キャラクター側
Animation BP側


# Page. 228

![Page Image](https://bcdn.docswell.com/page/PER6N8DZJ9.jpg)

注意点
● Pose Searchプラグインを有効にする必要があります
● UE5.1 Preview版ではMotion Database Configの設定が正常にできません
正式リリース版にてお試しください（Channelsの追加ボタンが効きません）
● 使用するアニメーションは
全てルートモーションが有効になっている必要があります
● Animation Sequenceアセットの
Enable Root Motion, Force Root Lockを有効に
● Idle, Walk, Runなどの再生し続けるアニメーションは Loop フラグも有効に
● UE5.1 Preview 2 + α で検証してましたが、挙動が怪しい部分があったり
それなりの頻度でクラッシュします…まあExperimentalなので！


# Page. 229

![Page Image](https://bcdn.docswell.com/page/P7XMN811JX.jpg)

捕捉
&gt; Idle, Walk, Runなどの再生し続けるアニメーションは Loop フラグも有効に
UE5.1からは
Anim Sequence側でも
Loopアニメーションか否かを
設定できるようになりました


# Page. 230

![Page Image](https://bcdn.docswell.com/page/37KGNK2MED.jpg)

デフォーマー
( Beta )


# Page. 231

![Page Image](https://bcdn.docswell.com/page/LJ3NVZ42J5.jpg)

ML（機械学習）デフォーマ
MayaなどのDCCツールにあるデフォーマ（メッシュ変形）を
リアルタイム処理で再現（近似）するための機能


# Page. 232

![Page Image](https://bcdn.docswell.com/page/8JDW8RQ6EG.jpg)

5.1版の機能別サンプル - AnimationDeformerレベル -
Control Rig ドリブン
ラティス デフォーマー
デュアルクォータニオン
スキニングデフォーマー
デルタマッシュ
デフォーマー


# Page. 233

![Page Image](https://bcdn.docswell.com/page/VEP98WGZ78.jpg)

MLデフォーマの使い方
公式ドキュメント
TECH ART ONLINE
機械学習デフォーマを使用する（UE5.0） 機械学習デフォーマ（ML Deformer）を使ってみよう！
機械学習デフォーマの使用方法（UE5.1）


# Page. 234

![Page Image](https://bcdn.docswell.com/page/27VMN86M7Q.jpg)

Deformer Graph
複雑なメッシュ変形をエディタ上で作成する機能
専用のBPノードとHLSLコードを組み合わせて実装
公式ドキュメントはこちら


# Page. 235

![Page Image](https://bcdn.docswell.com/page/5JGGK5NXJL.jpg)

参考資料
機能別サンプル（5.1以降）
● Level：/Maps/AnimationDeformer
● Asset：/ExampleContent/AnimationDeformer/


# Page. 236

![Page Image](https://bcdn.docswell.com/page/47QXNZQ5JP.jpg)

Contextual Animations
( Experimental )


# Page. 237

![Page Image](https://bcdn.docswell.com/page/KE46G3NVJ1.jpg)

Contextual Animations
他のActorと連携・干渉する
アニメーションを
作成・調整するための機能
●
●
●
●
ドアを開ける
車に乗る
椅子に座る
他キャラクタを投げ飛ばす
などなど
CitySample：
/Crowd/Character/Anims/Interacts/CAS_Truck


# Page. 238

![Page Image](https://bcdn.docswell.com/page/L71VD154JG.jpg)

Contextual Animations はいいぞ！
● Motion Warping, IK制御を前提としているため、
様々なシチュエーションに対応可能！
● 位置関係などに応じて、
再生するアニメーション（セット）を自動的に選択！


# Page. 239

![Page Image](https://bcdn.docswell.com/page/G7WLY85ZJ2.jpg)

エディタの構成
制御するActorのRole名と
再生するアニメーションのセットを
エディタ上でプレビュー


# Page. 240

![Page Image](https://bcdn.docswell.com/page/4JZMX8NL73.jpg)

エディタの構成
Role毎に再生するAnimMontage、IK制御、
アニメーション選択判定に使うパラメータを設定


# Page. 241

![Page Image](https://bcdn.docswell.com/page/YE6N4P8MEV.jpg)

使用するRoleの設定
Contextual Anim
Roles Asset ( DataAsset )


# Page. 242

![Page Image](https://bcdn.docswell.com/page/GE55QK9QE4.jpg)

Contextual Animationsからの情報を元に制御


# Page. 243

![Page Image](https://bcdn.docswell.com/page/972NPW2WJR.jpg)

注意点
● Contextual Animationプラグインを有効にする必要があります
● 現状は、CitySampleにあるアセットが唯一のサンプルです
Type=ContextualAnimSceneAsset
● UE5.0だと専用エディタが立ち上がらないので
UE5.1以降でのみ試すことができます
● UE5.1 Preview 2 + α で検証してましたが、
挙動が怪しい部分があったり
それなりの頻度でクラッシュします…
まあExperimentalなので！


# Page. 244

![Page Image](https://bcdn.docswell.com/page/DJYP5LY9JM.jpg)

開発中でいろいろ変わる可能性はありますが、
どれも非常に強力な機能です！今後にご期待ください！


# Page. 245

![Page Image](https://bcdn.docswell.com/page/V7N5N4PDE8.jpg)

本講演のまとめ
UE5は レンダリング・オープンワールド周りの機能が注目されがちですが
アニメーションも凄いことになってます！
しかも、各機能はプラットフォームなどに依存しないため、
ほぼ全てのプロジェクトに恩恵あり！
違和感 が（少）ないアニメーションを
誰でも実現可能にする機能を提供
作業効率・拡張性・処理負荷など、
既存システムの様々な箇所が改善！


# Page. 246

![Page Image](https://bcdn.docswell.com/page/YJ9YRQ3873.jpg)

本講演のまとめ
これらの機能の恩恵を受けるためには
アニメーション関連の設計・ワークフローなどを
再検証・構築する必要あり
大変ではありますが、
コンテンツの完成度・パフォーマンスが
（大幅に）向上する…はずです！
今回ご紹介した新機能を
是非試してみてください！


# Page. 247

![Page Image](https://bcdn.docswell.com/page/GJ86WGMZED.jpg)

ご不明な点やリクエストなどありましたら
オフライン参加者向け：
展示ブース①にて
お待ちしております！
オンライン参加者向け：
@pafuhana1213 宛にどうぞ！
なお、DMによる質問は
基本的に受け付けていません
（他の方に情報共有されないので…！）


