Industry

  • ホーム
  • 業界情報
  • ゲームエンジン「Unity」とは?2D・3Dゲームの作り方や実際に作られたゲーム事例を紹介
お役立ち情報

ゲーム開発に興味があるけれど、どこから始めれば良いかわからないという方も多いのではないでしょうか。そうした方におすすめするのが、Unity(ユニティ)です。Unityは、2Dや3Dのゲームを簡単に開発できるツールとして、幅広いユーザーに支持されているゲームエンジンです。

この記事では、Unityの使い方からゲーム開発の手順、Unityを使用して作られた人気のゲーム事例まで解説します。ゲーム開発を始める上で参考になるため、ぜひ最後までご覧ください。

目次

CG・ゲーム業界のプロとして働くならクリエイティブアカデミーがおすすめ

近年、CGなどのグラフィック技術の向上に伴いCG・ゲーム業界が盛り上がりをみせています。そんな成長し続けているCG・ゲーム業界で働きたいという方も多いのではないでしょうか。CG・ゲーム業界で働きたいのであれば、クリエイティブアカデミーでCG・ゲームについて学ぶのがおすすめです。クリエイティブアカデミーの特徴は以下のとおりです。

  • 業界就業率90%を超える圧倒的な実績
  • 過去6年で543名がプロとして就職
  • 密度の高いフィードバックが貰える少人数コース制度
  • 業界で活躍するプロフェッショナルが現場レベルで指導
  • 有名案件を多数制作1000人を超えるスタジオ機能

クリークアンドリバーの最大の特徴は、圧倒的な就業実績です。過去6年で543名がプロとして就職していて、業界就業率も90%を超えます。就業先にはSEGAやCygamesなどの誰でも知っているような企業もあり、CG・ゲーム業界で働く最短経路を辿ることができます。

11のコースが展開されていて、なりたい未来に合わせてコースを選ぶことができます。密度の高いフィードバックが貰える少人数コース制度をとっていて、業界で活躍するプロフェッショナルから現場レベルで指導してもらえます。

アカデミーの半年間で人生を劇的に変えた方も多いです。ゲーム・CGのプロとなって「自分の人生を変えたい」という方は、ぜひクリエイティブアカデミーから挑戦してみてください。

>>クリエイティブアカデミーで人生を変えたい方はこちら

Unityとは?

ここでは、Unityについて詳しく解説します

Unityは誰もが使えるゲームプログラミング開発ツール

Unityは、誰もが使えるゲームプログラミング開発ツールで、簡単にいうとゲームプログラミングのお道具箱のようなツールです。C#やJavaScriptなどのプログラミング言語で本格的なゲームの開発ができます。

プログラミング初心者でもオリジナルゲームを作れる設計で、多くの個人開発者もクオリティの高いゲームを完成させています。「ゲームを作りたいけど難しそう」「そもそも初心者でもゲームは作れる?」と思うかもしれませんが、Unityなら可能です。

Unityでできること

Unityでは、主に以下の3つが行えます。

  • ゲームの開発
  • AR/VRの開発
  • スマホアプリの作成

それぞれ詳しくみていきましょう。

ゲームの開発

Unityを使えば、2Dおよび3Dゲームの開発が簡単に行えます。モバイルやゲーム機、Webなど多くのプラットフォームに対応しているため、一度の開発で多くのデバイス向けに出力が可能です。

たとえば、デスクトップ向けではMacやWindows、Linuxに対応しています。家庭用ゲーム機向けには、PS4やPS5、Nintendo Switchなどにも対応可能です。このような柔軟性により、幅広いユーザーの手に届きやすくなります。

AR/VRの開発

Unityは、AR(拡張現実)やVR(仮想現実)アプリケーションの開発にも最適なプラットフォームです。ARKitやARCore、HTC ViveやPlayStation VRなどに対応しており、リアルで没入感のある体験を提供できます。

複雑な3D空間でのゲームを簡単に作成でき、教育や医療、エンターテインメントなどさまざまな分野での応用がも可能です。これにより、次世代の技術を活用した革新的なコンテンツを作り出すことができます。

スマホアプリの作成

