アニメーションでオブジェクトを動かそう(その2)

アニメーションは簡単で便利だが初心者がつまづきやすい問題も抱えている。このGIF動画のように再生すると位置が変わってしまうのもそのひとつ。
アニメーションはデフォルトだと
ワールド座標に対して設定されてるんだ
ワールド座標に対して設定されてるんだ
ワールド座標!
ワールド座標とローカル座標

ローカル座標はオブジェクト等の位置を基準とした相対座標のこと
アニメーションをローカル座標に設定する


以前は
GenerateRootMotionCurbボタン
というのも押す必要があったけど
Unity2018からなくなったぞ
GenerateRootMotionCurbボタン
というのも押す必要があったけど
Unity2018からなくなったぞ
少し昔のWeb記事だと
そのボタンを説明してるサイトも
多いっすね
そのボタンを説明してるサイトも
多いっすね
バージョンのアップデートで
変わることがあるんだよねぇ……
変わることがあるんだよねぇ……
オブジェクトの拡大/縮小(Scale)をすると位置アニメーションがおかしくなる

あれ?
オブジェクトの大きさを変えたら
動きが早くなった?
これはオブジェクトのScaleが拡大されているため、位置のアニメーションもそのぶん長距離になっている状態である。同じフレーム(時間)で長距離を移動しているから動きも早くなっている。
オブジェクトの大きさを変えたら
動きが早くなった?

オブジェクトごとに個別にアニメーションを設定・調整すれば力技で解決できるが、それは大変だ。この問題を根本的に解決するには、オブジェクトの拡大/縮小(Scale)を設定せず、上のような直方体をスケール1,1,1で用意すればよい。これにはUnityのProBuilderや3Dモデリングソフトを使うが、その説明はまたの機会に……。
拡大/縮小(Scale)で
引き伸ばしたキューブだと
位置も引き伸ばされるってことっすね
引き伸ばしたキューブだと
位置も引き伸ばされるってことっすね
実はこの現象で2時間くらい詰まって
夜中に友達のヤスに
電話かけて教えてもらいました……
夜中に友達のヤスに
電話かけて教えてもらいました……
ちょwww詰まってたんすかwww
ネット検索しても
全然ヒットしなくてな……
ヤス先生ェ
ありがとうございます……
ありがとうございます……
全然ヒットしなくてな……
ヤス先生ェ
ありがとうございます……
ありがとうございます……
この記事が誰かの救いになると願ってるぞ~。
拡大/縮小(Scale)や回転(Rotation)のアニメーション
さて、ここまで位置(Position)のアニメーションを設定してきたが、勝手に自分のやり方で操作する方……もとい、勘のいい方なら気づいたかもしれない。拡大/縮小や回転の
アニメーションもつくれるよ
アニメーションもつくれるよ



ゲームでよくある動き!
アニメーションは便利だね!

とりあえず増やしてみた
ちょwww
難しすぎwww
難しすぎwww
とりあえず増やしたり
数値をでっかくするのは
基本だからサ……
たくさんのオブジェクトが動くのは見ていて面白いが、同じ画面内に動くものがありすぎると訳のわからないゲームになってしまう。ここからは開発者のセンスでデザインしてみてくれ!
数値をでっかくするのは
基本だからサ……
アニメーションカーブ
前回の記事ではドープシート上の数値入力でアニメーションを作成していたが、アニメーションカーブというグラフでも設定することができる。


よくあるエラー"AnimationEvent has no function~"
アニメーションを色々いじっているとエラー「AnimationEvent has no function name specified!」が出ることがある(というか出た)。

このエラーはアニメーションウィンドウ内で誤って「イベントを追加」ボタンを押してしまっていると発生する。


まずはサンプルゲームなどで
オブジェクトに動きをつけて
遊んでみてくれっ!
オブジェクトに動きをつけて
遊んでみてくれっ!