【Unity】アニメーション作成の基礎を解説!回転の付け方・再生方法も

世界中で150万人の開発者※が使用している、ゲームエンジンの開発プラットフォームが「Unity(ユニティ)」です。特に、スマホアプリでUnityのロゴを見かけることが多く、なんとなく名前や存在を知っている方は多いのではないでしょうか?

※Unity’s IPO filing shows how big a threat it poses to Epic and the Unreal Engine

ゲーム作成に興味がありUnityを使用しようと思っても、何から手をつけていいのかよく分からないという方も多いはずです。 Unityはプログラミング言語を使用しますが、覚えることが多いので「自分にはハードルが高い…」と感じてしまいがちです。

この記事ではUnity初心者の入門編として、プログラミング言語には触れずに、Unityの概要から簡単な回転アニメーションの作り方・再生方法まで、実際にUnityの開発画面を見ていきながら画像付きで解説します。

Unityとは

Unity(ユニティ)は、Unity Technology(ユニティ テクノロジー)が開発・販売するゲームエンジンです。IDE(統合開発環境)が内蔵されていて、ゲーム開発に必要な機能・ツールが一通り揃っています。Unityで開発できるゲームは多岐にわたります。2Dゲームだけでなく、3Dゲームの開発にも利用されていて、世界的ブームとなった「Pokémon GO」もUnityによって制作されています。

※参照記事:ゲームエンジン開発の米ユニティ、1億8100万ドルの大型資金調達

ゲーム開発以外にもAR/VRコンテンツの制作、自動車の設計、建築プロジェクトのシミュレーションなどにも幅広く利用されています。また、Unityはプログラミング言語の知識が無くても簡単なゲームであれば制作可能です。日本語対応でWeb上の情報も充実しているため、ゲーム開発の入門としてもおすすめです。

Unityは基本的に有料ですが、無料版の「Unity Personal(ユニティ パーソナル)」も用意されています。Unity Personalは「収入および資金調達(自己資金を含む)の過去12ヶ月の合計が年間10万ドルを超えていない」という条件を満たしていれば商用利用も可能です

この記事では実際にUnity Personalの画面を見ていきながら解説します。

※Unityのプラン詳細に関しましては公式サイトよりご確認ください。

\文字より動画で学びたいあなたへ/

Udemyで講座を探す >

Unityを使ったアニメーションの作成方法

初めにUnityを使ったアニメーションの作成方法を見ていきましょう。

この記事では

  1. アニメーションビューの表示方法
  2. アニメーションさせるオブジェクトの作成方法 
  3. アニメーションの設定方法

の3項目に分けて順に解説していきます。

1. アニメーションビューの表示

Unityでアニメーションを作成する時は「アニメーションビュー」という専用の画面で作業する必要があります。まずはUnityのプロジェクトを作成しましょう。画面左の「Projects」項目を選択して「New project」をクリックしてください。「New project」をクリックすると、下記の通りプロジェクトの設定画面が表示されます。

今回は、シンプルな2Dのテンプレートを使用し、プロジェクト名は「Unity-tutorial」にしました。設定が完了したら画面右下の「Create project」をクリックしてください。

下記の「Unityの開発画面」が表示されることを確認してください。

アニメーションビューを表示するには「Window > Animation > Animation」の順に選択します。

アニメーションビューは開発画面の好きな位置にドラッグ&ドロップで移動させることができます。今回は画面下部に移動させました。

アニメーションビューには選択されているゲームオブジェクトと紐付けられているアニメーションクリップのタイムライン・キーフレームが表示されます。

2. ゲームオブジェクトの用意

ゲームオブジェクトとはUnityで作成された小道具、背景、キャラクターなどのことを指します。ゲームオブジェクトには、コンポーネントと呼ばれる様々な機能を追加できます。コンポーネントにはTransformコンポーネント(位置・回転・拡大率を設定する)などがあり、複数のコンポーネントを組み合わせることで、さまざまな動きを作成できます。

