LoginSignup
0
0

More than 3 years have passed since last update.

【Unity】ノンコーディングでオブジェクトを動かしたい【Animation】

Last updated at Posted at 2020-07-06

前説

当記事の動画解説はこちらから

【unity】Animationを使って、ノンコーディングでオブジェクトを動かしてみよう

サムネ用.png

さて、
【Unity】いったりきたりするオブジェクトをつくるのように、
わざわざスクリプトに書かなくても、
Cubeの移動などはAnimationクリップでかんたんに移動させることができます。
また、Animationクリップを作成することによって、
自動的にアニメーターコントローラーなどアタッチされるため、
ぜひ有効活用していきたいコンポーネントのひとつです。

下図は、今回の作例です。
スクリーンショット 2020-07-06 10.04.27のコピー.png

応用すればこうなる

応用すれば、要スクリプト必須ですが、
動いている横方向のオブジェクトに、プレイヤーを載せることもできます。
(今回の記事では解説しません)
スクリーンショット 2020-07-06 11.54.57.png
下記動画は、その様子です。(解説動画ではありません)

動く床に擬似プレイヤーを載せてみた


参考元

Unityユーザーマニュアル

Animationウィンドウの利用法

ゲームオブジェクトのアニメーション化


準備編

[Window]メニューから、[Animation]を選択して、さらに[Animation]を選択する。
スクリーンショット 2020-07-06 9.56.29.png

下図のように、Animationウィンドウが表示されるので、わかりやすい場所にドッキングする。
ドッキングの仕方がわからない場合は、【unity】ウィンドウタブの動かし方を参照。
スクリーンショット 2020-07-06 9.57.07.png

動かしたいオブジェクトを選択する。
今回は、「MoveCube」という名前で、Cubeを動かす。
スクリーンショット 2020-07-06 9.57.00.png

Animationウィンドウで、[Create]ボタンを押下する。
スクリーンショット 2020-07-06 9.57.07のコピー.png

下図のウィンドウで、アニメーションクリップ名を決める。
(この名前で、アニメーターコントローラーのアセットも作成される)
スクリーンショット 2020-07-06 9.57.32.png

今回は、オブジェクトと同じ名前で、「MoveCube」という名前にした。
スクリーンショット 2020-07-06 9.58.02.png

Animationウィンドウも、下図のように変わる。
スクリーンショット 2020-07-06 9.59.09.png

なお、下図のようにアニメーターコントローラーも、アセット内に作成されるが、今回は使用しない。
スクリーンショット 2020-07-06 9.59.28.png

以上が、オブジェクトをアニメーションさせるための準備となる。
次からは、実際にオブジェクトを動かしてみよう。


実践編

今回は、

  • 1秒で目的の場所へ「MoveCube」が移動して
  • 1秒で元の場所へ戻る

アニメーションを作っていく。

まずは、下図の枠内に「60」と入力する。
(ミリ秒なので、60ミリ秒 = 1秒 という意味)
スクリーンショット 2020-07-06 10.02.43.png

下図のレコードボタンを押下する。
(レコードボタンを押下することによって、その時間のオブジェクトの位置などを記録(レコード)することができる)
スクリーンショット 2020-07-06 10.02.51.png

移動させたい場所へオブジェクト(今回は「MoveCube」)を移動させたり、TransformコンポーネントのPositionの値を変更する。
(下図は、編集の都合でヒエラルキーウィンドウやインスペクターウィンドウの配置がデフォルトと異なるので、混乱しないように注意)
スクリーンショット 2020-07-06 10.03.19.png

変更できたら、下図のように、Animationウィンドウのレコードボタンを忘れずに押下する。
押下前
スクリーンショット 2020-07-06 10.03.34.png
↓ このように、赤い表示がなくなる。
スクリーンショット 2020-07-06 10.03.42.png

レコードボタンの押し忘れには注意すること。

再生ボタンを押下すると、オブジェクトの動きを確認することができる。
スクリーンショット 2020-07-06 10.04.27のコピー.png

同様に、
「120ミリ秒(2秒)後に、元の場所へ戻る」ようにしたい。
あえてスクショには枠などを設けていないので、上のページを見ながらチャレンジしてほしい。

「120」を入力する。
スクリーンショット 2020-07-06 10.05.10.png

レコードボタンを押下する。
スクリーンショット 2020-07-06 10.05.26.png

オブジェクトを、元の場所へ戻るよう、Positionの値を変更する。
(下図の例では、x,y,zともに0,0,0とした)
スクリーンショット 2020-07-06 10.05.42.png

レコードボタンを押下して、レコード状態を解除する。
スクリーンショット 2020-07-06 10.05.10.png

再生ボタンを押下して、オブジェクト(今回なら「MoveCube」)がいったりきたりすれば成功。


おまけ編

オブジェクトのpositionだけでなく、rotationやscaleも変更することができる。
Animationウィンドウの[AddProperty]を押下すると、各項目が表示される。

スクリーンショット 2020-07-06 10.06.28.png
スクリーンショット 2020-07-06 10.06.36.png

下図は、RotationとScaleをそれぞれ追加したもの。
スクリーンショット 2020-07-06 10.06.56.png

時間を指定して、レコードボタンを押下して設定すれば、位置だけでなく、
回転やサイズも変更することができる。
ぜひチャレンジしてみよう。
スクリーンショット 2020-07-06 10.07.57.png


animation に関する応用テクニック

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0