質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
UE4

UE4はUnreal Engine(アンリアルエンジン)の第4世代です。 UEは、Epic Gamesより開発されたゲームエンジンです。

Q&A

解決済

1回答

1324閲覧

デフォルトのThirdPersonCharacterのアニメーションの構造

退会済みユーザー

退会済みユーザー

総合スコア0

UE4

UE4はUnreal Engine(アンリアルエンジン)の第4世代です。 UEは、Epic Gamesより開発されたゲームエンジンです。

0グッド

0クリップ

投稿2020/10/01 05:39

編集2020/10/03 10:14

前提・実現したいこと・試したこと

質問1。
デフォルトのThirdPersonCharacterのアニメーションは、ThirdPersonCharacterのブループリントの処理に対して、
どのように呼び出される仕組みになっているのでしょうか?
例えば、ThirdPersonCharacterのブループリントのJumpアクションを見てみると、
下記のように組まれていて、これがどういう関連付けでJumpのアニメーションが呼び出される仕組みになっているのでしょうか?

イメージ説明

アニメーションBPの方を見ていても、
これがどういう関連付けでThirdPersonJump_Startのアニメーションシーケンスが呼び出されているのかわかりませんでした。
イメージ説明

質問2。
走るアニメーションはどのように関連付けて呼び出されるようになっていますか?
また、走るアニメーションを既存のものから、他のものに変更したいのですが、どうようにすれば設定できますか?

走るアニメーションのブループリントを見てみました。
イメージ説明
アニメーションBPの方も下記だけだったので、どこでThirdPersonRunのアニメーションシーケンスが呼び出される仕組みになっているのでしょうか?
走るアニメーションを他のアニメーションに変更するにはどのようにすればよいのでしょうか?
イメージ説明

ThirdPersonIdleのアニメーションシーケンスもどこで呼び出される設定がされているのでしょうか。

ご教示をお願いします。

追記

追記質問1。
JumpStartステートで、どのようにアニメーションシーケンスがセットされているのか確認してみました。
[再生 ThirdPersonJump_Start]ノードの[設定] → [Sequence]でアニメーションシーケンスを設定していることがわかったのですが、
この[再生 ThirdPersonJump_Start]ノード(アニメーションシーケンスの再生ノード)はどのように検索すれば作成できますか?
play anime等で検索してみたのですが、見つからなかったです。
イメージ説明

追記質問2。
[Idle/Run]ステートでもどのようにアニメーションシーケンスがセットされているのか確認してみました。
こちらは[ThirdPerson_IdleRun_2D]ノードで、[再生 ThirdPersonJump_Start]ノードとは違い、
アニメーションのブレンドのようなものを、詳細パネルの[Blend Space]の項目で[ThirdPerson_IdleRun_2D]としてセットされていることが
確認でき、コンテンツブラウザにも[ThirdPerson_IdleRun_2D]が存在することを確認できたのですが、
このアニメーションのブレンドのようなアニメーションシーケンスはどのようにすれば作成することができますか?
また、その呼び出しの[ThirdPerson_IdleRun_2D]ノード(ブレンドされたアニメーションシーケンスの再生ノード)
は、どのように検索すれば作成できますか?
ちなみにこのブレンドされたアニメーションシーケンスのことを「ブレンドスペース」と呼ぶのでしょうか?
イメージ説明

追記質問3。
[ThirdPerson_IdleRun_2D]をダブルクリックして、どのようにアニメーションシーケンスがセットされているのか確認してみました。
おそらく、タイムラインの当該キーのブレンドサンプルのアニメーションの項目でセットしているのかと思うのですが、
このキー(ブレンドサンプル)は、どのようにすれば追加したり、削除したりすることができますか?
イメージ説明

追記②

追記質問4。
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

UE4標準のアニメーションはすべて親であるCharacterの状態を見て各アニメーションに遷移するという仕組みになっています。

つまりThirdPersonCharacterからAnimationの状態を変更させているわけではなく
AnimationがThirdPersonCharacterの状態を見て遷移しているという逆の感覚です

質問1のジャンプですがAnimGraphのJumpStartにつながってる矢印をダブルクリックすると遷移条件を見ることができます
IsInAir がtrueの時に遷移になっていると思います。
イメージ説明

