【Unity】ゲーム開発におけるアニメーションの重要性と基礎について

今回は、Unityでゲーム開発におけるアニメーションの重要性やアニメーションの基本的な実装手順について紹介したいと思います。

スポンサーリンク

ゲーム開発におけるアニメーションの重要性

Unityにおけるアニメーションとは?

Unityでアニメーションとは、キャラクター、オブジェクト、UIなどの動きを表現する機能を指します。

ゲームにおいて、アニメーションは動的な表現を可能にし、プレイヤーにとってより魅力的でリアルな体験を提供します。

特にUnityでは直感的なツールやシステムが整備されており、初心者でも基本を押さえればスムーズにアニメーションを作成できます。

1. 没入感を高める

アニメーションは、キャラクターや世界観に命を吹き込みます。静的なモデルや背景だけでは表現できない「動き」が、ゲームにリアリティや感情を加えます。

例えば、キャラクターが攻撃する際に剣を振る動きや、ジャンプの際の体勢の変化は、プレイヤーの体験を豊かにします。

2. ゲームプレイの分かりやすさを向上

アニメーションは、ゲーム内の動作や結果を視覚的に伝える重要な手段です。

  • ボタンを押したときにボタン等のUIが反応して動く。
  • 敵がダメージを受けた際にリアクションする。 これらの動きは、プレイヤーにフィードバックを提供し、ゲームの操作性を高めます。

3. ゲームのデザインや雰囲気を強化

アニメーションのスタイル(リアル、コミカル、ファンタジーなど)は、ゲームの雰囲気を形作ります。

キャラクターの動きや表現がゲームジャンルと一致していると、プレイヤーはゲームの世界観に引き込まれやすくなります。

Unityにおけるアニメーションの基礎

Unityには、アニメーションを作成・管理するための強力なツールが用意されています。以下にその基礎を説明します。

1. Animatorコンポーネント

Animatorは、Unityのアニメーションを制御するシステムです。キャラクターやオブジェクトにAnimatorコンポーネントを追加し、アニメーションを再生したり切り替えたりします。

  • 特徴:
    • 複数のアニメーション(例: 歩く、走る、ジャンプする)を一つのキャラクターに適用。
    • 条件に応じてアニメーションを切り替える「トランジション」を設定可能。

2. Animationウィンドウ

Animationウィンドウは、オブジェクトの動きをキーで記録し、アニメーションを作成するためのツールです。

  • できること:
    • 位置、回転、スケールなどの基本的な動きの記録。
    • カメラやライトのアニメーションも作成可能。

例: キャラクターがジャンプする際、位置のY軸を変化させて、上昇と下降の動きを記録する。

アニメーション作成の基本手順

ここからは、実際に例「キャラクターが歩くアニメーション」例として作成してみます。

1. 新しいUnityプロジェクトを作成

まずは、UnityHubから適当なプロジェクトを作成します。

私は、Unityバージョン2022.3.22f1にてURPでプロジェクトを作成することにします。

2. 必要なアセットをインポート

アニメーションを付けるモデルが必要となるので、Unityのアセットストアから無料または有料のキャラクターモデルをダウンロードするか、自分で用意しましょう。

Unityアセットストアからモデルをインポート

私は、アセットストアから適当にモデルを検索して「FREE Fantasy Low poly Armor Set for RPG」をインポートして使用することにします。

Animatorのセットアップ

1. キャラクターにAnimatorコンポーネントを追加

  1. Planeで床を作成し、プロジェクトビューからキャラクター(モデル)をシーンにドラッグ&ドロップして配置します。
  2. キャラクターを選択した状態で、インスペクターウィンドウを確認。
  3. 「Add Component」をクリックし、Animatorを追加します。私と同様のアセットを使用している場合は、既にAnimatorがアタッチされているかと思います。