Unityは、スマートフォン向けアプリケーションの開発にも優れたツールです。iOS、Androidなどのモバイルプラットフォームに対応しており、複数のデバイス向けに出力することができます。

そのため、スマートフォン特有の操作やインターフェースを活用し、直感的で魅力的なアプリを作成が可能です。

Unityの価格・プラン

Unityの価格・プランは以下のとおりです。

無料版PlusPro
対象者学生・個人開発者初級~中級者プロの開発者・大規模プロジェクト
使える機能最新バージョンの主な Unity プラットフォーム・Unity のプラットフォームの最新バージョン
・スプラッシュスクリーンのカスタム化
・基本的なクラッシュとエラーのレポート
・Unity Plus の全機能
・ゲームコンソールへの公開
・パートナーアドバイザーによるガイダンス
・優先的カスタマーサービス
・AR/MR のための Unity Mars ツール
・Havok Physics for Unity for ECS-based projectsなど
価格無料・年間支払い:約57,000円
・月々支払い:約5,700円
・年間支払い:約290,000円
・月々支払い:約27,000万円

表のように、Unityでは3つのプランを展開しています。無料版は16歳以上の学生や個人開発者向けで、最新のUnityプラットフォームが使用可能です。

Plusプランは初級から中級の開発者向けで、スプラッシュスクリーンのカスタム化やクラッシュレポート機能が利用できます。Proプランはプロ向けで、年間約290,000円、月々約27,000円で全ての機能が利用可能です。

Unityが選ばれ続けている理由

Unityは、初心者からプロまで多くの方に利用されていますが、なぜ選ばれ続けているのでしょうか。ここでは、選ばれ続ける理由について詳しくみていきましょう。

価格が安いから

Unityは、そのコストパフォーマンスの高さが魅力の1つです。無料版は学生や趣味の個人開発者に最適で、基本的な機能を無料で利用できます。

さらに、Plusプランは月々約4,750円で、Proプランでも月々約2.4万円で利用可能です。これにより、低コストで高機能なゲーム開発環境を手に入れられ、個人から大規模なプロジェクトまで幅広く対応します。

本格的な仕様だから

Unityは、その本格的な仕様により、多くの大手企業やプロのクリエイターも利用しています。たとえば、任天堂株式会社や株式会社スクウェア・エニックスは、ゲームエンジンとしてUnityを採用しています。

Unityの安定したエンジンによって、開発者が基礎部分に時間を費やす必要がなくなり、機能や環境整備に集中できるようになったため、制作がスムーズになりました。アクションゲームやRPG、パズルゲームやシミュレーションゲームなど幅広いジャンルのゲームの制作が可能です。

アセットストアが充実しているから

Unityのアセットストアは、他のユーザーが作成したプログラムの部品や素材を公開・販売する場として非常に充実しています。キャラクターモデルやテクスチャ、音楽やスクリプト、エディタの拡張機能などさまざまなアセットが簡単に手に入ります。

これにより、開発者は一から全てを作成する必要がなく、効率的なゲーム開発が可能です。

マルチプラットフォームに対応しているから

Unityは、マルチプラットフォームに対応しているため、さまざまなデバイス向けにゲームをリリースできます。モバイルやデスクトップ、ゲーム機さらにはVR/ARデバイスまで多岐にわたるプラットフォームでプレイが可能です。

Unityでは、C#のプログラミング知識があれば、ほぼすべてのプラットフォームで動くゲームを開発できます。そのため、一度の開発で多くのユーザーの手に届き、開発効率が飛躍的に向上します。

ノンプログラミングでゲーム開発ができるから

従来のゲーム開発では、高度なプログラミングスキルが必要でしたが、Unityを使えばその必要はありません。プログラミングスキルがなくても、キャラクターの動作や3Dのゲームステージの設置が可能です。

簡単なゲームであれば、ノンプログラミングでも開発できるため、ゲーム開発のハードルを大幅に下げています。そのため、Unityは初心者がゲーム開発を始めるための最適なツールといえます。

学習難易度が低いから