そしてそのIsInAir変数はEventGraph内でAnimationBPが関連付けられている親のPawnのIsFallingフラグを代入しています。
つまり落下中=空中だと判定してジャンプアニメーションを再生しているというわけです。
イメージ説明

質問2の走るアニメーションに関してですが、
Idle/Runのステートマシンを開くと、ThirdPerson_Idle_Run2D を再生するようになっており、
この渡される Speed というパラメーターに応じて静止→歩く→走るという状態を変化させています。
イメージ説明

そしてこの Speed も同様にEventGraph内で親の移動速度を見て代入しています
イメージ説明

これでわからない箇所があれば追記していただければと思います。


質問3
Blend 1D Spaceのアニメーションの追加・削除に関してですが、
操作方法はシンプルで、削除する場合は該当のキーを選択後(オレンジ色になったのを確認後)Deleteキーを押すことで削除ができます。
イメージ説明

追加する場合はAssetBrowserが一緒に開いてると思いますのでドラッグすることで追加できます
イメージ説明


追記質問1

(アニメーションシーケンスの再生ノード)はどのように検索すれば作成できますか?

こちらもBlend 1D Spaceのキーの追加方法と同様で、AssetBrowserからドラッグアンドドロップすることで出すことができます
イメージ説明

一応右クリックメニューから play と検索することで対応する Play [アニメーションシーケンス名] の候補が出てくるはずなのでそちらから追加することもできます

追記質問2

アニメーションのブレンドのようなアニメーションシーケンスはどのようにすれば作成することができますか?

こちらも上記同様ドラッグアンドドロップで追加することができます。
また右クリックメニューの Blendspace Player [アニメーションシーケンス名] で追加できます

そしてこのアニメーションブレンドのアニメーションシーケンスはUE4上では Blend Space と呼ばれており、ThirdPerson_IdleRun_2Dは一つのパラメータでブレンドを行うため Blend Space 1D と呼ばれています


追記質問4
アセット詳細の、AxisSettingsから設定できます。
日本語表記だと水平軸→Nameから変更できます
イメージ説明

投稿2020/10/02 13:49

編集2020/10/03 10:53
MMashiro

総合スコア2378

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/10/03 08:18

ご回答ありがとうございます。 ご教示いただいた内容は全て理解できました、ありがとうございます。 すみません、さらに掘り下げて3点質問させていただきたいです。 質問に追記いたしました。
MMashiro

2020/10/03 08:24

質問3に対する回答を追記しました
退会済みユーザー

退会済みユーザー

2020/10/03 08:46

ご回答ありがとうございます。 すみません、既存の質問1,質問2の他に、新たに質問1,質問2,質問3を追記していました。 紛らわしい書き方をしてすみません。 追記欄を追記質問1,追記質問2,追記質問3の名称に書き換えました。 そして、質問3(追記質問3)に関してご教示いただきありがとうございます。 ご教示いただいた通り試してみて、キーの追加と削除ができることを確認いたしました。 大変お手数ですが、追記質問1,追記質問2に関してもご教示いただけますか?
MMashiro

2020/10/03 08:55

見落としてましたすいません、追記1,2に関して回答しました
退会済みユーザー

退会済みユーザー

2020/10/03 10:15

ご回答ありがとうございます。 ご教示いただいた方法で、アニメーションシーケンスやブレンドスペースが呼び出されることが確認できました。 最後に質問させていただきたいのですが(追記②の追記質問4の画像を掲載しました)、 ブレンドスペース1Dの作り方を調べた所、 コンテンツブラウザの右クリックメニューで、 アニメーション → ブレンドスペース1Dを選び、スケルトンを選べば、 コンテンツブラウザにブレンドスペースが作成できることはわかったのですが、 これをダブルクリックで開くと、 パラメータがデフォルトで[None]となっていますが、これはどのようにすればパラメータを設定することができますか?
MMashiro

2020/10/03 10:56

追記質問4に関して回答しました
退会済みユーザー

退会済みユーザー

2020/10/03 13:04

ご回答ありがとうございます。 水平軸→Nameを変更して反映されることを確認しました。 たくさんの質問に関してご教示いただきありがとうございました。 Characterのアニメーションに関して理解が深まりました。 疑問点が全て解決しました、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問