2. Animator Controllerを作成

  1. プロジェクトビュー内で右クリック → Create > Animator Controller を選択します。
  2. 新しいAnimatorControllerに名前を付けます。(例: CharacterAnimator)
  3. 作成したAnimatorControllerを、キャラクタープレハブの中にある「spine_01」辺りにAnimatorコンポーネントをアタッチしてCharacterAnimatorをアタッチします。

恐らく、キャラクタープレハブに元々Animatorコンポーネントがアタッチされていると思いますが、そこにアニメーターコントローラーをセットしてしまうと、キャラクターが中腰になってしまう場合があるので、注意してください。

アニメーターコントローラーの設定

Animationクリップの作成

1. Animationウィンドウを開く

  1. Unityメニューから「Window > Animation > Animation」を選択します。
  2. Animationウィンドウが開いたら、キャラクターを選択します。

2. Animationクリップを作成

  1. Animationウィンドウで「Create」ボタンを押します。
  2. 新しいアニメーションクリップの名前にWalkと付けます。
  3. 保存先を選択して「Save」をクリック。

キーフレームを設定

Animationウィンドウで時間軸に基づき、動きを記録します。

  1. キャラクターを動かすプロパティ(位置や回転など)を設定します。
    • 例: キャラクターの足を少し前に動かす。
  2. 時間軸を進めて(例えば1秒)、次のポーズを設定します。
    • 例: 足を後ろに戻し、反対の足を前に動かす。
  3. 動きの流れを確認するために、時間軸を再生してアニメーションをプレビューします。
  4. すべての動きを設定し終わったら、アニメーションを保存します。

とりあえず適当に両足を動かしてみることにしています。動作にこだわりがある場合はちょいちょいアニメーションを再生させつつ調整していくと良いと思います。

 Animator Controllerの設定

1. アニメーションをAnimatorに追加

  1. アニメーターを開いて右クリックして「Create State」→「Empty」でIdleを作成。
  2. プロジェクトウィンドウから「Walk」をドラッグ&ドロップしてアニメーターに移動。
  3. Idleを右クリックして「Make Transition」を選択してWalkをクリック。同様にWalkを右クリックして「Make Transition」を選択してIdleをクリック。

アニメーターの設定

このような状態にします。

遷移条件の設定

1. パラメータの追加

  1. Animatorウィンドウの左側メニューから「Parameters」タブを選択。
  2. 「+」ボタンをクリックして、新しいパラメータを追加します。
    • 名前: isWalking
    • タイプ: Bool(True/Falseの値)

2. トランジション(遷移)の設定

遷移条件を設定します。

    • IdleからWalkへのトランジションを選択し、条件に「isWalkingがTrueのとき」を追加。
    • 逆の遷移も設定し、「isWalkingがFalseのとき」に戻るようにします。

トランジションの設定

スクリプトでアニメーションを制御

  1. プロジェクトビュー内で右クリック → Create > C# Script を選択。
  2. スクリプトに名前を付けます。(例: CharacterController)
  3. キャラクターにスクリプトをアタッチします。
  4. キャラクターのインスペクターから「Spine」に対して「spine_01」を設定します。

スクリプトを実行すると、「W」キー及び「↑」キーにてWalkアニメーションが再生されると思います。

まとめ

Unityにおけるアニメーションは、ゲームのクオリティを大きく左右する重要な要素です。以下を押さえれば、初心者でも簡単にアニメーションを活用できます:

  1. AnimatorとAnimationウィンドウを活用する。
  2. アニメーションのトリガーや条件を適切に設定する。
  3. アセットストアや既存のリソースを利用して効率化する。

これらのポイントを参考に、まずはシンプルなアニメーションから挑戦し、徐々に複雑な動きを取り入れていきましょう!

著者プロフィール
うんくん

IT系に特化した記事がメインです。(Unity多め。)
Udemy講師もやっています。よろしくお願いします。

※Amazonのアソシエイトとして、当メディアは適格販売により収入を得ています。

うんくんをフォローする
unityunity基本操作
スポンサーリンク
シェアする
うんくんをフォローする