先述の通り、Unityはの強みは初心者でも扱える操作性です。プログラミングスキルがなくてもゲーム開発が可能な点で、学習難易度が低いと評価されています。操作方法を覚えれば、視覚的にゲーム開発ができるため、初心者でも取り組みやすい構造です。

特に「Unity2018.1」以降のバージョンでは日本語対応が進み、学習時のハードルが低く、誰でも簡単に始められます。2020年に開催された全国の高校生・高専生対象のUnityインターハイでは、Unity歴9ヶ月の高校生が準優勝しました。こうした事例からも分かる通り、Unityでは短期間で高品質なゲームの制作が可能です。

Unityの導入方法

ここでは、Unityの導入方法についてみていきましょう。Unityの導入方法は以下のとおりです。

  1. Unityの公式サイトから最新のUnity Installerをダウンロード
  2. Installerを起動し、指示に従ってインストール
  3. 「Agree」を選択。インストール後、Unity Hubを起動
  4. アカウントにログインし、基本設定を完了
  5. Unity Hubで「Unityエディターをインストール」
  6. Unity Hubの「新しいプロジェクト」をクリックして開発開始

公式サイトには、さまざまなチュートリアルやドキュメントが豊富に用意されています。これらを活用することで、Unityの使い方やゲーム開発の基礎を効率的に学ぶことが可能です。特に初心者向けのガイドやビデオチュートリアルは、初心者の方にとって非常に役立つのでチェックしてみましょう。

Unityの操作方法

続いて、Unityの操作方法についてみていきましょう。Unityの操作は以下の手順で行います。

  1. 操作画面を理解する
  2. ボールと箱を用意する
  3. ボールが落ちるようにする
  4. Sphereにタグをつける

それぞれ詳しく解説します。

①操作画面を理解する

Unityの画面は、すべて英語で表現されているため、初めて触れる方には少しわかりづらいかもしれません。ここでは、各ビューの名称と機能を紹介します。

Scene view(シーンビュー)

Scene view(シーンビュー)とは、実際にステージ制作やオブジェクトの配置を行う画面です。シーン=場面のことで、「タイトル」や「バトル」などの場面を操作します。Scene viewは、作成しているゲーム世界に相互作用するため、ゲーム全体を意識してオブジェクトを配置することが重要です。

また、キャラクターに動きをつける場合は画面上の見え方も重要になります。そのため、さまざまな角度から配置したオブジェクトを確認し、操作することで不自然な部分が発生しないかをチェックしましょう。

Game view(ゲームビュー)

Game view(ゲームビュー)とは、ゲームを再生したときの画面です。シーンとゲームを分割して表示でき、ゲームプレイ時のプレビュー画面として使います。メニューバーとプレビュー領域を上手く使い分け、実際のゲーム画面ではどのように見えるかを追求することが重要です。

背景やオブジェクトなどゲームを構成する要素がどれほど素晴らしくても、魅力が引き出せなくては面白くないゲームと思われることもあります。素晴らしいゲームを作るためにも、ゲームビューを上手く活用して、プレイヤーの心を引き込むゲームを作りましょう。

Hierarchy view(ヒエラルキービュー)

Hierarchy view(ヒエラルキービュー)は、シーン内のプレイヤーや敵、壁やメニューボタンなどのオブジェクト一覧が表示されます。Hierarchy viewを使ってできることは、主に以下のとおりです。

  • 3Dモデルの追加・削除
  • 3Dモデルへのスクリプト・マテリアルのアタッチ
  • シーンの編集
  • 複数シーン同時作業

それぞれ詳しくみていきましょう。

Project view(プロジェクトビュー)

Project view(プロジェクトビュー)は、画像や音楽、プログラムなどゲームのデータがすべて表示されます。複数のシーンを管理する際に使用します。Project viewできる作業は、主に以下の2つです。

  • シーンやスクリプト、マテリアルなどのファイルを追加・削除
  • シーンの切り替え(ダブルクリック)

Inspector view(インスペクタービュー)

Inspector view(インスペクタービュー)は、選択したオブジェクトの詳細設定を行う画面です。オブジェクトの位置や当たり判定の設定など、細かい調整を行います。Inspector viewを使えば、オブジェクトやマテリアルなど、全てのプロパティが編集可能です。細かい設定が可能なため、細部を突き詰めて調整する際に活用しましょう。

