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

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

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

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

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

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

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

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

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

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

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

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

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

Unity

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

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

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

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

GetComponent<Animation>().Play();

「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

ABOUTこの記事をかいた人

個人アプリ開発者。Python、Swift、Unityのことを発信します。月間2.5万PVブログ運営。 Twitter:@yamagablog