“Unity”というゲームエンジンの存在は、よくゲームをプレイする人やゲーム業界にいる人ならば知っていると思います。
実際のところ、Unityは業界においてトップクラスの人気を誇り、それどころかゲーム以外の分野でも活躍しています。
今回はそんなUnityについて、特徴や活用事例、これからUnityを使ってみたい人にオススメ学習サービスなどを紹介していきます。
Unityの概要
Unityとは何か
Unityは、2005年にユニティ・テクノロジーズが開発した100万人以上の開発者が利用しているゲームエンジンで、正式名称はUnity3Dです。
異なるプラットフォーム上で同じ仕様のものを動かすクロスプラットフォームに対応しており、モバイルゲームやパソコンゲーム、ブラウザゲームなどの制作に使われます。
ゲームエンジン自体はC言語/C++で書かれており、開発者はC#を用いたプログラミングが可能です。
ちなみに、ユニティ・テクノロジーズ・ジャパンが提供するマスコットキャラクター“ユニティちゃん”なるものも存在しています。
彼女は、ゲームエンジンのUnityのアセット(素材)として利用できる形で配布されており、キャラクター設定などの彼女を取り巻く世界のすべてが“設定アセット”であるという、ゲームエンジンであるUnityらしい独特の特徴を持っています。
なお、iOS/Android用アプリ『乖離性ミリオンアーサー』やアニメ『バーチャルさんはみている』に登場した経験もあるため、Unityは知らないけれど彼女のことは知っているという人もいるかもしれません。
そもそもゲームエンジンとはどのようなものか
ゲームエンジンとは、コンピュータゲームの動作において主要な処理を行うために用いられる共通のプログラムです。
その定義は曖昧で、現代においてはソフトを効率よく開発するために汎用性が高く、開発作業を各自共有化しやすくされたミドルウェアの集合体を指します。
プログラマーがプログラミング上のライブラリを共通化したものは“フレームワーク”として区別されます。
具体例を挙げて説明すると、“物体が地面に落下した時の運動”のような対象を特定しない抽象的なゲーム用プログラムの集合体がゲームエンジンとなります。
ゲームエンジンは、ゲーム製作においてアルゴリズム設計・開発の手間を軽減させてくれるだけでなく、エンジンが持つ主要な機能を活用することで大きな恩恵を得られます。
例えば、複数のプラットフォーム(PS4/Nintendo Switch/Xbox One)に対応する共通仕様を持ったゲームエンジンを利用すれば、マルチプラットフォーム対応のゲームを作りやすくなります。
また、時代の流れとともにゲームが発展していったことに伴い、物理現象や音源の方向性などの映像および音声に関するクオリティも向上し、ゲーム以外の分野で使われるようにもなりました。
例として、Unreal Engine4はTVおよび劇場アニメにおける背景の制作にも使用されています。
ゲームエンジンは開発した組織の資産として活用される他、他社へのライセンス契約を通した貸与や無料配布なども行われることがあります。
無料配布に関しては、企業に属さないフリーのクリエイターや個人に大きな恩恵をもたらし、“インディーズゲーム(個人や小規模の開発チーム、新規独立系企業、同人サークルなどが作成したタイトル)”や“インディーズゲームクリエイター”の増加・発展に大きく貢献しました。
Unityを使う際に必要なもの
Unityを使用する際に特別な機器などは必要なく、基本的にはパソコンさえあれば作業を行うことができます。
また、OSはMacおよびWindowsの両方に対応していますが、iPhone用ゲームを作製する際にはMac専用の機能と連携する必要があるため注意しておきましょう。
なお、パソコンが古い場合にはUnityが対応していない可能性もあるため、気になる人は公式サイトで確認しておきましょう。
Unityの使用用途
ゲーム開発
当然ながら、ゲームエンジンの本来の用途であるゲーム開発においてUnityはおおいに活躍します。
『ポケモンGO』や『Fate/Grand Order』といった有名なモバイルゲームはもちろん、アクションゲームの『JUDGE EYES:死神の遺言』、音楽ゲームの『DEEMO』、恋愛アドベンチャーゲームの『D.C.III ~ダ・カーポIII~』などの幅広いジャンルで活用されています。
その他、『Cuphead(カップヘッド)』、『Overcooked(オーバークック)』、『Helltaker(ヘルテイカー)』といったインディーゲームにもUnityが使われています。
自動車産業
自動車の設計では、UnityのVR機能を活用することで完成時の車内環境を実際に目で見て確認できます。
また、設計以外にも活躍の機会があり、車外状況や運転環境を確認できるビューモニターや自動運転技術のシミュレーション開発で使う機会もあります。
その他、Microsoftが開発するAirSim(自動運転システムのシミュレーター)と連携可能な“AirSim on Unity”も発表されています。
Unityのアセットストアでダウンロードできるさまざまな環境のアセットを利用して、車両とドローンの両方に対応した都市、郊外、田舎などの運転環境を構築できます。
医療現場
Unityは医療分野でも活用されており、人体解剖学に関するアプリケーション『teamLabBody -3D Motion Human Anatomy-(teamLabBody)』が発表されています。
『teamLabBody』は、整形外科教授・菅本一臣氏の研究チームによる“生きた人間の関節の動き”の研究成果をベースとしたアプリケーションです。
人間の骨格や関節の動きを3Dで忠実に再現したり、3Dの人体模型や各部位を詳細に表示したりできます。
本アプリは“2013 Unity Award”にて“Best VizSim Project”賞を受賞し、大阪行岡医療大学にデジタル教科書として導入されるなど、高い評価を獲得しています。
建築業界
Unityでは、“BIM Importer”というツールを使用することで、Building Information Modeling(BIM)データを取り込むことできます。
“BIM”とは、建築物をコンピューター上の3D空間で構築し、企画・設計・施工・維持管理に関する情報を一元化して活用する手法のことです。
BIMでは、各パーツの形状(3D)、寸法、素材、性能、価格といった情報が保存されているため、設計図の制作や建築時の作業効率を高めてくれます。
データをUnityに取り込むことでシミュレーションやVR/MR用コンテンツの舞台として利用できるので、BIMデータを施工現場や工場で利用されるロボットのシミュレーションなどに活用できます。
また、建物内部や外部の様子をVRで体感できる“visiMax Mobile”というシミュレーターも存在します。
模型やCGではわからなかった詳細な質感や日当たり、広さの感覚などを設計段階で確認できるため、イメージと実際の施工後の外観との食い違いを避けられる他、プレゼンテーションの訴求力向上にもつながります。
Unityの活用事例
『白猫プロジェクト』
『白猫プロジェクト』はコロプラのアクションRPG(公式ジャンル名称:ワンフィンガーRPG)で、2014年7月25日よりiOS版、7月14日よりAndroid版が配信されています。
本アプリにおけるエフェクト制作がUnity活用事例の1つで、仕様の策定やモデル、テクスチャの作成の後、Unityによってエフェクトが制作されています。
コロプラでは、ヒット、エフェクト、サウンド、アクションを付けていくための内製エディター“ActionEditor”が使用されており、フィードバックを通して改修も加えられています。
『アイドルマスター シンデレラガールズ スターライトステージ』
『アイドルマスター シンデレラガールズ スターライトステージ』はバンダイナムコエンターテインメントのアイドルリズムゲームで、2015年9月10日よりiOS版、同年9月3日よりAndroid版が配信されています。
リズムゲームであることから60fpsをキープすることが命題であったことと、開発においてグラフィックスのアイドルらしさを追求していくことが目標とされており、検証の結果Unityが選ばれたとのことです。
また、開発効率の高さや完成したものを確認するまでのスピード、社内における経験の蓄積なども選択の理由になったとのことです。
『ポケモンGO』
『ポケモンGO』は、ナイアンティックとポケモンによって共同開発され、2016年に配信されたiOS/Android用アプリです。
『ポケットモンスター』シリーズと拡張現実(AR)を組み合わせたGPS位置情報ゲームで、GPS機能を使用しながら移動し、ポケモン捕獲、育成、交換やバトルを楽しめます。
UnityはARやVRのゲーム開発にも力を入れており、本作の開発においても活用されました。
TVアニメ『魔法つかいプリキュア!』
TVアニメ『魔法つかいプリキュア!』の後期エンディングテーマ『魔法アラ・ドーモ!』の動画制作にもUnityが使われました。
後期EDテーマの映像はキュアミラクル、キュアマジカル、キュアフェリーチェ、モフルンがダンスを披露するというもので、Unityは後半部分で活用されています。
Unityの導入で時間やコストが軽減されたことにより、背景やエフェクトといった映像パターンのバリエーション制作や、3DモデルのAR、VRコンテンツへの転用が可能になったとのことです。
ちなみに、エンディング制作チームには、日本映画テレビ技術協会主催の“MPTE AWARDS 2017 第70回(2016年度)映像技術賞(アニメーション部門)”が贈られています。
Unityの特徴とメリット
特定の条件下において無料使用可能
Unityでは、年間売上が10万ドル以下の場合に限り、無料の“Unity Personal”を利用できます。
Unity Personalは、初心者向けの内容となっていますが、最新バージョンの主なUnity開発プラットフォームはしっかり利用できます。
また、アセットストアで“3Dの街並み”、“ロボット”、“キャラクターの歩行モーション”といった素材が無料配布されている他、チュートリアルも多数用意されているので、簡単にゲーム開発のスタートダッシュを切ることができます。
もちろん、有償でより高機能の“Unity Plus”、“Unity Pro”、“Unity Enterprise”といったプランも用意されているので、必要に応じてより適したプランに変更していくこともできます。
さらに、Unityが備える有償機能を無償で使用できる学生向けの“Student Plan”というものも存在しています。
日本在住の場合は基準を満たした教育機関に在学中の18歳以上の学生が使用可能です。
幅広いプラットフォームに対応
Unityの対応プラットフォームは、PS4/Nintendo Switch/Xbox ONE/Windows/Mac/iPhone/Androidなどと多岐にわたっており、マルチプラットフォームのゲーム制作に向いています。
使用する言語はC#で、プラットフォームごとに変わることはありません。
2Dと3Dの両方に対応
Unityは2Dゲーム、3Dゲームの両方に対応しています。
新しいプロジェクトを作成する際に2D/3Dモードを選択し、その内容によって画像のインポート時に、テクスチャとして扱うかスプライトとして扱うかといったUnityエディターのさまざまな設定が決まります。
なお、作成時に決定したモード設定にかかわらず、2D/3Dモードを切り替えはいつでもエディター上で簡単に行えます。
3Dグラフィックを使用した2D横スクロールゲームを作成する場合は3Dモードでエディターを起動する必要があるので、ゲームは2Dモードで設定しつつ、ゲーム作成時はほとんどが3Dモデルとなります。
2Dグラフィックのゲームにおいて、透視投影カメラで視差効果のあるスクロールを行う場合は、ゲーム開発では2Dモードで行い、カメラの投影モードは透視投影、シーンビューは3Dモードを使用することとなります。
ノンプログラミングで制作可能
Unityで開発するほとんどのコンテンツはテキストベースのプログラミングに依存していますが、Unityやコーディングに関する経験がほとんどない場合でもゲームの製作が可能です。
無料バージョンのUnityエディターをダウンロード処理中、完成したMicrogameを選択でき、Microgameは起動するとエディターで自動的に開きます。
Microgameが開かれた状態からエディターの対話式のチュートリアルに従うことで、すぐにMicrogameに簡単な変更を加えることができます。
ガイドに従うことで、Unityでのクリエイティブタスクを段階別に進められます。
また、チュートリアル完了後は、用意されたMODで、カスタマイズを行うことも可能です。
もちろん、JavaScriptやC#といったプログラミング言語を覚えることで、さらに高度な開発やカスタマイズが可能になります。
トライ&エラーを手軽に行える
Unityエディターには、作制したゲームの実行および状態確認を行える“ゲームビュー”が搭載されているため、トライ&エラーによる開発が一般的となっています。
“ゲームビュー”では、ゲーム実行時でもパラメーターやオブジェクトを調整可能な他、カメラが複数ある場合は2つのカメラ映像を同時に確認できるので、より細かい調整を手軽に行えます。
オススメのUnity学習サービス
Unity Learn(Unity Learn Premium)
Unityが公式に発表しているチュートリアルサイトで、使い方を学ぶためのチュートリアル・コースウェアがまとめられています。
以前は“Unity Learn”が無償提供、“Unity Learn Premium”が有償提供となっていましたが、2020年6月にUnity Learn Premiumも無料提供となりました、
ボリュームはなんと350時間以上で、初心者向けのチュートリアルから中・上級者へのステップアップ、業種でのユースケース、ワークフローに対応した専門性の高いコンテンツなど、密度の高い学習を行えます。
また、ユーザーごとに学習進捗を記録できる機能もあるため、Unity IDでログインして学習進捗を記録することで、どのコースウェアをどこまで進めたかを把握できます。
あえてデメリットを上げるとするならば、コンテンツには基本的に英語が使用されているということには注意しておく必要があるでしょう。
テキスト資料は翻訳機能を使用することで理解できますが、動画資料を見る場合にはある程度英語が理解できる必要があります。
初心者の学習サイトとしては多少オーバースペックとも感じられますが、Unityでのゲームの個人制作には十分すぎる情報が用意されていることや、本サイトの内容を理解できた=初心者を卒業できたといって差し支えないボリュームがあることから、活用して損のないサイトといえるでしょう。
Unity ユーザーマニュアル
Unityの公式オンラインマニュアルで、個別テクニックや知識が体系的にまとめられています。
前述の“Unity Learn”などで学んだ知識と結びつけ、Unityについて深く理解していく際に有用です。
あくまで公式オンラインマニュアルなので、Unity Learn(Unity Learn Premium)で学習しているならば無理に読破する必要はないですが、他の学習サイトと併用したり、作業中に機能を思い出したりするときに活躍します。
学習していてわからなかった部分の確認や、学んだ知識や技術を整理する際に使用するのがよいでしょう。
ドットインストール
1講座3分以内の動画を使う学習サービスで、基礎部分は全項目無料、プレミアム会員(980円/月)になることで中上級者向けの学習や動画再生速度、ボイス変更が行えるようになります。
本サービスで受けられるレッスンの中には、Unityの使用言語であるC#のレッスンも用意されているため、“プログラミング言語の知識がない/覚えたい”、“より高度な開発やカスタマイズが行えるようになりたい”という人には特にオススメです。
OpenBook
OpenBookは、誰でもオンライン上で本を作成できるサービスで、Unityの導入から基礎的な操作、簡単なピンポンゲームの作成までを扱う“Unity入門”が公開されています。
本コンテンツでは、基礎的な物理演算や摩擦、アプリの書き出しなどさまざまな技術を覚えることができます。
全12セクションで無料閲覧可能となっており、これまでに紹介したものと比べると“Unity Learn”よりも手軽で“ドットインストール”よりもコストがかからないという点が魅力です。
ただし、作製からだいぶ時間が経っているため、多少資料として古くなっている点には注意が必要です。
オススメのUnity学習本
UnityではじめるC# 基礎編
Unityで個人ゲーム制作を行っている、いたのくまんぼう氏が監修した本です。
C#の基礎をUnityで簡単なスマホアプリをつくりながら習得していく内容となっており、本書を参考に学習していくことで、2本のゲームアプリをUnityで作成できます。
難しい文法や概念は使わないシンプルなプログラムにするべく腐心し、カスタマイズやステージ追加を行いやすいように設計された力作です。
Unityの寺子屋 定番スマホゲーム開発入門
『UnityではじめるC# 基礎編』の続編となる入門書で、同じくいたのくまんぼう氏が監修を行っています。
続編というだけあって前者のものより高度な内容となっており、放置ゲームや横スクロールアクションを制作できます。
また、巻末にはアプリの販売や宣伝、ゲーム内への広告配置のコツといった収益を上げるためのノウハウも掲載されています。
現場ですぐに使える! Unity 2019逆引き大全319の極意
本書は、Unity 2019の基本的な操作方法から応用技までのテクニック319個を紹介する、ゲーム開発の現場ですぐに使えるUnity開発者向けTips集です。
Unityはバージョンアップを繰り返すごとに機能が豊富になっており、実際にUnity 2019ではScriptable Render Pipeline、Shader Graph、GPU Instancingなどの新機能が加わっています。
やりたいことから引ける便利な逆引き形式となっているので、ある程度の知識がついてきたら本書を使ってUnityの便利なテクニックを探してみてはいかがでしょう?
まとめ
Unityはプログラミングの知識がほとんどなくても活用できるハードルの低さがありながら、医療や建築などのエンタメコンテンツ以外にも活用できる汎用性の高いゲームエンジンです。
また、公式の資料も充実しており、初心者へのサポートも手厚いといってよいでしょう。
ゲーム開発者だけでなく、3Dで資料などを作成する分野の仕事についているなら触れておいて損のない逸材です。