②ボールと箱を用意する

ある程度操作画面を理解できたら、「ボールが落下して、箱に触れると消える」という簡単なプログラムを作りましょう。まずは次のように操作してみてください。

  1. 上部メニューの「GameObject」から「3D Object」を選び、「Cube」をクリックして、画面に四角い箱(Cube)を表示してください。
  2. 同じく「GameObject」から「3D Object」を選び、「Sphere」をクリックして、画面に球体(Sphere)を表示します。
  3. Sphereを真上に移動させましょう。Inspector Viewで「Sphere」のY軸の位置を「0」から「5」に変更し、Cubeの真上に配置します。

③ボールが落ちるようにする

次に、ボールが箱に向かって落ちるように設定します。ボールが落ちる動きを表現するためには、ボールに重力を設定する必要があります。具体的には、以下の手順で操作していきましょう。

  1. Inspector Viewで「Sphere」を選択し、最下部の「Add Component」をクリックします。
  2. 検索バーに「Rigidbody」と入力し、表示された「Rigidbody」をクリックして追加しましょう。
  3. これでSphereに重力が働くようになります。再生ボタンをクリックしてゲームを実行すると、SphereがCubeに向かって落ちるのを確認できます。

④Sphereにタグをつける

最後に、ボールが箱に触れたら箱が消えるプログラムを作ります。ボールにタグをつけて箱に認識させましょう。必要な操作手順は以下の通りです。

  1. 左のHierarchy ViewでSphereを選択し、右のInspector Viewで「Untagged」をクリックして「Add Tag」を選びます。
  2. 「+」ボタンをクリックし、テキスト入力欄に「ball」と入力して新しいタグを作成します。
  3. 再びSphereを選択し、Inspector Viewで「Untagged」を「ball」に変更してタグをつけます。

これで、「Sphere」に「ball」のタグがつけられました。同じタグを持つオブジェクトに一斉に命令を出すことで、効率的にゲーム開発を進めることができます。

Unityのプログラム作成の手順

ここからは、実際にプログラムを書いていきましょう。ここでは「Sphere(ボールl)」と「Cube(箱)」が触れたら、「Cube」を消すプログラムを作成します。

まず、「Hierarchy View」で「Cube」を選択し、「Inspector View」で「Add Component」をクリックしてください。現れたバーの下部にある「New Script」を選択し、スクリプト名を「CubeScript」と入力して「Create and Add」をクリックします。これでスクリプトが作成されました。

次に、「CubeScript」をダブルクリックしてVisual Studioを開きます。既に書かれているコードを残し、以下のコードを追加します。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CubeScript : MonoBehaviour
{
    void Start()
    {
    }

    void Update()
    {
    }

    void OnCollisionEnter(Collision collision)
    {
        if (collision.gameObject.tag == "ball")
        {
            Destroy(this.gameObject);
        }
    }
}

このコードでは、「ball」と「Cube」が触れた時に「Cube」を消す処理を行います。OnCollisionEnter関数は、物体が衝突したときに呼び出されif文でタグが「ball」かどうかを確認し、「Destroy(this.gameObject)」で「Cube」を消します。

コードを入力したら、「ファイル」→「保存」をクリックします。Unityに戻り、プログラムが反映されるのを待ちましょう。これで、「Sphere」が「Cube」に触れたときに「Cube」が消えるようになります。

最後に、作成したプロジェクトを保存してくだい。「File」→「Save」を選び、ファイル名を「3DBall」とします。これで基本的なプログラム作成が完了しました。次はこのゲームをさらに発展させていきましょう。

【初心者向け】Unityでの2Dゲームの作り方

2Dアクションゲームの基本的な作り方を見ていきましょう。

まず、Hierarchyから2D Object > Tilemapを選択します。クリックすると、SceneにGridが表示され、網目状のシーンが確認できます。次に、Tile Paletteを使用するために、AssetsフォルダーにPalletsとTileAssetsというフォルダーを作成しましょう。