コンポーネントは自作することもできます。自作のコンポーネントは適用させたいゲームオブジェクトをスクリプトで取得することによって利用可能になります。試しにゲームオブジェクトを作成してみましょう。「HierarchyウィンドウでMain Cameraの上で右クリック > 2D Object > Sprites > Triangle」というように選択します。

「Triangle」をクリックすると、下記の通り三角形が追加されます。

Inspectorウィンドウを見ると、Transformコンポーネントが自動的に追加されていることが分かります。

3. アニメーションの作成

最後にアニメーションを作成します。今回はアニメーションクリップを利用してアニメーションを設定する方法を解説します。

「Projectウィンドウ > Assets > 右クリック > Create > Animation」という順に選択してください。

「.animファイル」が作成されるのを確認してください。これがアニメーションクリップです。今回は「Sample」という名前に設定しました。

アニメーションクリップをゲームオブジェクトに紐付けます。アニメーションクリップを「Hierarchyウィンドウ」にある「Triangle」にドラッグ&ドロップしてください。

InspectorウィンドウにAnimatorコンポーネントが追加されました。これでアニメーションを設定する準備が整いました。

今回は「オブジェクトが大きくなる」シンプルなアニメーションを作成します。アニメーションビューで「Add Property > Transform > Scale」を選択してください。

「Triangle:Scale」という項目が追加されるのを確認し、この数値を変更してアニメーションを設定してください。

タイムラインの目盛りが「1:00」の位置にバーを移動させて(あるいは左上の数値を60にする)「Scale.x」「Scale.y」「Scale.z」の数値をそれぞれ「3(倍)」に変更してください。

これで「三角形のオブジェクト」が「0:00から1:00にかけて(1秒)」「3倍に」大きくなるアニメーションを作成できました。

グラフ

自動的に生成された説明

アニメーションの設定方法(回転)

「オブジェクトが回転する」アニメーションを作成する方法も解説していきます。オブジェクトが回転するアニメーションを作成する前に、先ほど作成したアニメーションを一旦「アニメーターコントローラーで無効」にする方法を説明します。アニメーターコントローラーはアニメーションクリップを管理する機能で、複数のアニメーションクリップを切り替える(遷移させる)ことができます。

「Projectウィンドウ」に「.controllerファイル」が作成されますのでcontrollerファイルをダブルクリックします。

下記の通り、Animatorウィンドウが表示されました。ここでアニメーションクリップを管理できます。

先ほど作成したアニメーションクリップ(Sample)に矢印が付いており、オブジェクトに紐付いていることが分かると思います。

このSampleの上で右クリックし、「Delete」を選択すると削除できます。

次に、新しいアニメーションクリップを作成します。「Projectウィンドウ > Assets > 右クリック > Create > Animation」という順に選択してください。

今回は「Sample-2」という名前に設定しました。

アニメーションクリップをゲームオブジェクトに紐付けます。今回は「Hierarchyウィンドウ」ではなく、「Animatorウィンドウ」にドラッグ&ドロップしてください。

下記の通り線が表示され、Sample-02が自動的に紐付けられます。

ここまで準備できたら、オブジェクトが回転するアニメーションの設定に入ります。アニメーションビューで「Add Property > Transform > Rotation」を選択してください。

「Triangle:Rotation」という項目が追加されるので、確認してください。

タイムラインの目盛りが「1:00」の位置にバーを移動させて(あるいは左上の数値を60にする)Rotation.zの数値を「360(度)」に変更してください。

これで「三角形のオブジェクト」が「0:00から1:00にかけて(1秒で)」「1回転する」アニメーションを作成できました。

アニメーションの再生方法

最後に作成したアニメーションを再生してみましょう。アニメーションの再生はアニメーションビューの左上にある「再生コントロール」で行います。

再生コントロールの「▶」マークでアニメーションの再生・停止ができます。

この記事は実際のUnityの開発画面を見ながらUnityの概要から簡単な回転アニメーションの作り方・再生方法までを解説しました。こうしてUnityの機能を見てみるとプログラミング言語の知識が無くても使える機能が多く、思ったよりもゲーム開発が身近に感じられると思います。Unityはまだまだ奥が深いので、本格的に学びたいという人はUdemyの講座で学んでみてはいかがでしょうか?