【Unity】アニメーション入門|意のままに操る!

animation-aicatch Unity development

物理演算を無視して、自由にオブジェクトを操作する方法はありますか?

もちろん!アニメーションのことだね!

今回は、地面との接触により一時的にボールが潰れるというアニメーションについて解説します。

▼完成イメージ▼

以下の流れで作業を進めていきます。

  • Projectを開く
  • オブジェクト[Plane] と[Sphere]を配置
  • オブジェクト[Plane] と[Sphere]に色を追加
  • オブジェクト[Sphere]に[Animation]を追加

下準備

まずは、ここまでやっていきます。

  1. Projectを開く
  2. オブジェクト[Plane] と[Sphere]を配置
  3. オブジェクト[Plane] と[Sphere]に色を追加

▼ここでの操作方法に不安のある方は、こちらをご参照ください▼

完成イメージは以下のようになります。(具体的なパラメータは以下で解説)

オブジェクトの配置

解説画面と合わせるために、以下のように各オブジェクトの配置や名前を変更していきます。

[Plane]は、オブジェクト名を[Stage]に変更し、[Transform]を以下のように変更します。

同じく[Sphere]は、オブジェクト名を[Basketball]に変更し、[Transform]を以下のように変更します。

[Main Camera]は、[Transform]を以下のように変更します。

Animation追加

Animationウインドウの追加

動きを設定するために、Animationウインドウを追加します。

メニューから、[Window]>[Animation]>[Animation]の順にクリックします。

Animationウインドウが開きます。

お好みで、Animationウインドウをドラッグして、Gameビューにタブとして挿入します。

Animationの設定

[Basketball]にanimationを追加します。

Hierarchyウインドウの[Basketball]を選択し、Animationウインドウの[Create]をクリックします。Animation名を設定するタブが開きますので、[Save As:]を入力して[Save]をクリックします。

Animationウインドウに、先に[Save As:]で入力した[ball_Animation]が追加されます。

Animationを設定したいプロパティを追加します。ここでは[Transform]を追加します。

Animationウインドウの[Add Property]をクリックして、今回は[Position]と[Scale]の右側[+]をクリックします。

オブジェクト[Basketball]の[Position]と[Scale]が追加されます。

項目左の[▶︎]をクリックして展開します。

移動するAnimationの追加

[◆]がある点をAnimationで操作することができます。デフォルトでは、始点(0:00)と終点(1:00)に点が打たれています。新たな点を打って操作できるようにしていきます。

[◆]がある点と点の間に、白の縦線を移動します。青の時間バーで[0:30]付近をクリックします。そして、[◉]録画をクリックし、Sceneビューでオブジェクト[Basketball]をクリックして、[Gizmos]をドラッグします。移動した位置が[Basketball:Position]に反映されますので、必要に応じて、数値を直接入力して調整します。完了したら、再度[◉]をクリックして録画を停止します。

同様の操作は、[Basketball:Position]の[Position.y]右側[●]をクリックして、[Add Key]でも可能です。

動作確認

作成したアニメーションを確認します。

[▶︎]プレイをクリックします。

変形するanimationの追加

地面に衝突時に、ボールが潰れるというアニメーションを追加します。

時間(0:30)に白い線を合わせて、[Basketball:Scale]の[Scale.y]右側の[●]をクリックして、[Add Key]をクリックします。

タイムラインにキーが追加されます。

[Basketball:Scale]の[Scale.y]の値を[1]に変更します。

これで、地面との接触時には潰れた状態になります。

これで、(0:00)〜(0:30)で徐々に潰れていき、(0:30)〜(1:00)で徐々に潰れが解消されます。

次に、地面と接触した瞬間に潰れて、地面と離れる時に潰れが解消されるように変更しています。

[Basketball:Scale]の[Scale.y]の(0:25)と(0:35)にキーを打ち、それぞれ値を[2]に変更します。

これで設定は完了です。

動作確認

[▶︎]プレイをクリックして、作成したアニメーションを確認します。

以上で完了です。

▼ポチッと応援お願いします▼
にほんブログ村 IT技術ブログ Unityへ
にほんブログ村
タイトルとURLをコピーしました