Window > 2D > Tile Palettesを選択し、Create New Paletteを作成してPalletsに保存します。TileAssetsにwhitetileという画像を保存し、それをTile Paletteにドラッグ&ドロップしてください。ブラシでタイルを選択し、Sceneビュー上をクリックしてステージを作成します。

地面部分ができれば、当たり判定の設定を行います。作成したGrid内のTilemapを選択し、Add ComponentをクリックしてTilemap Collider 2Dを追加してください。これにより、地面部分に緑の線が表示され、キャラクターが地面に立つための当たり判定が設定されます。

次に、キャラクターにアニメーションをつけてジャンプさせます。Hierarchyから2D Object > Spriteを選択し、Assets内にScriptフォルダーを作成してC# Scriptを作成しましょう。ファイル名はPlayerControllerとします。PlayerControllerスクリプトに以下のコードを追加します。

System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerController : MonoBehaviour {
    Rigidbody2D rigit2D;
    float jumpPower = 100.0f;

    void Start () {
        this.rigit2D = GetComponent<Rigidbody2D>();
    }

    void Update () {
        if (Input.GetKeyDown(KeyCode.Space)) {
            this.rigit2D.AddForce(transform.up * jumpPower);
        }
    }
}

次に、作成したSpriteのInspectorでAdd Component > PlayerControllerを選択し、Rigidbody 2Dを追加してGravity Scaleを0に設定します。実行すると、Spriteが地面から離れてジャンプするのを確認できます。これで、2Dアクションゲームの基本的なステージとキャラクターの動作が完成しました。

【中・上級者向け】Unityでの3Dゲームの作り方

ここでは、中・上級者向けに以下の3Dゲームの作り方を紹介します。

  • 公式入門ゲーム「玉転がし」
  • パズルゲーム
  • 3D Game Kit ライト

それぞれみていきましょう。

公式入門ゲーム「玉転がし」

3Dゲーム制作に興味を持つ方には、Unity公式の「玉転がし」チュートリアルは非常におすすめです。まず、Unity Hubを起動し、「新しいプロジェクト」を選択します。「3D」コアを選び、「プロジェクト名」と「保存場所」を設定し、問題がなければ「プロジェクトを作成」をクリックします。

別途画面が立ち上がればプロジェクト開始です。詳しいチュートリアルは公式サイトで確認してみましょう。

パズルゲーム

Unityの「Creator Kit: パズル」は、ビー玉をゴールまで導くシンプルなパズルゲームを作成するチュートリアルです。このキットを使うことで、物理演算を駆使したゲームメカニクスや難易度調整の方法を学ぶことができます。

「Creator Kit: パズル」を始めるには、まず「新しいUnityプロジェクトの作成」を完了し、Unity Asset Storeから専用アセットをダウンロードします。次に、プロジェクトを開き、「Window」メニューから「Package Manager」を選択します。タブが開いたら「packages: in project」を開き、「My Asset」を選択してください。

ダウンロードしたアセット一覧が表示されるので、「Creator Kit: Puzzle」を選び、「Download」ボタンをクリックします。ダウンロード後、「Import」を選択してUnityにアセットをインポートします。これで開発の準備が整いました。続きのチュートリアルは公式サイトで確認してください。

3D Game Kit ライト

3Dゲーム制作においては「3D Game Kit ライト」もおすすめです。このキットは、美麗なグラフィックや軽快な動作を伴うシンプルな3Dゲーム制作を学べる教材です。3Dゲーム制作スキルに加えて、「ゲームコマンド」「体力」「テレポート」などの重要なゲーム要素の実装方法を習得できます。

「3D Game Kit ライト」を始めるには、まず「新しいUnityプロジェクトの作成」をして、専用アセットをUnityにインストールします。手順は「Creator Kit: パズル」と同様で、Unity Asset Storeから専用アセットをダウンロードしてください。プロジェクトを開いたら、「Window」メニューから「Package Manager」を選択し、「packages: in project」を開いて「My Asset」を選びます。

そして、アセット一覧から「3D Game Kit」を選び、「Download」をクリックします。ダウンロード完了後、「Import」を選択してアセットをUnityにインポートしましょう。これで開発を始める準備が整います。詳細なチュートリアルは公式サイトで確認できます。

