※このページではアフィリエイト広告を紹介しています

unityのアニメーションクリップのbake into poseについての備忘録

Unity

バーチャル3Dクリエイター神部まゆみです(*^-^*)

 

この記事はunityのbake into poseについての備忘録です。

この設定次第でアニメーション後にルート移動が反映されるかされないかが決まるので、アニメーションをループさせたり繋げる場合に重要。

これちょくちょく私も忘れるからメモしておきます。

■PR■

現在200個以上の新規unityアセットが最大50%オフで買える New Releaseセールをやっているみたいです。

unityアセット New Release割引 最大50%OFF

欲しいアセットはこの機会に買っておくと良いかも。

 
 

 

 

アニメーションクリップ設定で、bake into pose(ポーズにベイク)にチェックを入れると、ルート移動や回転が反映「されない」

これ、逆に反映「される」だと勘違いしていた( ̄▽ ̄;)

参考にした頭のいい先輩のページ。

【Unity】アニメーションクリップのプロパティを理解する – XR-Hub
以前の記事で「LoopMatchインジケータ」について触れた際に、さらっとアニメーションクリップのプロパティについて扱いました。よろしければ以下の記事も合わせてご覧になっていただけると幸い...

 

アニメーションクリップの設定で、全部チェックを入れてしまっていたんだけど、

これだと回転も座標移動も反映されないため、ループさせると場所が初期位置に戻るっぽい。

Y軸は地面に埋まったりしちゃうのを防止するためにチェック入れたほうがいいっぽい?

けど、アニメーションを移動に使いたい時は、回転とXZ軸はチェック外しとかないとダメっぽい。

 

ちなみに歩くモーションはMixamoさんからもらいました。

Mixamoのアニメーションをunityに持って行ったメモ。VeryAnimationで簡単に編集できた
バーチャル3Dクリエイター神部まゆみです(*^-^*)この記事は、Mixamoでアニメーションをダウンロードしてunityに持っていき、ヒューマノイドのキャラに適用させたメモ。実はこの記事は、三か月くらい前?に下書きのまま書いておいたやつな...

Animatorコンポーネントで、Apply Root Motion(ルートモーションを適用)にチェックを入れるのも忘れずに

これで座標移動が反映されて動くだろう…と思ったら、なんか初期位置から動かない。

と思ったら、Apply Root Motion(ルートモーションを適用)にチェックが入っていないのが原因だった。

あれ、でもさっきはチェックしてない状態で、bake into poseに全部チェック入れたら、座標移動は反映されなかったけど一応前には動いてきてたな( ̄▽ ̄;)

反映されないけど動きだけは再生されたってことかな?多分。

 

  • ルートモーションを適用にチェック
  • ルートトランスフォーム位置(Y)のポーズにベイクにだけチェック

で、座標移動を反映させて動かすことに成功。

Rigidbodyを設定してなかったのですり抜けていきましたが(笑)。

前に歩く→右にターン のループを動作させることに成功

これまでは全部一つのアニメーションクリップでやらないといけないと思ってたけど、これなら

  • 前に歩くアニメーションクリップ
  • 右にターンするアニメーションクリップ

と切り分けて作って動作させられるようになった。

短いアニメーションを複数作って組み合わせた方が、一つ一つ作るのも楽だし汎用性があって良いかも。

短いほうが改変もやりやすいからね。

追記:ルートで動かしたい時はこれでいいけど、同じ位置でループ動作させたい時はbake into poseに全部チェック入れて位置を固定したほうがいいかも

じゃないとルートが反映されるので、位置がズレる。

アニメーションごとに設定ちゃんと見て、動きや場面によってルートトランスフォームの設定変えたほうがいいと思う。

具体的に言うと、えっちなモーションを男性モデルと合わせて作っていたら、アニメーション遷移の時に位置がズレた( ̄▽ ̄;)

その場でループして動けばいいだけなら、ルートは反映させないほうがいいかな?

ここの設定次第で、意図しない挙動をしてちょっと詰まる可能性がありそう。というか結構何度も詰まってるので(-_-;)

今回の内容とは関係ないけど、Rigidbodyを付けるとターンの角度が鈍くなった( ̄▽ ̄;)

壁すり抜け防止のために、私のモデルにRigidbody入れてみたんだけど。

アニメーションクリップは全く変更してないんだけど、90度ターンが20度くらいしかターンしなくなっちゃった。

これ重力とか物理の影響受けてるとか?

use gravityはオフにしてるけど…。

Animatorの更新モードをAnimate Phisicsにしたらいい感じに動くようになったが…

なんかここを変えたらちゃんと動くようになった。

Animate Phisicsって、こちらの頭のいい先輩によると、アニメーションと物理を組み合わせる機能みたいな感じ?

【Unity】アニメーションと物理演算を連動させる 5.6以降 - テラシュールブログ
以前、アニメーションと物理演算を連動させる方法について紹介しましたが、Unity5.6でもっとシンプルになりました。tsubakit1.hateblo.jpAnimatePhysicsなる機能Unity5.6のアップグレードガイドを眺めていると、少し気になる項目がありました。docs.unity3d.comAnimat...

でも、壁際に行ったら物理の影響を受けたのか、180度ターンしたりして意図しない挙動をしてしまった( ̄▽ ̄;)

 

まぁとりあえずルートの問題は解決したので、これはこれで別に調べておきます。

追記:続きはこちらです。

unityでRigidbodyを追加したら、アニメーションの回転が鈍くなった問題が解決したのでメモ
昨日やったやつの続きね。前回は、90度ターンするアニメーションのはずだったのに、Rigidbodyを追加した途端、20度くらいしかターンしなくなっちゃった。この問題が一応解決したのでメモ。Rigidbodyのinterpolate(補間)機...
タイトルとURLをコピーしました