SlideShare a Scribd company logo
1 of 154
Download to read offline
UE4勉強会 in 大阪
もっとアニメーションBP
自己紹介
● Twitter: com04
● ゲームプログラマー
● 最近は機能検証と試作
● 横浜×酒×UE4
2
自己紹介
● マーケットプレイスに出品しました
− ComMaterialTools
● https://www.unrealengine.com/marketplace/commaterialtools
● マテリアル検索の便利ツール
● 過去スライド
− マテリアル基礎・初級
● https://www.slideshare.net/com044/ue4-80326829
− UE4でのチーム製作
● https://www.slideshare.net/com044/4ue4-in-ue4
− エンジンの内部挙動について
● https://www.slideshare.net/com044/ue4-in
3
事前情報
● 今回は個人的なアニメーションBPの組み込みについて
の話になります
○ UE4における最適解ではありません
○ ゲームジャンルや規模によっても多々変わることがあると思
います
○ 参考の一例としてください
● 前回:UE4勉強会 in 大阪 - アニメーションBP基礎
○ https://www.slideshare.net/com044/ue4-in-91056422
事前情報
● スライド枚数は多いですが、操作方法の手順説明が多
いので増えています
● スライドでBP等の構築を説明するより、動画とかwebページで纏めて設定方法
を説明するべきな気がしてきた...
もくじ
● アニメーションBPを作る前に
○ スケルトン
○ 設計
● 基本動作
○ Idle / Run / Jump
● Montageによる攻撃コンボ
○ ダメージ処理
● 敵の方を向く
● 髪等の物理(Immediate Physics)
● 接地 パーティクル / サウンド
● 発展 version: UE4.19.2
アニメーションBPを作る前に
アニメーションBPを作る前に
スケルトン
アニメーションBPを作る前に - スケルトン
スケルトンに対してアニメーションBPを作る
スケルトンに対してアニメーションBPを作る
 → 異なるスケルトンに対しては同じアニメーションBPを適
用できない
アニメーションBPを作る前に - スケルトン
アニメーションBPを作る前に - スケルトン
スケルトンに対してアニメーションBPを作る
 → 異なるスケルトンに対しては同じアニメーションBPを適
用できない
  → 同じようなキャラが10人登場する場合どうする?別々
にアニメーションBPを10個作る?
アニメーションBPを作る前に - スケルトン
スケルトンに対してアニメーションBPを作る
 → 異なるスケルトンに対しては同じアニメーションBPを適
用できない
  → 同じようなキャラが10人登場する場合どうする?別々
にアニメーションBPを10個作る?
   → 変更が入ったら大変
