Search

検索したいワードを入力してください

2019年06月07日

ゲーム開発エンジンのUnityとは何か、特徴を徹底解説

ゲーム開発エンジンの「Unity」をご存知でしょうか。テレビCMでみかける有名ゲームの多くがUnityで制作されています。本記事ではUnityの機能と使用事例、学ぶ際の参考書などをご紹介します。興味があれば、Unityを使ってゲーム開発をしてみましょう。

Unityとは

ゲームを作っている人なら、「Unity」という単語を目にしたり耳にしたりしているのではないでしょうか。ゲーム作成者でなくても、コミケやソーシャルゲームで、「Unityちゃん」というキャラを知っているという人もいるでしょう。

「Unity」も「Unityちゃん」も、ユニティ・テクノロジーズが開発したマルチプラットフォーム対応のゲーム開発エンジンのことを指しています。Unityは、一部のマニアックな人たちのものではなく、テレビCMなどでもおなじみのソーシャルゲームでも利用されています。

ゲーム開発エンジンとは

Unityはゲーム開発エンジンですが、ゲーム開発エンジンとは、実際にはどのような働き(機能)をするものなのか、実体はどういうものなのか、ご存知でしょうか。

ゲーム開発エンジンは、ゲーム開発に必要とされる知識や技術が不足している人でも、ゲームの開発ができるレベルの環境を提供してくれるツールです。ゲーム開発の専門技術者でなくても、市販のゲームを開発できる「ゲーム開発環境・ツール」と言い換えることもできます。

ゲーム開発に必要なこと

1つのゲームを完成させるために、必要とされる知識と技術は多岐にわたります。リソースを読み込む機構、ポリゴンを表示する技術、メモリ管理、パフォーマンス調査ツールなど、専門的な知識が必要になります。

ゲームを楽しむだけで、作ったことがないという人は、これら必要となる知識の名称すら、ちんぷんかんぷんでしょう。わかりやすいところでも、音の出力、画像の表示というユーザーインターフェースにあたる部分も、実現させるためには大量のプログラムが必要になります。

ゲーム開発エンジンを利用する意味

ゲーム開発エンジンには、素人が構築するのは難しい開発環境が備えられています。ゲームに限らず、システムの開発環境や動作環境を整えることは、開発の事前作業でありながら、技術と知識・時間が必要になる作業です。

開発環境が簡単に整えられ、多くのゲーム開発エンジンでは、効率よくゲーム開発を行えるように「ゲームエディタ」も備えられているので、ゲーム開発エンジンさえ導入すれば、すぐにプロ並みの開発環境でゲーム開発ができることになります。

Unity以外のゲームエンジン

世の中に新しく、面白いゲームを望む声は多く、そのゲームを効率よく開発できるゲームエンジンは、Unity以外にも存在します。ゲームエンジンごとに一長一短あるので、制作するゲームによって使用するゲームエンジンを適宜選択するようにします。

Unity以外のゲームエンジンで作られたゲーム

Epic Gamesの「Unreal Engine4」というゲームエンジンでは、「ドラゴンクエストXI 過ぎ去りし時を求めて」、「ドラゴンボール ファイターズ」、「ストリートファイターV」、「キングダム ハーツIII」などが制作されています。

国産ゲームエンジンの「OROCHI」では、「ガンダムブレイカー」シリーズ、「デス エンド リクエスト」などが制作されています。

Unityを使う理由

多くのゲームエンジンが存在し、それぞれが特徴を持つ中、Unityが多くのゲーム開発に使われていることには、どのような理由があるのでしょう。

多くのゲーム開発者が、Unityをゲームエンジンとしてゲーム開発をしているのは、Unityの持つ特徴や、Unityを使うことで得られるメリットに魅力があるためです。ここでは、ゲームエンジンとしてのUnityの魅力についてご紹介します。

Unityは世界最大のシェア

Unityは、ゲーム開発エンジンとしては、世界ナンバー1のシェアを誇り、世界中で最も使われているゲーム開発エンジンとして知られています。100万人以上の開発者が使っているといわれています。

世界最大のシェアを誇るゲームエンジンが、なぜゲーム開発に携わる多くの人たちから、さらに選ばれることになっているのかといえば、ゲームエンジンそのものの魅力とは別に「仲間が多い」という強みがが得られるためです。

多くの人が使っているということは、「わからないことがあれば聞くことができる」仲間がいること、相談相手がいることにもつながります。

米国のUnity Technologiesが提供するゲームエンジン

Unityは、米国のUnity Technologiesが提供するゲームエンジンです。本社は米国のサンフランシスコにあります。その日本法人がユニティ・テクノロジーズ・ジャパン合同会社です。