Unityで作られた実際のゲーム事例

ここでは、Unityで作られた実際のゲーム事例を4つ解説します。

白猫プロジェクト|アクションRPG

白猫プロジェクトは、スマートフォン向けの本格的なアクションRPGです。テレビCMでもよく見かけるこの人気ゲームは、Unityの3Dゲームエンジンを使用して開発されています。また、高品質なグラフィックスと滑らかな操作性が特徴で、多くのプレイヤーに愛されているゲームです。

Plusプラン以上では、利用できるマルチプレイヤー機能を活用し、複数のプレイヤーが同時にプレイ可能です。

ポケモンGO|VR/ARのゲーム

ポケモンGOは、UnityのVR/AR機能を駆使して作られたスマホ向けのゲームです。リリース直後から世界中で爆発的な人気を博し、多くの人々が街中でポケモンを探している姿を見た方も多いのではないでしょうか。

現実世界を背景にポケモンが登場するAR機能が特徴で、ユーザーは実際の風景の中でポケモンを捕まえる体験ができます。

teamLabBody|3D人体解剖アプリ

Unityはゲーム開発だけでなく、教育や医療分野にも利用されています。その1つの例として、teamLabBodyが挙げられます。teamLabBodyは、医療教育のための3D人体解剖アプリで、骨格や関節の動きを3Dで再現しているのが特徴です。

テキストだけでは理解しにくい解剖学や運動学の知識を、直感的に学べます。そのため、学生や医療従事者にとって非常に便利なツールとなっています。

visiMax Mobile|建築のシュミレーター

visiMax Mobileは、建築の設計やプレゼンテーションに用いられるVRシミュレーターです。このアプリを使用することで、建物の内部や外部の様子を詳細に確認することができます。

模型やCGではわからない質感や広さの感覚など、設計段階でのイメージと施工後現実との違いを小さく抑えることができるようになります。また、クライアントへのプレゼンテーションにおいてもリアルな体験を提供できるため、訴求力の向上にもつながります。

CG・ゲーム業界のプロとして働くならクリエイティブアカデミーがおすすめ

近年、CGなどのグラフィック技術の向上に伴いCG・ゲーム業界が盛り上がりをみせています。そんな成長し続けているCG・ゲーム業界で働きたいという方も多いのではないでしょうか。CG・ゲーム業界で働きたいのであれば、クリエイティブアカデミーでCG・ゲームについて学ぶのがおすすめです。クリエイティブアカデミーの特徴は以下のとおりです。

  • 業界就業率90%を超える圧倒的な実績
  • 過去6年で543名がプロとして就職
  • 密度の高いフィードバックが貰える少人数コース制度
  • 業界で活躍するプロフェッショナルが現場レベルで指導
  • 有名案件を多数制作1000人を超えるスタジオ機能

クリークアンドリバーの最大の特徴は、圧倒的な就業実績です。過去6年で543名がプロとして就職していて、業界就業率も90%を超えます。就業先にはSEGAやCygamesなどの誰でも知っているような企業もあり、CG・ゲーム業界で働く最短経路を辿ることができます。

11のコースが展開されていて、なりたい未来に合わせてコースを選ぶことができます。密度の高いフィードバックが貰える少人数コース制度をとっていて、業界で活躍するプロフェッショナルから現場レベルで指導してもらえます。

アカデミーの半年間で人生を劇的に変えた方も多いです。ゲーム・CGのプロとなって「自分の人生を変えたい」という方は、ぜひクリエイティブアカデミーから挑戦してみてください。

>>クリエイティブアカデミーで人生を変えたい方はこちら

まとめ

Unityは、初心者でも簡単に扱えるゲームエンジンとして、多くの方に利用されています。その最大の魅力は、複雑なプログラミングスキルがなくても、3DゲームやVR/ARゲームなどを容易に制作できる点です。

この柔軟性と使いやすさは、ゲーム開発のハードルを下げ、ゲーム開発をしたい方にとって非常にありがたいツールといえるでしょう。まずは無料版でUnityの魅力を体感し、その無限の可能性を探求するために、ぜひ一度触れてみてください。