実装変更
書き換え!
書き換え!
アニメーションBPを作る前に - スケルトン
スケルトンを共有する
→ 複数キャラクターでアニメーションBPを使い回せる
アニメーションBPを作る前に - スケルトン
スケルトンの共有について、Epic Games Japanの岡田さ
んが凄く詳しい資料を作成してくれています!
● 猫でも分かる UE4のAnimation Blueprintの運用につ
いて
○ https://www.slideshare.net/EpicGamesJapan/ue4animation-blueprint
アニメーションBPを作る前に - スケルトン
指針
● ほぼ同じアニメーションBPになるキャラクターはスケル
トンを共有する
○ アニメーションのアセットが別でも問題ない
アニメーションBPを作る前に
設計
アニメーションBPを作る前に - 設計
キャラクターBPとアニメーションBPの処理分け
● どこからどこまでキャラクターBPでやって、アニメーショ
ンBPとやり取りするのか
アニメーションBPを作る前に - 設計
今回の設計
● 設計に関してはプロジェクトに依る所が一番大きい所な
ので、「それは違う」とか多々あるかと思います
● 今回のプロジェクトで実装した設計の内容になります
アニメーションBPを作る前に - 設計
今回の設計
● キャラクターBPからアニメーションBPに状態/情報を投
げる
● アニメーションBPは情報を受け取って、それに応じたア
ニメーションを再生する
BP
各種計算
Anim BP
渡された情報
からアニメー
ション
アニメーションBPを作る前に - 設計
● アニメーションBPの中で極力状態を操作しない
○ アニメーションBPで状態を操作すると、そのシーン専用のアニ
メーションBPになってしまう
■ バトル中、カットシーン、メニューで別々のアニメーションBP作る?出来
るだけ共通化したい
● ボタン押したら攻撃モーション開始
● 移動/ジャンプ等動いている状態から変数設定
● 敵の方を向く、IK有り設定
バトル中
● 演出で攻撃モーション開始
● 変数設定無し
● 敵の方は向かない、IK無し設定
メニュー中 アニメーション再生
アニメーションBP
基本動作
基本動作
下記は巻末資料に
※ループアニメーションをOFFにする方法
→ 参考資料ページ
※ステートマシーンでStateの再生が終わったら自動的に
次に遷移する方法
→ 参考資料ページ 自動遷移
基本動作
Idle(待機モーション)
基本動作 - Idle(待機モーション)
先ずは空っぽのアニメーションBPなので、まず待機モー
ションを適用する
アニメーションBP
アニムグラフ
基本動作
Run(走りモーション)
基本動作 - Run(走りモーション)
今回は十字キー入力が有れば走りモーションに変えます。
スティックの倒し具合で歩き~走りの
モーションブレンディングは行いません
● ブレンディングは前回スライド参照
○ アニメーションBP基礎 55ページ
基本動作 - Run(走りモーション)
全体図
アニメーションBP
アニムグラフ
基本動作 - Run(走りモーション)
アニメーションBPに走る条件の変数を用意する
● IsAcceleration: 移動しているか
アニメーションBP
基本動作 - Run(走りモーション)
キャラクターBPから先程の変数に値を設定する
CharacterMovement::GetCurrentAccelerationに値が
入っていたら加速中。走り中と判定
キャラクターBP
イベントグラフ
基本動作 - Run(走りモーション)
「待機」と「走り」を状態によって切り替えるので、ステートマ
シーンに入れ込む
アニメーションBP
アニムグラフ
基本動作 - Run(走りモーション)
ステートマシンの中身
待機と走りモーション、その間の補間モーション
ループアニメーション : OFF
走り開始モーション
走りループ
モーション
ループアニメーション : OFF
走り停止モーション
待機ループ
モーション
基本動作 - Run(走りモーション)
遷移ルール
入力が入って、待機~走りモーションへの遷移
加速入力があれば遷移
自動遷移
基本動作 - Run(走りモーション)
遷移ルール
入力が停止されて、走り~待機モーションへの遷移
自動遷移
加速入力が無くなれば遷移
基本動作 - Run(走りモーション)
遷移ルール
走り開始モーション中に入力停止、
走り終了モーション中に再度入力開始された時の対処
加速入力が無くなれば遷移加速入力があれば遷移
基本動作
Jump(ジャンプモーション)
基本動作 - Jump(ジャンプモーション)
ボタンを押すとジャンプをする
崖から落ちるとジャンプモーションになる
基本動作 - Jump(ジャンプモーション)
アニメーションBPにジャンプ条件の変数を用意する
● IsAir: 空中にいるか
アニメーションBP
基本動作 - Jump(ジャンプモーション)
キャラクターBPから先程の変数に値を設定する
CharacterMovement::IsFallingで空中に居るかを取得で
きる
キャラクターBP
イベントグラフ
基本動作 - Jump(ジャンプモーション)
全体図
アニメーションBP
アニムグラフ
基本動作 - Jump(ジャンプモーション)
アニムグラフのトップ
アニメーションBP
アニムグラフ
基本動作 - Jump(ジャンプモーション)
「待機/走り」と「ジャンプ」を切り替える
「待機/走り」中のどの状態の時でも「ジャンプ」への遷移が
必要なので大本の方で遷移させる
基本動作 - Jump(ジャンプモーション)
遷移ルール
着地モーション終わった後の自動遷移
空中に居ればJumpに遷移
着地モーションのまま滑って移動してしまうので、
着地して動き始めていたら、着地モーションをキャンセ
ルしてRunを開始させる
基本動作 - Jump(ジャンプモーション)
「ジャンプ」もステートマシーンに包む
基本動作 - Jump(ジャンプモーション)
ステートマシーンの中身
ループアニメーション : OFF
着地モーション
ジャンプループモーション
基本動作 - Jump(ジャンプモーション)
遷移ルール
着地モーション終了後は大本の方で「待機/走り」モーション
に遷移する
着地したら遷移
モンタージュによる攻撃コンボ
モンタージュによる攻撃コンボ
前回スライド(アニメーションBP基礎 73ページ~
モンタージュによる攻撃コンボ
前回スライド(アニメーションBP基礎 73ページ~
モンタージュによる攻撃コンボ
前回のようにモンタージュを一つに纏めていると……
● 複数人で作業する時に、分けて編集できない
● コンボ数が多くなるとタイムラインがもの凄く長くなって
編集しづらい
モンタージュによる攻撃コンボ
今回は1アタック1モンタージュにします
モンタージュによる攻撃コンボ
まずアクション専用のアニメーションスロットを作成
アニメーションエディタ
モンタージュによる攻撃コンボ
モンタージュを攻撃コンボの個数分作成
それぞれのアニメーションスロットを先程作成した値に変更
アニメーションエディタ
モンタージュによる攻撃コンボ
アニムグラフのトップ
基本モーション処理後に先程のスロットを追加する。
これで先程のモンタージュが再生されると、ここで適用でき
る
アニメーションBP
アニムグラフ
モンタージュによる攻撃コンボ
アニメーションBPにモンタージュの変数を
用意する
● AttackMontages: Anim Montage型。
コンボの数分の配列
アニメーションBP
モンタージュによる攻撃コンボ
アニメーションBPに攻撃モンタージュを再生する関数を用
意する。「Montage Play」ノード。
アニメーションBP
モンタージュによる攻撃コンボ
キャラクターBPにコンボ段数の変数を用
意する
● ComboNo: 今がコンボの何段目か
キャラクターBP
モンタージュによる攻撃コンボ
キャラクターBPにボタン押されたらアニメーションBPの先
程の関数を呼ぶようにする
適時各々のボタン入力に
先程作ったアニメーション BP
の関数 コンボの段数を上げるキャラクターBP
モンタージュによる攻撃コンボ
とりあえずコンボは再生されるように
モンタージュによる攻撃コンボ
ここでの問題
● キャラクターBPの「ComboNo」が0に戻らないので2回
目の攻撃コンボが出ない
○ →1回目のコンボで「ComboNo」が4になったまま
モンタージュによる攻撃コンボ
今、再生命令を出した攻撃モンタージュ
を記憶する変数を用意する
アニメーションBP
モンタージュによる攻撃コンボ
モンタージュ再生関数に追加
再生開始したモンタージュを覚えておく
アニメーションBP
モンタージュによる攻撃コンボ
アニメーションBPイベントグラフの「Blueprint Begin Play」
に「OnMontageEnded にイベントをバインド」ノードを繋ぐ
● OnMontageEnded: モンタージュの再生が終了すると
呼ばれる
アニメーションBP
アニムグラフ
モンタージュによる攻撃コンボ
「OnMontageEndedにイベントをバインド」ノードのイベント
引数から引っ張ってカスタムイベントを追加する
アニメーションBP
アニムグラフ
モンタージュによる攻撃コンボ
再生時に保存したモンタージュと同じアセットが終了した
(=最後のコンボ攻撃) なら、コンボ数を0に戻す
最後のコンボ攻撃の
終了イベントか
コンボの番号
を0に戻すアニメーションBP
イベントグラフ
モンタージュによる攻撃コンボ
これでコンボが途切れた後も再度1発目からコンボを撃て
るように
モンタージュによる攻撃コンボ
ここでまだ問題
● モーションのどのタイミングでもコンボが出来てしまう
攻撃モーション:0.0秒
まだ殴る前の予備動作
攻撃モーション:0.24秒
殴った
攻撃モーション:0.4秒
殴った後、腕を引いた
ここから次のコンボが出来てしまう
本当はここからコンボ受
け付けたい
モンタージュによる攻撃コンボ
まずキャラクターBPに攻撃受付中か
フラグを用意する
キャラクターBP
モンタージュによる攻撃コンボ
キャラクターBPの攻撃処理部分に先程のフラグ操作を入
れる
攻撃許可が出てる時だけ処理
攻撃中なのでコンボを
受け付けなくする
キャラクターBP
イベントグラフ
モンタージュによる攻撃コンボ
最後のコンボ攻撃の時に攻撃許可状態にしておく
→1発目攻撃ボタン押せるように
コンボ終わったので攻撃許可
アニメーションBP
イベントグラフ
モンタージュによる攻撃コンボ
タイミングを指定するために、モンタージュアセットに「この
間だけ次のコンボを受け付ける」通知を用意する
この間だけコンボ入力を受け付ける
モンタージュによる攻撃コンボ
コンテンツブラウザからブループリントを作成
親クラスを「AnimNotifyState」にして作成
→巻末資料のAnimNotifyState
モンタージュによる攻撃コンボ
先程作成したブループリントの関数のオーバーライドから
下記を追加
● Received Notify Begin
● Received Notify End
攻撃受付AnimNotifyState BP
モンタージュによる攻撃コンボ
Receive Notify Beginで攻撃受付するように
攻撃許可
(=コンボ受付)
攻撃受付AnimNotifyState BP
Received Notify Begin
モンタージュによる攻撃コンボ
Receive Notify Endで攻撃受付するように
攻撃許可終了
(=コンボ受付終了)
攻撃受付AnimNotifyState BP
Received Notify End
モンタージュによる攻撃コンボ
攻撃モンタージュの通知欄を右クリックから、
「通知ステートを追加」→先程作成したAnimNotifyStateを
指定する
アニメーションエディタ
右クリック
モンタージュによる攻撃コンボ
登録した後、コンボを受け付ける範囲を指定する
この範囲内はコンボを受
け付ける
アニメーションエディタ
モンタージュによる攻撃コンボ
これで攻撃コンボが出来るように!
ダメージ処理
ダメージ処理
攻撃で敵にダメージを与える。
コリジョン機能とDamage機能を使用します
ダメージ処理
キャラクターBPに、攻撃ヒット用のコリジョンを用意します
Collisionコンポーネント
の追加
今回は両手両足の4つ
SphereCollision追加
キャラクターBP
ダメージ処理
コリジョンをキャラクターのソケットにくっつけます
「親ソケット」の虫眼鏡を
クリックすると、メッシュの
ソケット一覧が出てきます
キャラクターBP
ダメージ処理
コリジョンの球が先程指定したソケットにくっつきます
今回は下記設定にしました
● 左手コリジョン → hand_l
● 右手コリジョン → hand_r
● 左足コリジョン → foot_l
● 右足コリジョン → foot_r
ダメージ処理
コリジョンコンポーネントを選択して、詳細パネルの「イベン
ト」から「On Component Begin Overlap」を選択
「+」ボタンを押すとイベントグラフにノードが追加
される。
コリジョン内にアクターが入ったら呼ばれる
キャラクターBP
ダメージ処理
入ってきたアクターに対して、「Apply Damage」でダメージ
を与える
自分自身に対しても呼ばれるので、 Self
と比較して自分自身にはダメージがいか
ないようにする
対象のアクターにダメージを
与える「ApplyDamage」ノードキャラクターBP
イベントグラフ
ダメージ処理
「Apply Damage」でダメージを受けた側は「Any Damage」
イベントが呼ばれる
イベントグラフを右クリックから
「AnyDamage」でイベントを作る
キャラクターBP
イベントグラフ
ダメージ処理
これでコリジョン→ダメージ処理が出来た。
ただし、今のままだと攻撃が発生しなくてもコリジョンがヒッ
トするので、モンタージュと連携するように
歩いているだけで
ヒットしている
ダメージ処理
何もしていなくてもコリジョンがヒットするので、コンストラク
ションスクリプトでコリジョンを無効に
コリジョンを無効にする設定
キャラクターBP
ダメージ処理
攻撃コンボと同じ様に「AnimNotifyState」を作成
ダメージ処理
同じ様にReceived NotifyBegin/Endをオーバーライド。
合わせて、各コリジョンを
使用するかフラグの変数を用意
今回の4つのコリジョン
それぞれを有効にするか
インスタンス編集可能
をONに
コリジョンAnimNotifyState BP
ダメージ処理
Received Notify Beginでフラグを見てコリジョンの有効/無
効を切り替える
Notifyのフラグ「UseCollisionLH」を見て
コリジョンの有効/無効を切り替え
コリジョンAnimNotifyState BP
Received Notify Begin
ダメージ処理
各コリジョンについて同じ
様にやっていく
UseCollisionLH: 左手
UseCollisionRH: 右手
UseCollisionLF: 左足
UseCollisionRF: 右足
コリジョンAnimNotifyState BP
Received Notify Begin
ダメージ処理
Received Notify Endで全部のコリジョンを無効にする
コリジョンAnimNotifyState BP
Received Notify End
ダメージ処理
攻撃コンボと同じ様にモンタージュ内で通知ステートを設定
する
ここから
コリジョン有効
=敵にダメージ与えれる
ここで
コリジョン無効
アニメーションエディタ
ダメージ処理
通知をクリックすると詳細欄にパラ
メーターが出るので、付けたいコリジョ
ンをONにする
クリックする
コリジョンを発生させたい箇所
をONに
ここでは左手での攻撃なので
左手だけON
アニメーションエディタ
ダメージ処理
これで攻撃モンタージュの指定範囲だけコリジョンが有効
に
敵の方を向く
敵の方を向く
攻撃ターゲットしている敵を向いたり、NPCと会話する時に
相手の方を向いたり
今回は首だけを向ける
(本来はちょっと上体も
曲げた方がいい筈)
敵の方を向く
アニメーションBPに、どの座標に向
けるかの変数を用意する
アニメーションBP
敵の方を向く
アクションのスロットの後に「注視点(LookAt)」ノードを入れ
る
アニメーションBP
アニムグラフ
内部的な座標変換
で必要
敵の方を向く
「注視点」ノードは指定したボーンを、
指定した座標に向けるノード
アニメーションBP
アニムグラフ
操作したいボーン
「Bone to Modify」の注視点へ向
けるべクトル
(今回なら前方向のベクトル)
どの座標へ向けるか。
チェックボックスをONにして、ノードの引
数として設定出来るように
向ける角度制限
敵の方を向く
「注視点」ノード
● ボーンの前方向のベクトルの取り方(前ページの「Look
at Axis」パラメーター)
○ 巻末資料参照
● 参考
○ UE4 LookAt機能を使ってGrayちゃんに見つめてもらってみる -
Let's Enjoy Unreal Engine
■ http://unrealengine.hatenablog.com/entry/2017/06/05/220000
敵の方を向く
後はキャラクターBPのTick等から向けたい座標を設定す
る
キャラクターBP
イベントグラフ
敵の方を向く
無し 有り
髪等の物理(Immediate Physics)
髪等の物理(Immediate Physics)
Immediate Physics (Rigid Body)
ワールドの物理とは違い、アニメーションBP内で適用す
る。
ワールドにある他のアクター等からは干渉を受けない変わ
りに負荷的に軽い
● 公式ドキュメント
○ Rigid Body
■ https://docs.unrealengine.com/en-US/Engine/Animation/NodeRefe
rence/SkeletalControls/RigidBody
髪等の物理(Immediate Physics)
物理アセットを使用しますが、物理アセットについてはここ
では取り扱いません
● 参考
○ 「UE4.18で生まれ変わった物理アセットエディタ(Physics Asset
Editor)について」 と 「物理と少し仲良くなる方法について」 その1 -
ぼっちプログラマのメモ
■ http://pafuhana1213.hatenablog.com/entry/2017/12/13/000000
髪等の物理(Immediate Physics)
メッシュエディタのPhysics Assetをクリアしておく
メッシュエディタ
髪等の物理(Immediate Physics)
アニメーションBPで「RigidBody」ノードを繋げる。
今回は注視点の後くらい。
アニメーションBP
アニムグラフ
髪等の物理(Immediate Physics)
「Rigid Body」ノードは物理アセットを適
用するノード
アニメーションBP
アニムグラフ
適用する物理アセット
髪等の物理(Immediate Physics)
接地 パーティクル / サウンド
接地 パーティクル / サウンド
足が地面に接地した時に、パーティクル、サウンドを発生さ
せたい
接地 パーティクル / サウンド
アニメーションと連動して出せるように、モンタージュに仕込
めるようにします
接地 パーティクル / サウンド
今度はAnimNotifyを親クラスにしてブループリントを作成
→巻末資料のAnimNotify
接地 パーティクル / サウンド
先程作成したブループリントの関数のオーバーライドから
Received Notifyを作成
接地AnimNotify BP
接地 パーティクル / サウンド
キャラクターのどの部分が地面に当たったかを設定する変
数を用意
→ 右足、左足どっちが接地したのか
接地AnimNotify BP
インスタンス編集可能
をONに
接地 パーティクル / サウンド
Received Notifyでパーティクルとサウンドを発生させる
サウンド
パーティクル
指定されたソケット
の座標を取る
接地AnimNotify BP
Received Notify
接地 パーティクル / サウンド
アニメーションのモンタージュで、足が接地した所で通知欄
を右クリック、「通知を追加」→先程作成したブループリント
アニメーションエディタ
接地 パーティクル / サウンド
設定された通知をクリックして、変数
に接地したソケットを記入
クリック
接地した所のソ
ケット名
アニメーションエディタ
接地 パーティクル / サウンド
シーンに戻って再生すると、モンタージュの通知が設定さ
れたタイミングで足からパーティクル/サウンドが出るように
なった
まとめ
まとめ
ここまでのアニメーションBPのアニムグラフ
アニメーションBP
アニムグラフ
まとめ
割と基本的な機能を実装してみました。
他にもゲーム仕様によっては、
● 上半身(銃/弓) / 下半身(走り)のモーションブレンド
● 平行移動 / 振り向きモーション
● IK
など、まだまだ様々な機能を追加する必要があります
手が足りないので今日はここまで!
発展
発展
ざっくりとイメージだけ
発展
別の攻撃種類のキャラを作る
発展 - 別の攻撃種類のキャラを作る
同じアニメーションBPを使って、攻撃方法が違う(違うモン
タージュを使う)キャラクターを作る時
発展 - 別の攻撃種類のキャラを作る
今回作ったアニメーションBPを右クリッ
ク
→「子ブループリント クラスを作成しま
す」
発展 - 別の攻撃種類のキャラを作る
作成したアニメーションBPを開いてツー
ルバーの「クラスのデフォルト」
詳細欄に前に作った「Attack
Montage」が有るのでそれを変えたいモ
ンタージュアセットに変更する
発展
敵にダメージを与える時への追加情報
発展 - 敵にダメージを与える時への追加情報
攻撃の際に与える情報、色々パラメーターを追加したい
● 敵のふっとばし量
● 攻撃する属性
● ダメージ係数
などなど
発展 - 敵にダメージを与える時への追加情報
ダメージ処理のコリジョンAnimNotifyStateに必要なパラ
メーターを追加
コリジョンAnimNotifyState BP
発展 - 敵にダメージを与える時への追加情報
モンタージュアセット内の通知でパラメーターを仕込めるよ
うになる。
アニメーションエディタ
発展 - 敵にダメージを与える時への追加情報
後はダメージ処理のコリジョンAnimNotifyStateでキャラク
ターBPにパラメーターを渡してあげる
コリジョンAnimNotifyState BP
発展 - 敵にダメージを与える時への追加情報
モンタージュに入れる利点
● 単発の攻撃毎に設定出来る
● アセットが独立しているので纏まったBPを弄ったりしなくてい
● 1攻撃ボタンで2発殴るアニメーションとかの対応も出来る
欠点
● 一覧性に欠ける
● 追加パラメーターが出たら全部開いていって設定し直さないとい
けない
発展
接地した時に地面の種類を参照
発展 - 接地した時に地面の種類を参照
音とパーティクルは出した。
けど、地面が土、アスファルト、木とかで出す音やパーティ
クルを差し替える必要ある
発展 - 接地した時に地面の種類を参照
こちらに詳しく説明されています
● UE4で、地面の種類に応じた足音を鳴らすようにしてみ
る その1 - ぼっちプログラマのメモ
○ http://pafuhana1213.hatenablog.com/entry/2015/05/20/002301
■ 「地面の種類の検出」辺りから
発展 - 接地した時に地面の種類を参照
接地AnimNotifyのReceived Notify辺りで、再生する種類
分け出来る
接地AnimNotify BP
Received Notify
この辺りに地面判定
を追加出来る
地面種類によっ
てアセット差し替
える
参考資料
参考資料 - ループアニメーションをOFFにする方法
ループアニメーションをOFFにする方法
アニメーションノードを選
択する
チェックを外すとループア
ニメーションがOFF
アニメーションBP
アニムグラフ
参考資料 - 再生が終わったら自動的に次に遷移する
ステートマシーンでStateの再生が終わったら自動的に次
に遷移する方法
トランジションルールを
選択する
チェックを入れると、
Stateの再生が終わると
自動的に遷移する
アニメーションBP
アニムグラフ
参考資料 - AnimNotify
AnimNotify(通知)
アニメーションアセットに仕込んで、そのタイミングになった
時にイベントを拾える機能
参考資料 - AnimNotify
ブループリントクラスをAnimNotifyを親クラスにして作成す
る
参考資料 - AnimNotify
BPアセットを開いて、関数のオーバーライドからイベントを
書くことが出来る
● Received Notify: アニメーションが再生されて、通知を仕込んだ
所を通った時に一度呼ばれる
● Get Notify Name: 通知欄に表示される名称
参考資料 - AnimNotifyState
AnimNotifyState(通知ステート)
アニメーションアセットに区間を仕込んで、開始、終了、そ
の間のTickを取る事ができる
参考資料 - AnimNotifyState
ブループリントクラスをAnimNotifyStateを親クラスにして作
成する
参考資料 - AnimNotify
BPアセットを開いて、関数のオーバーライドからイベントを
書くことが出来る
● Received Notify Begin: 通知の区間に入った瞬間に呼ばれる
● Received Notify End: 通知の区間から出る瞬間に呼ばれる
● Received Notify Tick: 通知の区間に居る間に呼ばれ続ける
● Get Notify Name: 通知欄に表示される名称
参考資料 - AnimNotify
参考資料
● [UE4] 独自のAnimation Notifyの実装方法 - historia
○ http://historia.co.jp/archives/8643/
● Animation Notifications
○ https://docs.unrealengine.com/en-us/Engine/Animation/Sequences/Not
ifies
参考資料 - ボーンの前方向のベクトルの取り方
ボーンの前方向のベクトルの取り方
1. スケルトンアセットを開く
スケルトンエディタ
参考資料 - ボーンの前方向のベクトルの取り方
2. 取得したいボーン名を右クリックして「ソケットを追加」
スケルトンエディタ
参考資料 - ボーンの前方向のベクトルの取り方
3.View上部のパネルで移動モード、ワールド座標系にす
る
4.先程のソケットを前方向に移動させる
十字マーク 地球マーク
前方向に動かす
スケルトンエディタ
参考資料 - ボーンの前方向のベクトルの取り方
5.ソケットを選択して、詳細パネルの「Relative Location」
がそのボーンの前方向のベクトル
スケルトンエディタ
以上!

More Related Content

What's hot

UE4 Saitama 初心者向けハンズオン #5 『アニメーションモンタージュ(Slotアニメーション)でコンボを作る』
UE4 Saitama 初心者向けハンズオン #5 『アニメーションモンタージュ(Slotアニメーション)でコンボを作る』UE4 Saitama 初心者向けハンズオン #5 『アニメーションモンタージュ(Slotアニメーション)でコンボを作る』
UE4 Saitama 初心者向けハンズオン #5 『アニメーションモンタージュ(Slotアニメーション)でコンボを作る』Yuuki Ogino
 
UE5制作事例 “The Market of Light” ~Nanite/Lumenへの挑戦~
UE5制作事例 “The Market of Light” ~Nanite/Lumenへの挑戦~UE5制作事例 “The Market of Light” ~Nanite/Lumenへの挑戦~
UE5制作事例 “The Market of Light” ~Nanite/Lumenへの挑戦~historia_Inc
 
UE4でAIとビヘイビアツリーと-基礎-
UE4でAIとビヘイビアツリーと-基礎-UE4でAIとビヘイビアツリーと-基礎-
UE4でAIとビヘイビアツリーと-基礎-com044
 
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-Tatsuya Iwama
 
[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~
[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~
[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~com044
 
UE4 アセットロード周り-アセット参照調査-
UE4 アセットロード周り-アセット参照調査-UE4 アセットロード周り-アセット参照調査-
UE4 アセットロード周り-アセット参照調査-com044
 

What's hot (20)

UE4 Saitama 初心者向けハンズオン #5 『アニメーションモンタージュ(Slotアニメーション)でコンボを作る』
UE4 Saitama 初心者向けハンズオン #5 『アニメーションモンタージュ(Slotアニメーション)でコンボを作る』UE4 Saitama 初心者向けハンズオン #5 『アニメーションモンタージュ(Slotアニメーション)でコンボを作る』
UE4 Saitama 初心者向けハンズオン #5 『アニメーションモンタージュ(Slotアニメーション)でコンボを作る』
 
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
 
猫でも分かる UE4の新しいサンプル「Action RPG」について
猫でも分かる UE4の新しいサンプル「Action RPG」について猫でも分かる UE4の新しいサンプル「Action RPG」について
猫でも分かる UE4の新しいサンプル「Action RPG」について
 
猫でも分かるUE4.22から入ったSubsystem
猫でも分かるUE4.22から入ったSubsystem 猫でも分かるUE4.22から入ったSubsystem
猫でも分かるUE4.22から入ったSubsystem
 
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
 
UE5制作事例 “The Market of Light” ~Nanite/Lumenへの挑戦~
UE5制作事例 “The Market of Light” ~Nanite/Lumenへの挑戦~UE5制作事例 “The Market of Light” ~Nanite/Lumenへの挑戦~
UE5制作事例 “The Market of Light” ~Nanite/Lumenへの挑戦~
 
UE4でAIとビヘイビアツリーと-基礎-
UE4でAIとビヘイビアツリーと-基礎-UE4でAIとビヘイビアツリーと-基礎-
UE4でAIとビヘイビアツリーと-基礎-
 
UE4を使った映像制作 (UE4 Character Art Dive Online)
UE4を使った映像制作 (UE4 Character Art Dive Online)UE4を使った映像制作 (UE4 Character Art Dive Online)
UE4を使った映像制作 (UE4 Character Art Dive Online)
 
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
 
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
 
大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD
大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD
大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD
 
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られたNintendo Switch『OCTOPATH TRAVELER』はこうして作られた
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
 
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
 
UE4を用いたTPS制作事例 EDF:IR レベル構成について
UE4を用いたTPS制作事例 EDF:IR レベル構成についてUE4を用いたTPS制作事例 EDF:IR レベル構成について
UE4を用いたTPS制作事例 EDF:IR レベル構成について
 
なぜなにFProperty - 対応方法と改善点 -
なぜなにFProperty - 対応方法と改善点 -なぜなにFProperty - 対応方法と改善点 -
なぜなにFProperty - 対応方法と改善点 -
 
Unreal Engine 4を使って地球を衛る方法
Unreal Engine 4を使って地球を衛る方法Unreal Engine 4を使って地球を衛る方法
Unreal Engine 4を使って地球を衛る方法
 
[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~
[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~
[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~
 
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
 
UE4を用いたTPS制作事例 EDF:IR 地球を衛る兵士の歩き方
UE4を用いたTPS制作事例 EDF:IR 地球を衛る兵士の歩き方UE4を用いたTPS制作事例 EDF:IR 地球を衛る兵士の歩き方
UE4を用いたTPS制作事例 EDF:IR 地球を衛る兵士の歩き方
 
UE4 アセットロード周り-アセット参照調査-
UE4 アセットロード周り-アセット参照調査-UE4 アセットロード周り-アセット参照調査-
UE4 アセットロード周り-アセット参照調査-
 

Similar to UE4勉強会 in 大阪 - もっとアニメーションBP

UE4勉強会 in 大阪 - アニメーション基礎
UE4勉強会 in 大阪 - アニメーション基礎UE4勉強会 in 大阪 - アニメーション基礎
UE4勉強会 in 大阪 - アニメーション基礎com044
 
勉強会 Cvml python基礎
勉強会 Cvml python基礎勉強会 Cvml python基礎
勉強会 Cvml python基礎真哉 杉野
 
UE4でTranslucencyやUnlitに影を落としたい!
UE4でTranslucencyやUnlitに影を落としたい!UE4でTranslucencyやUnlitに影を落としたい!
UE4でTranslucencyやUnlitに影を落としたい!com044
 
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動についてUE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動についてcom044
 
[UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい![UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい!com044
 
ROS2勉強会 4章前半
ROS2勉強会 4章前半ROS2勉強会 4章前半
ROS2勉強会 4章前半tomohiro kuwano
 
JCROM で Android の「真の力」を解き放て
JCROM で Android の「真の力」を解き放てJCROM で Android の「真の力」を解き放て
JCROM で Android の「真の力」を解き放てandroid sola
 
Twitter API1.1 #twtr_hack
Twitter API1.1 #twtr_hackTwitter API1.1 #twtr_hack
Twitter API1.1 #twtr_hackYusuke Yamamoto
 

Similar to UE4勉強会 in 大阪 - もっとアニメーションBP (10)

UE4勉強会 in 大阪 - アニメーション基礎
UE4勉強会 in 大阪 - アニメーション基礎UE4勉強会 in 大阪 - アニメーション基礎
UE4勉強会 in 大阪 - アニメーション基礎
 
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER
MetaHumanサンプル解体新書  UNREAL FEST EXTREME 2021 SUMMERMetaHumanサンプル解体新書  UNREAL FEST EXTREME 2021 SUMMER
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER
 
勉強会 Cvml python基礎
勉強会 Cvml python基礎勉強会 Cvml python基礎
勉強会 Cvml python基礎
 
UE4でTranslucencyやUnlitに影を落としたい!
UE4でTranslucencyやUnlitに影を落としたい!UE4でTranslucencyやUnlitに影を落としたい!
UE4でTranslucencyやUnlitに影を落としたい!
 
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動についてUE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
 
[UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい![UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい!
 
ROS2勉強会 4章前半
ROS2勉強会 4章前半ROS2勉強会 4章前半
ROS2勉強会 4章前半
 
JCROM で Android の「真の力」を解き放て
JCROM で Android の「真の力」を解き放てJCROM で Android の「真の力」を解き放て
JCROM で Android の「真の力」を解き放て
 
Twitter API1.1 #twtr_hack
Twitter API1.1 #twtr_hackTwitter API1.1 #twtr_hack
Twitter API1.1 #twtr_hack
 
pecoを使おう
pecoを使おうpecoを使おう
pecoを使おう
 

More from com044

UE4ぷちコンの勧め
UE4ぷちコンの勧めUE4ぷちコンの勧め
UE4ぷちコンの勧めcom044
 
2019年03月 UE4界隈ニュース
2019年03月 UE4界隈ニュース 2019年03月 UE4界隈ニュース
2019年03月 UE4界隈ニュース com044
 
AI基礎
AI基礎AI基礎
AI基礎com044
 
2019年01月 UE4界隈ニュース
2019年01月 UE4界隈ニュース2019年01月 UE4界隈ニュース
2019年01月 UE4界隈ニュースcom044
 
UE4 Volumetric Fogで 空間を演出する!
UE4 Volumetric Fogで 空間を演出する!UE4 Volumetric Fogで 空間を演出する!
UE4 Volumetric Fogで 空間を演出する!com044
 
2018年11月 UE4界隈ニュース
2018年11月 UE4界隈ニュース2018年11月 UE4界隈ニュース
2018年11月 UE4界隈ニュースcom044
 
第8回UE4勉強会 in 大阪 201809 UE4界隈ニュース
第8回UE4勉強会 in 大阪 201809 UE4界隈ニュース第8回UE4勉強会 in 大阪 201809 UE4界隈ニュース
第8回UE4勉強会 in 大阪 201809 UE4界隈ニュースcom044
 
UE4 LODs for Optimization -Beginner-
UE4 LODs for Optimization -Beginner-UE4 LODs for Optimization -Beginner-
UE4 LODs for Optimization -Beginner-com044
 
第7回UE4勉強会 in 大阪 201807 UE4界隈ニュース
第7回UE4勉強会 in 大阪 201807 UE4界隈ニュース第7回UE4勉強会 in 大阪 201807 UE4界隈ニュース
第7回UE4勉強会 in 大阪 201807 UE4界隈ニュースcom044
 
第6回UE4勉強会 in 大阪 201805 UE4界隈ニュース
第6回UE4勉強会 in 大阪 201805 UE4界隈ニュース第6回UE4勉強会 in 大阪 201805 UE4界隈ニュース
第6回UE4勉強会 in 大阪 201805 UE4界隈ニュースcom044
 
第5回UE4勉強会 in 大阪 201803 UE4界隈ニュース
第5回UE4勉強会 in 大阪 201803 UE4界隈ニュース第5回UE4勉強会 in 大阪 201803 UE4界隈ニュース
第5回UE4勉強会 in 大阪 201803 UE4界隈ニュースcom044
 
第4回UE4勉強会 in 大阪 UE4でのチーム製作
第4回UE4勉強会 in 大阪   UE4でのチーム製作第4回UE4勉強会 in 大阪   UE4でのチーム製作
第4回UE4勉強会 in 大阪 UE4でのチーム製作com044
 
第4回UE4勉強会 in 大阪 201801 UE4界隈ニュース
第4回UE4勉強会 in 大阪   201801 UE4界隈ニュース第4回UE4勉強会 in 大阪   201801 UE4界隈ニュース
第4回UE4勉強会 in 大阪 201801 UE4界隈ニュースcom044
 
第3回ue4勉強会 in 大阪 201711 ue4界隈ニュース
第3回ue4勉強会 in 大阪   201711 ue4界隈ニュース第3回ue4勉強会 in 大阪   201711 ue4界隈ニュース
第3回ue4勉強会 in 大阪 201711 ue4界隈ニュースcom044
 
第2回UE4勉強会 in 大阪 - マテリアル基礎・初級
第2回UE4勉強会 in 大阪 - マテリアル基礎・初級第2回UE4勉強会 in 大阪 - マテリアル基礎・初級
第2回UE4勉強会 in 大阪 - マテリアル基礎・初級com044
 
第2回UE4勉強会 in 大阪 - 201709 ue4界隈ニュース
第2回UE4勉強会 in 大阪 -  201709 ue4界隈ニュース第2回UE4勉強会 in 大阪 -  201709 ue4界隈ニュース
第2回UE4勉強会 in 大阪 - 201709 ue4界隈ニュースcom044
 
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?com044
 
第1回UE4勉強会 in 大阪 - UE4界隈ニュース
第1回UE4勉強会 in 大阪 - UE4界隈ニュース第1回UE4勉強会 in 大阪 - UE4界隈ニュース
第1回UE4勉強会 in 大阪 - UE4界隈ニュースcom044
 
UE4.14.0 Forward Shadingのエンジン改造でセルシェードやってみた
UE4.14.0 Forward Shadingのエンジン改造でセルシェードやってみたUE4.14.0 Forward Shadingのエンジン改造でセルシェードやってみた
UE4.14.0 Forward Shadingのエンジン改造でセルシェードやってみたcom044
 

More from com044 (19)

UE4ぷちコンの勧め
UE4ぷちコンの勧めUE4ぷちコンの勧め
UE4ぷちコンの勧め
 
2019年03月 UE4界隈ニュース
2019年03月 UE4界隈ニュース 2019年03月 UE4界隈ニュース
2019年03月 UE4界隈ニュース
 
AI基礎
AI基礎AI基礎
AI基礎
 
2019年01月 UE4界隈ニュース
2019年01月 UE4界隈ニュース2019年01月 UE4界隈ニュース
2019年01月 UE4界隈ニュース
 
UE4 Volumetric Fogで 空間を演出する!
UE4 Volumetric Fogで 空間を演出する!UE4 Volumetric Fogで 空間を演出する!
UE4 Volumetric Fogで 空間を演出する!
 
2018年11月 UE4界隈ニュース
2018年11月 UE4界隈ニュース2018年11月 UE4界隈ニュース
2018年11月 UE4界隈ニュース
 
第8回UE4勉強会 in 大阪 201809 UE4界隈ニュース
第8回UE4勉強会 in 大阪 201809 UE4界隈ニュース第8回UE4勉強会 in 大阪 201809 UE4界隈ニュース
第8回UE4勉強会 in 大阪 201809 UE4界隈ニュース
 
UE4 LODs for Optimization -Beginner-
UE4 LODs for Optimization -Beginner-UE4 LODs for Optimization -Beginner-
UE4 LODs for Optimization -Beginner-
 
第7回UE4勉強会 in 大阪 201807 UE4界隈ニュース
第7回UE4勉強会 in 大阪 201807 UE4界隈ニュース第7回UE4勉強会 in 大阪 201807 UE4界隈ニュース
第7回UE4勉強会 in 大阪 201807 UE4界隈ニュース
 
第6回UE4勉強会 in 大阪 201805 UE4界隈ニュース
第6回UE4勉強会 in 大阪 201805 UE4界隈ニュース第6回UE4勉強会 in 大阪 201805 UE4界隈ニュース
第6回UE4勉強会 in 大阪 201805 UE4界隈ニュース
 
第5回UE4勉強会 in 大阪 201803 UE4界隈ニュース
第5回UE4勉強会 in 大阪 201803 UE4界隈ニュース第5回UE4勉強会 in 大阪 201803 UE4界隈ニュース
第5回UE4勉強会 in 大阪 201803 UE4界隈ニュース
 
第4回UE4勉強会 in 大阪 UE4でのチーム製作
第4回UE4勉強会 in 大阪   UE4でのチーム製作第4回UE4勉強会 in 大阪   UE4でのチーム製作
第4回UE4勉強会 in 大阪 UE4でのチーム製作
 
第4回UE4勉強会 in 大阪 201801 UE4界隈ニュース
第4回UE4勉強会 in 大阪   201801 UE4界隈ニュース第4回UE4勉強会 in 大阪   201801 UE4界隈ニュース
第4回UE4勉強会 in 大阪 201801 UE4界隈ニュース
 
第3回ue4勉強会 in 大阪 201711 ue4界隈ニュース
第3回ue4勉強会 in 大阪   201711 ue4界隈ニュース第3回ue4勉強会 in 大阪   201711 ue4界隈ニュース
第3回ue4勉強会 in 大阪 201711 ue4界隈ニュース
 
第2回UE4勉強会 in 大阪 - マテリアル基礎・初級
第2回UE4勉強会 in 大阪 - マテリアル基礎・初級第2回UE4勉強会 in 大阪 - マテリアル基礎・初級
第2回UE4勉強会 in 大阪 - マテリアル基礎・初級
 
第2回UE4勉強会 in 大阪 - 201709 ue4界隈ニュース
第2回UE4勉強会 in 大阪 -  201709 ue4界隈ニュース第2回UE4勉強会 in 大阪 -  201709 ue4界隈ニュース
第2回UE4勉強会 in 大阪 - 201709 ue4界隈ニュース
 
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
 
第1回UE4勉強会 in 大阪 - UE4界隈ニュース
第1回UE4勉強会 in 大阪 - UE4界隈ニュース第1回UE4勉強会 in 大阪 - UE4界隈ニュース
第1回UE4勉強会 in 大阪 - UE4界隈ニュース
 
UE4.14.0 Forward Shadingのエンジン改造でセルシェードやってみた
UE4.14.0 Forward Shadingのエンジン改造でセルシェードやってみたUE4.14.0 Forward Shadingのエンジン改造でセルシェードやってみた
UE4.14.0 Forward Shadingのエンジン改造でセルシェードやってみた
 

UE4勉強会 in 大阪 - もっとアニメーションBP