「Unity-chan(ユニティちゃん)」という萌えキャラは、ユニティ・テクノロジーズ・ジャパン合同会社のマスコットキャラクターとして発表されたものです。

ユニティちゃんは、利用条項とガイドラインを守れば、二次創作を行うことも許されているので、「オープンソース系ヒロイン」と呼ばれています。

様々なプラットフォームでゲームを作れる

Unityはマルチプラットフォーム対応なので、Unityを使って開発したゲームは、モバイルやデスクトップ、ゲーム機、Webなど、多くの環境で遊ぶことができます。

Unityがカバーしているプラットフォームは、モバイル向けであればiOSやAndroid、Windows Phone、Fire OSに対応しています。パソコン向けとしてはMacOSやWindows、Linuxに対応できます。

ゲーム専用機としてもXboxやPS3、PS4、PlayStation VITA、WiiUなど、多くの機種に対応できます。

Unityで作ったゲームはほぼすべての端末で利用できる

一部ご紹介したように、Unityは多くのプラットフォームに対応しているため、複数のプラットフォーム用のゲームを開発するためにゲームエンジンを変える必要もなく、容易に複数のプラットフォームに対応できるので、生産効率も高くなります。

ゲーム専用機も、現行の機種を網羅できているので、各ゲーム機のコアなユーザーのニーズにも、応えることができます。

2D,3Dどちらでも対応している

ゲームエンジンの中には、2D専用のものや、3D専用のものも存在しますが、Unityでは、2Dにも3Dにも対応しているため、Unityがあれば状況やニーズに応じて、どちらのゲームでも制作可能です。

マルチプラットフォームであり、2D、3D双方に対応していることから、スマホ、ゲーム専用機、パソコンなど、ゲームをプレイする機器を特定せずに、広い範囲の開発が行えます。

Unityを使ったゲーム作品例

Unityは、最も使用されているゲームエンジンなので、Unityにより開発されたゲームはかなりの数があります。Unityで制作されたほんの一部ですが、以下のゲームが有名です。

・Pokemon GO
・白猫プロジェクト
・テラバトル
・英雄伝説 暁の軌跡
・Super Mario Run
・ドラゴンクエストVIII 空と海と大地と呪われし姫
・バイオハザード アンブレラコア
・スーパーボンバーマン R

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

Unityでは、Unityを使ってユーザーが作成したプログラムの部品や素材などが、アセットストアで公開・販売されており、開発者が購入することができます。自分のアセットを販売することもできます。

キャラクターモデルやテクスチャ、オーディオといった素材や、スクリプト、エディタの拡張機能などのプログラミング部品などを簡単に入手することができます。アセットストアで素材や部品を手に入れることができるので、効率的にゲーム開発を行うことができます。

機能の拡張や効率的な開発を実現できる

アセットストアでは、スクリプトやエディタの拡張機能なども手に入れることができるので、自分の開発環境を充実させるために、自分の技術で機能拡張を行わなくても、簡単に高機能を手に入れることができます。

アセットストアに開発者たちが拡張機能を公開・販売することで、ゲームエンジンはブラッシュアップされ、高速で進化していくことになります。

直感的にゲーム作成ができる

Unityを使って行う簡単な3Dゲームの制作なら、プログラミングなしで行うことも可能です。一般的に、初心者には困難といわれる3Dゲームの開発も、Unityでは、専門知識がなくてもゲームキャラクターを自由に動かしたり、ゲームステージを設置したりできます。

Unityは、初心者でも、比較的容易にロジックを実装できるように考えられたゲームエンジンだといえます。

専門知識がなくても物理エンジンをすぐに導入できる

ゲームエンジンは、プログラミングなどのIT知識や技術がそれほど高くない人でも、一律ゲーム開発が行えるように作られています。ゲームエンジンの中でもUnityは、専門知識がなくても、物理エンジンをすぐに導入できるように作られています。

Unityで使用する主なプログラミング言語

Unityでは、ノンプログラミングでも、ある程度のゲームを作ることができます。しかし、ほかのゲームとの差別化を図る意味でも、ノンプログラミングで実現できる以上のことを実装したいという人は、プログラミングを行うことで高度なゲームを制作できます。

Unityで使われるプログラミング言語には、JavaScriptやC#、Booなどがあります。ただし、Unity2018以降は、基本的にC#一択となっています。

JavaScript

JavaScriptは、Unity2018より前のUnityでは利用可能であり、初心者やプログラミングにあまり自信がないという人には、一番人気がありました。しかし、Unityは、公式にJavaScriptの廃止を発表しています。

Unity2018より前のバージョンでは「JavaScript」を選択肢から選べましたが、2018以降では、選択肢にはC#しか表示されなくなっています。それでもJavaScriptで作成したスクリプトを強制的に動作させることはできます。

