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

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

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

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

2回答

12074閲覧

人型のモーションを他のキャラで使い回す方法。

退会済みユーザー

退会済みユーザー

総合スコア0

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

2クリップ

投稿2016/08/08 13:25

編集2016/08/09 11:35

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

このキャラクターに、このモーションを適用させたいと考えています。

Animatorを使って簡単なアニメーションの切り替え処理を作成した経験はあるのですが、
キャラクターとモーション、別々のものを組み合わせるというやり方がわかりません。
おそらく、本質的にAnimatorというものを理解していないのだと思います。

###試したこと
①上記2つのアセットをダウンロード。
②Assets → BodyGuards → SkelMesh_Bodyguard_01 をシーンに配置。
③FightingUnityChan_FreeAsset → FightingUnityChan_FreeAsset → Animator → FightingUnityChan_freeをシーン上のSkelMesh_Bodyguard_01のインスペクターのAnimatorコンポーネントのControllerにアタッチ。

イメージ説明

###発生している問題・エラーメッセージ

・ここから、先、例えば、Idleから、Headspringのアニメーションを実行させるにはどうしたらよいのでしょうか? ・また、前提の①~③の手順自体も間違っているのでしょうか? ・Animatorの左側に表示されているJabやRunのラジオボタンやチェックボックスは何なのでしょうか?

追記:
実行時に、Animatorをみると、Idleステートが進行中のような表示になっているのですが、シーン上のキャラクターはIdleアニメーションが実行されず、静止しています。また、例えば、実行時にJabなどのラジオボタンを押してみると、Animatorではそれに反応して、Jabのステートが動いているかのような表示になるのですが、やはり、シーン上のキャラクターは微動だにしません。
Animatorのステートを見る限り、発動条件はそれぞれ満たしているように思えるのですが、シーン上のキャラクターに反映されないのは何故なのでしょうか?
ちなみにアセットのキャラクターのRigを見てみると、Humanoidに設定されています。
ご教授お願いいたします。

イメージ説明

イメージ説明

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

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

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

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

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

guest

回答2

0

ベストアンサー

モーションがHumanoidになっていないのが原因でした。

投稿2016/08/09 14:50

編集2016/08/09 16:52
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

「モーションの使い回し」と「Animatorの使い方」を切り分けて考えるべきです。


■モーションの使い回し
「Humanoid型のAvatarを持ったモデルに対し、Humanoidに対応したAnimationClipを適用する」ことが出来れば、モーションは使い回しできます。
FightingUnityChan_FreeAssetの中にAnimationClipが含まれているかと思います。
「モーションを再生する=AnimationClipを再生する」です。


■ Animatorの使い方
「どんな時にどのモーションを再生するか」を決めるアセットがAnimatorControllerです。
(AnimatorControllerを使用したモーション管理システムがAnimatorです)

試したこと③で行っているのは「FightingUnityChan_freeのAnimatorControllerをそのまま使用する」ということです。
つまりモーションだけはなく、「モーションの発動条件」も使い回そうとしています。

そのような意図である(使い回したい)のであれば、このまま作業を続けてください。
一部改変したいというなら、FightingUnityChan_freeのAnimatorControllerを複製してから作業するといいでしょう(AnimatorControllerもアセットの1つなのでDuplicateが出来ます)。
もしイチから作りたいというなら、新規作成すればいいと思います。

Animatorウィンドウの使い方については以下をご覧ください。
Unityマニュアル - アニメーターコントローラーアセット
Unityのアニメーションの切り替えシステムとスクリプト


■なぜ切り分ける必要があるのか
AnimationClipとAnimatorControllerは独立しているからです。

この辺を理解すると、例えば1つのAnimatorControllerの中で、
・Idleステート:UnityちゃんのIdleモーション
・Runステート:自作のRunモーション
・Jumpステート:ホニャララちゃんのJumpモーション
のような使い方も出来るようになります。(=異なるキャラのモーションを組み合わせて使い回せる)

習うより慣れた方が早いと思うので、参考サイトをご自分でも探しながら色々弄るといいと思います。
(なお、Animator周りはUnityバージョンにより多少差異があります。参考資料のバージョン確認はお忘れなく)

投稿2016/08/09 02:27

sakura_hana

総合スコア11427

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

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

退会済みユーザー

退会済みユーザー

2016/08/09 11:36

ご回答ありがとうございます。 仰る通り、「モーションの発動条件」も使い回したいと思っています。 しかし、実行時に、Animatorをみると、Idleステートが進行中のような表示になっているのですが、シーン上のキャラクターはIdleアニメーションが実行されず、静止しています。 また、例えば、実行時にJabなどのラジオボタンを押してみると、Animatorではそれに反応して、Jabのステートが動いているかのような表示になるのですが、やはり、シーン上のキャラクターは微動だにしません。 Animatorのステートを見る限り、発動条件はそれぞれ満たしているように思えるのですが、シーン上のキャラクターに反映されないのは何故なのでしょうか? ご教授お願いいたします。 ちなみにアセットのキャラクターのRigを見てみると、Humanoidに設定されています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問