© CREEK & RIVER Co., Ltd.
ゲーム開発に興味があるけれど、どこから始めれば良いかわからないという方も多いのではないでしょうか。そうした方におすすめするのが、Unity(ユニティ)です。Unityは、2Dや3Dのゲームを簡単に開発できるツールとして、幅広いユーザーに支持されているゲームエンジンです。
この記事では、Unityの使い方からゲーム開発の手順、Unityを使用して作られた人気のゲーム事例まで解説します。ゲーム開発を始める上で参考になるため、ぜひ最後までご覧ください。
目次
近年、CGなどのグラフィック技術の向上に伴いCG・ゲーム業界が盛り上がりをみせています。そんな成長し続けているCG・ゲーム業界で働きたいという方も多いのではないでしょうか。CG・ゲーム業界で働きたいのであれば、クリエイティブアカデミーでCG・ゲームについて学ぶのがおすすめです。クリエイティブアカデミーの特徴は以下のとおりです。
クリークアンドリバーの最大の特徴は、圧倒的な就業実績です。過去6年で543名がプロとして就職していて、業界就業率も90%を超えます。就業先にはSEGAやCygamesなどの誰でも知っているような企業もあり、CG・ゲーム業界で働く最短経路を辿ることができます。
11のコースが展開されていて、なりたい未来に合わせてコースを選ぶことができます。密度の高いフィードバックが貰える少人数コース制度をとっていて、業界で活躍するプロフェッショナルから現場レベルで指導してもらえます。
アカデミーの半年間で人生を劇的に変えた方も多いです。ゲーム・CGのプロとなって「自分の人生を変えたい」という方は、ぜひクリエイティブアカデミーから挑戦してみてください。
ここでは、Unityについて詳しく解説します
Unityは、誰もが使えるゲームプログラミング開発ツールで、簡単にいうとゲームプログラミングのお道具箱のようなツールです。C#やJavaScriptなどのプログラミング言語で本格的なゲームの開発ができます。
プログラミング初心者でもオリジナルゲームを作れる設計で、多くの個人開発者もクオリティの高いゲームを完成させています。「ゲームを作りたいけど難しそう」「そもそも初心者でもゲームは作れる?」と思うかもしれませんが、Unityなら可能です。
Unityでは、主に以下の3つが行えます。
それぞれ詳しくみていきましょう。
Unityを使えば、2Dおよび3Dゲームの開発が簡単に行えます。モバイルやゲーム機、Webなど多くのプラットフォームに対応しているため、一度の開発で多くのデバイス向けに出力が可能です。
たとえば、デスクトップ向けではMacやWindows、Linuxに対応しています。家庭用ゲーム機向けには、PS4やPS5、Nintendo Switchなどにも対応可能です。このような柔軟性により、幅広いユーザーの手に届きやすくなります。
Unityは、AR(拡張現実)やVR(仮想現実)アプリケーションの開発にも最適なプラットフォームです。ARKitやARCore、HTC ViveやPlayStation VRなどに対応しており、リアルで没入感のある体験を提供できます。
複雑な3D空間でのゲームを簡単に作成でき、教育や医療、エンターテインメントなどさまざまな分野での応用がも可能です。これにより、次世代の技術を活用した革新的なコンテンツを作り出すことができます。
Unityは、スマートフォン向けアプリケーションの開発にも優れたツールです。iOS、Androidなどのモバイルプラットフォームに対応しており、複数のデバイス向けに出力することができます。
そのため、スマートフォン特有の操作やインターフェースを活用し、直感的で魅力的なアプリを作成が可能です。
Unityの価格・プランは以下のとおりです。
無料版 | Plus | Pro | |
対象者 | 学生・個人開発者 | 初級~中級者 | プロの開発者・大規模プロジェクト |
使える機能 | 最新バージョンの主な 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は、そのコストパフォーマンスの高さが魅力の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の使い方やゲーム開発の基礎を効率的に学ぶことが可能です。特に初心者向けのガイドやビデオチュートリアルは、初心者の方にとって非常に役立つのでチェックしてみましょう。
続いて、Unityの操作方法についてみていきましょう。Unityの操作は以下の手順で行います。
それぞれ詳しく解説します。
Unityの画面は、すべて英語で表現されているため、初めて触れる方には少しわかりづらいかもしれません。ここでは、各ビューの名称と機能を紹介します。
Scene view(シーンビュー)とは、実際にステージ制作やオブジェクトの配置を行う画面です。シーン=場面のことで、「タイトル」や「バトル」などの場面を操作します。Scene viewは、作成しているゲーム世界に相互作用するため、ゲーム全体を意識してオブジェクトを配置することが重要です。
また、キャラクターに動きをつける場合は画面上の見え方も重要になります。そのため、さまざまな角度から配置したオブジェクトを確認し、操作することで不自然な部分が発生しないかをチェックしましょう。
Game view(ゲームビュー)とは、ゲームを再生したときの画面です。シーンとゲームを分割して表示でき、ゲームプレイ時のプレビュー画面として使います。メニューバーとプレビュー領域を上手く使い分け、実際のゲーム画面ではどのように見えるかを追求することが重要です。
背景やオブジェクトなどゲームを構成する要素がどれほど素晴らしくても、魅力が引き出せなくては面白くないゲームと思われることもあります。素晴らしいゲームを作るためにも、ゲームビューを上手く活用して、プレイヤーの心を引き込むゲームを作りましょう。
Hierarchy view(ヒエラルキービュー)は、シーン内のプレイヤーや敵、壁やメニューボタンなどのオブジェクト一覧が表示されます。Hierarchy viewを使ってできることは、主に以下のとおりです。
それぞれ詳しくみていきましょう。
Project view(プロジェクトビュー)は、画像や音楽、プログラムなどゲームのデータがすべて表示されます。複数のシーンを管理する際に使用します。Project viewできる作業は、主に以下の2つです。
Inspector view(インスペクタービュー)は、選択したオブジェクトの詳細設定を行う画面です。オブジェクトの位置や当たり判定の設定など、細かい調整を行います。Inspector viewを使えば、オブジェクトやマテリアルなど、全てのプロパティが編集可能です。細かい設定が可能なため、細部を突き詰めて調整する際に活用しましょう。
ある程度操作画面を理解できたら、「ボールが落下して、箱に触れると消える」という簡単なプログラムを作りましょう。まずは次のように操作してみてください。
次に、ボールが箱に向かって落ちるように設定します。ボールが落ちる動きを表現するためには、ボールに重力を設定する必要があります。具体的には、以下の手順で操作していきましょう。
最後に、ボールが箱に触れたら箱が消えるプログラムを作ります。ボールにタグをつけて箱に認識させましょう。必要な操作手順は以下の通りです。
これで、「Sphere」に「ball」のタグがつけられました。同じタグを持つオブジェクトに一斉に命令を出すことで、効率的にゲーム開発を進めることができます。
ここからは、実際にプログラムを書いていきましょう。ここでは「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」とします。これで基本的なプログラム作成が完了しました。次はこのゲームをさらに発展させていきましょう。
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アクションゲームの基本的なステージとキャラクターの動作が完成しました。
ここでは、中・上級者向けに以下の3Dゲームの作り方を紹介します。
それぞれみていきましょう。
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ゲーム制作においては「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で作られた実際のゲーム事例を4つ解説します。
白猫プロジェクトは、スマートフォン向けの本格的なアクションRPGです。テレビCMでもよく見かけるこの人気ゲームは、Unityの3Dゲームエンジンを使用して開発されています。また、高品質なグラフィックスと滑らかな操作性が特徴で、多くのプレイヤーに愛されているゲームです。
Plusプラン以上では、利用できるマルチプレイヤー機能を活用し、複数のプレイヤーが同時にプレイ可能です。
ポケモンGOは、UnityのVR/AR機能を駆使して作られたスマホ向けのゲームです。リリース直後から世界中で爆発的な人気を博し、多くの人々が街中でポケモンを探している姿を見た方も多いのではないでしょうか。
現実世界を背景にポケモンが登場するAR機能が特徴で、ユーザーは実際の風景の中でポケモンを捕まえる体験ができます。
Unityはゲーム開発だけでなく、教育や医療分野にも利用されています。その1つの例として、teamLabBodyが挙げられます。teamLabBodyは、医療教育のための3D人体解剖アプリで、骨格や関節の動きを3Dで再現しているのが特徴です。
テキストだけでは理解しにくい解剖学や運動学の知識を、直感的に学べます。そのため、学生や医療従事者にとって非常に便利なツールとなっています。
visiMax Mobileは、建築の設計やプレゼンテーションに用いられるVRシミュレーターです。このアプリを使用することで、建物の内部や外部の様子を詳細に確認することができます。
模型やCGではわからない質感や広さの感覚など、設計段階でのイメージと施工後現実との違いを小さく抑えることができるようになります。また、クライアントへのプレゼンテーションにおいてもリアルな体験を提供できるため、訴求力の向上にもつながります。
近年、CGなどのグラフィック技術の向上に伴いCG・ゲーム業界が盛り上がりをみせています。そんな成長し続けているCG・ゲーム業界で働きたいという方も多いのではないでしょうか。CG・ゲーム業界で働きたいのであれば、クリエイティブアカデミーでCG・ゲームについて学ぶのがおすすめです。クリエイティブアカデミーの特徴は以下のとおりです。
クリークアンドリバーの最大の特徴は、圧倒的な就業実績です。過去6年で543名がプロとして就職していて、業界就業率も90%を超えます。就業先にはSEGAやCygamesなどの誰でも知っているような企業もあり、CG・ゲーム業界で働く最短経路を辿ることができます。
11のコースが展開されていて、なりたい未来に合わせてコースを選ぶことができます。密度の高いフィードバックが貰える少人数コース制度をとっていて、業界で活躍するプロフェッショナルから現場レベルで指導してもらえます。
アカデミーの半年間で人生を劇的に変えた方も多いです。ゲーム・CGのプロとなって「自分の人生を変えたい」という方は、ぜひクリエイティブアカデミーから挑戦してみてください。
Unityは、初心者でも簡単に扱えるゲームエンジンとして、多くの方に利用されています。その最大の魅力は、複雑なプログラミングスキルがなくても、3DゲームやVR/ARゲームなどを容易に制作できる点です。
この柔軟性と使いやすさは、ゲーム開発のハードルを下げ、ゲーム開発をしたい方にとって非常にありがたいツールといえるでしょう。まずは無料版でUnityの魅力を体感し、その無限の可能性を探求するために、ぜひ一度触れてみてください。