しかし、Unity公式として廃止を発表しているので、これからUnityを使い始めるという人は、C#によるスクリプト記述を覚え、使いましょう。

C#

C#は、マイクロソフトが開発したプログラミング言語です。C言語はプログラミングの基本言語のひとつで、派生した拡張言語にはC++もあります。オブジェクト言語なので、初心者にはプログラミング構造がわかりにくい可能性もあります。

プログラミングの主流となっているC言語やJavaとも似たプログラミング構造なので、プログラミングを始めようと考えている人はC#から入るのも勉強になります。

Boo

Booもオブジェクト指向のプログラム言語です。処理系はフリーソフトウェアで、MITライセンス/BSDライセンスで配布されています。Booは2003年ごろから使われるようになった言語です。

Pythonに影響を受けた文法構造なので、Pythonに取り組んだことがある人にはなじみやすい言語です。Unityでは開発用の3言語の1つでしたが、Unity2018ではJavaScript同様に対象言語から外れてしまいました。

Unity用JavaScriptであることに注意する

JavaScriptは、Unity2018以降は基本的に使えなくなりますが、Unity2018より前のバージョンにおいても、一般的にWeb画面で使用されるJavaScriptとは仕様が異なっていました。

Unityで使用できるJavaScriptは、Unity独自の言語仕様となっていました。通常のJavaScriptを使い慣れており、「使い慣れているJavaScriptならUnityの開発効率もあがるだろう」と考えて取り組むと、混乱してしまうことになります。

無料で利用できる

Unityは、利用目的やレベルに合わせて4つのライセンスで提供されています。個人でゲームを作ってみたい、というレベルであればライセンス無料で利用できます。無料のUnityは「Personal版」になります。

Personal版は、Unityの機能を試したい人や趣味でゲームを作成したい人、初心者、学生を対象にしています。無料ですが、すべてのコアエンジンの機能やサウンド、アニメーションなどの最新機能が利用できます。

有料版は75ドル/月

Unityには無料で使えるPersonal版のほか、以下の3種類のライセンスが提供されています。有料版の主流は「Pro」でしたが、無料の「Personal」と有料「Pro」の中間的な位置づけとして「Plus」というライセンス体系も追加されました。

【有料ライセンス】
・Plus
・Pro
・エンタープライズ向けUnity

Plusは月額35ドルですが、年間契約をする必要があります。Proは月額125ドルですが、2年契約で前のバージョンから継続している場合は、1年間だけ月額75ドルで利用できます。

ゲームエンジンとして成熟している

Unityを使って制作できないゲームはほとんどないといえるほど、Unityはゲームエンジンとして成熟しています。複雑なプログラミングをしないで3Dゲームが作れるなど、「ゲームを作ってみたいが技術がない」という人をも惹きつける魅力があります。

3D/2Dだけでなく、VR/ARなどの新しい機能にも対応が早く、Unityはゲームエンジンとしてだけでなく、ほかのシステム開発にも活用が広がっています。

Unityの開発事例

Unityを使えばアクションやアドベンチャ―、ロールプレイング、パズルやクイズ、シミュレーションゲームなど、ジャンルを問わずにゲームを開発できます。ポケモンGOがUnityで開発された話は、ゲーム関係者の間では有名です。

AndroidやiOSにも対応しているので、スマホのアプリ開発にも活用できます。WindowsとMac OS、Linuxにも対応しているので、パソコンで動作するソフトの開発にも活用できます。ここでは、実際にUnityを使って開発された、ゲームやアプリケーションの事例をご紹介します。

Pokemon GO

スマホ向けのVR/ARのゲーム「Pokemon GO」は、VR/ARのゲーム制作においてのUnityの存在感を示す結果になりました。

説明するまでもありませんが、Pokemon GOは、AR機能により、画面内に現実風景を映し出し、表示されたポケモンを捕まえるゲームで、リリース直後から老若男女問わず、爆発的にヒットしました。

スーパーマリオラン

「片手であそぶ、新しいマリオ」というキャッチコピーで、シンプルな仕組みながら、画面をタップするだけで楽しく遊べるゲームに仕上がっています。

遊んでみたことのある人であれば実感することですが、スーパーマリオランはかなりクオリティの高いゲームです。このゲームの開発にもUnityが使われています。

teamLabBody

新感覚の展示などで有名な「チームラボ」でもUnityが使われています。チームラボでは、ゲームではない分野でUnityを使用している事例のひとつです。

チームラボがUnityを使って制作した「teamLabBody」は、医療教育の分野で使用されている3D人体解剖アプリです。人間の骨格や関節の動きを3Dで再現し、人体模型や各部位も3Dで詳細に表示することができます。

テキストのカラー図解以上にわかりやすく、人体解剖や運動学的知識の習得、治療や手術の事前確認などをリアルに行うことができます。

