Blenderで作ったアニメーションをUnityで使ってみた

最近ちょっとしたゲームを作っていまして宝箱が欲しかったんですよ。

でも3Dモデルが見つからなかったので、Blenderで作ってUnityで使ってみました。

上の動画の箱が開くアニメーションなんですが、これはUnityで制御しているわけではなく、Blenderで設定したアニメーションをそのまま再生しているだけです。

この記事ではBlenderからUnityでアニメーションを再生する方法についてご紹介していきたいと思います。

Blenderでアニメーションを設定する

Keyingを使ってアニメーションを設定しました。

宝箱の蓋は移動できるように分離しておきます。

閉じている時(0フレーム目)

空いている時(20フレーム目)

蓋を選んで移動と回転をして空いている状態を作ってからKeying登録します。

全体のフレームは40にしています。

これでアニメーションの設定は完了です。

Unity

Unityにエキスポートすると、、、なぜかアニメーションが2つありました。

まぁ、使うのはCoverの方だけなので、スルーしましょう。

アニメーションを再生するには、アニメーションとスクリプトを宝箱にアタッチします。

スクリプトでは以下のコードを実行すると、アニメーションを再生します。

「The AnimationClip ‘xxxx’ used by the Animation component ‘xxxxx’ must be marked as Legacy.」エラーが出た

なんかアニメーションをレガシーにせよ!と怒られました。

これの対処方法はとしては、以下の通り。

  1. アニメーションを複製する。(複製したアニメーションは宝箱の外に出ます。)
  2. 複製したアニメーションのレガシーにチェックを入れる

右上のメニューでDebugを選択します。

Legacyにチェックをします。

これで終了です。

お疲れ様でした。

参考

https://heppokoprogramer.seesaa.net/article/417421703.html