visiMax Mobile(竹中工務店)

visiMax Mobileもゲーム以外の分野でUnityが活用された事例です。visiMax Mobileは、竹中工務店がUnityを使って制作した、建物内部や外部の様子をVRで体感できるシミュレーターです。

従来建築の分野では、立体模型を作って完成予想を示していましたが、visiMax Mobileでは、模型やCGではわからなかった「詳細な質感」や「日当たり」などを実感できます。

また、実際の広さを設計段階で感覚として確認できるので、完成してみたらイメージが違っていた、というトラブルを避けることができます。

開発初心者におすすめのUnity学習書

今までIT系の仕事をしていたわけではないけれど、Unityを使ってゲームを作ってみたい、というIT初心者のUnity初学者におすすめのUnity学習書をご紹介します。

プログラミングは「習うより慣れろ」という部分もありますが、何もわからなければ、とっかかりもつかめません。まずは初心者向けの学習書を読み、Unityの概略的な使い方を覚えましょう。

Unity2018入門 最新開発環境による簡単2D&3Dゲーム制作

「Unity2018入門 最新開発環境による簡単2D&3Dゲーム制作」は、Unityを使っていく上での参考書として、慣れてきてからもパソコンの近くに置いておくことをおすすめします。

内容は、Unityを使う上での準備や操作の仕方から、実際に何かを作ってみる「〇〇を作ってみよう」という作り方を教えてくれる説明まで、はじめの1歩にふさわしい1冊です。本書は、通称「ひよこ本」と呼ばれ、Unity利用者から親しまれています。

私の苦労して、身に着けた基礎的な事が惜しみもなく次々と書いてあります!
ただ、上級者には役に立たないだろう。
基礎的な事が、分からない方、おすすめです!

出典: https://amzn.to/2WqGsuZ |

UnityではじめるC# 基礎編

Unityを使って、さらに高度なゲームや機能を作りたくなってくると、プログラミングが必要になります。Unity2018以降は、プログラミングはC#に一本化されます。

初学者にとってC#は、プログラムの流れを理解するのが難しい可能性もありますが、参考書で提示されるサンプルプログラムを記述し、動作させることで、徐々にプログラミングが楽しくなってくるはずです。

二週間ほどで無事、全ページを実践できました。
どんな細かい操作であっても画面キャプチャ付きで操作指示が書かれており、Unityをいじりながら読み進めることが非常にスムーズにできました。
実際手を動かしながら読むと分かるのですが、間違いやすい箇所や落とし穴にも驚くほどフォローが効いていて、それでいて(この手の本にありがちな)筆者の自分語りなど余計な記述は一切なく簡潔な文章。
また、練習課題で使う機能やScriptが、実際にアプリを使い始めると知りたくなるScriptと一致しているため、Unityで実現できることが自然と頭に入ってくる作りになっていて基礎編としては本当によくできていると思いました。
素晴らしい教材です。

出典: https://amzn.to/2YXLXho |

Unityの教科書 Unity 2018完全対応版 2D&3Dスマートフォンゲーム入門講座

本書は、購入者のレビューを参照しても「初学者にわかりやすい説明で記述されている」という点で定評があります。

本書では「〇〇しよう」という各章・節のタイトルにあるように、少しずつUnityを使って実現させていくことで、機能を習得できるような構成になっています。説明を読んでも頭に入ってこない、という人でもUnityを習得できる構成になっています。

Unityの本はたくさん出ているので、どれにしようか迷いましたがこの本を選んで良かったと思いました。
Unityの学習以外にも、プログラムの基礎の習得やオブジェクト指向の入門にもに使える素晴らしい本です。
昔、プログラミングのスタイルが手続き型からオブジェクト指向に切り替わった時、オブジェクト指向の本を何冊も読みました。この本のオブジェクト指向に関する説明は全ての範囲を網羅しているとは言えないけれど、入門者にとって必要な事を簡潔にまとめていて、今まで読んだ本の中で一番です。
オブジェクト指向をゲームを題材に説明するとこんなに敷居が低くなるのか・・・とビックリしました。
この著者は何かを人に説明するという才能に恵まれた人です。

出典: https://amzn.to/2WEOP5o |

まずは無料のUnityを使ってゲーム開発してみよう

Unityは個人で試しに使ってみる場合、ライセンスを無料で使うことができます。Unityの各機能は使うことができるので、自分が開発作業を行う上で、Unityが有効であるかどうかを見極めることができます。

まずは、Unityの無料ライセンスを使って簡単なゲームやアプリを作ってみましょう。自分が作ってみたいものを製作するのに、Unityで効率化が図れるのか、自分にとって使い易いゲームエンジンなのか、見極めてみましょう。

Related