AR開発に使用するゲームエンジン「Unity」を知ろう

2018年2月15日(木)
Jack Masaki

はじめに

前回は「近年のARを取り巻く概況」として、ARとは、というところからVR/AR業界の現状等について解説しました。今回からは、ARKitを使用したARコンテンツ開発について紐解いていきます。

個人や企業でVR/ARのコンテンツを制作する際に、ゲームエンジンを使用するケースが増えています。ゲームエンジンとは、本来開発の際に自前で用意しなければならない物理演算、3Dモデルを表示するレンダラー、オーディオ、その他各種の機能を包括しパッケージ化したもので、ゲーム開発が格段に便利になる頼もしいツールです。

「ゲーム」と名前が付いていますが、最近ではゲーム以外のVR/ARのコンテンツを作る際にも利用されており、各デバイスに対応した開発キットを導入することで、容易に開発ができるようになってきています。

本連載では、ゲームエンジンの中でもポピュラーなユニティ・テクノロジーズ社が提供する「Unity」を使用して、iOS向けのAR表示機能「ARKit」に対応したアプリケーション開発を行っていきます。今回は、まずUnityを利用しているコンテンツと、最新版Unityの特徴的な機能などを紹介していきます。

Unityとは

前述したように、Unityは3Dおよび2Dゲームの開発に対応するゲームエンジンです。公式には「ゲーム」エンジンを謳っていますが、実際にはゲームエンジンだけでなく、それを利用した開発環境や実行環境といったものも含まれているため、「ゲーム開発プラットフォーム」と呼ばれるものになります。

従来、3Dゲームの開発は複雑で困難とされていましたが、Unityではプログラミングをすることなく簡単に3Dモデルを表示したり、キャラクターを動かしたり、といったことが可能です。重力などの物理計算もプログラミングの必要なく利用することができます。

また、Unityはマルチプラットフォームにも対応しています。Windows、Mac、Linuxといった主にPC向けのOSに加え、iOS、Androidといったスマートフォン向けのOS、PlayStation 4、Nintendo Switchといった据え置き型ゲーム機、さらにはWebブラウザやVR/ARなどのコンテンツ開発など、多岐にわたって利用でき、多数のゲームやアプリケーションがUnityで開発されています。

さらに、ユニティ・テクノロジーズ・ジャパン社からは、開発者のためのキャラクターとして「ユニティちゃん」が提供されています。ユニティちゃんは3Dモデルだけでなく、モーション、音声なども含まれているほか、頭身が低くデフォルメされたSDキャラクターのモデルや、2Dで使用するためのデータなども存在し、ライセンスを守れば誰でも利用することができます。

このような公式からのサポート以外にも、ユーザーが作成したプログラムや3D素材を公開・販売できる「アセットストア」というプラットフォームもあり、他のユーザーはその素材を購入し、自分の制作しているコンテンツに利用することで、さらに容易かつ効率的な開発を行うことができます。

Unityを利用したARコンテンツ

ここで、実際にUnityを利用しているARコンテンツの例をいくつか紹介しましょう。

ポケモンGO

世界で大流行したAR対応ゲーム『ポケモンGO』はARKitがリリースされる前のアプリとなるため、地面の認識やモンスターが空間に固定される表示には対応していませんが(その後アップデートにより、ARKit等を利用し、現実側のオブジェクトに対応してポケモンが歩いたりするようになりました)、ARという言葉を広めたアプリといえます。

tAtRis

tAtRis -タトリス-』は、ARKitを利用して開発されたアプリケーションで、上から落ちてくる様々な形のブロックを配置していき、縦・横一列をブロックで揃えることで消すことができるパズルゲームです。フィールドは360度から見回すことができ、立体的なオブジェクトや上から覗くブロックの隙間など『テトリス』とはまた違った感覚のパズルを楽しめます。

Makebox AR

Makebox AR』は、『マインクラフト』のように、誰でも簡単にスマートフォン上で3DモデリングができるARアプリケーションです。ARを利用して現実空間の積み木感覚で直感的な3Dモデリングが可能で、作った3DモデルはWeb上で公開することや、Unityに読み込んで使用することもできます。ARKitを使用しているため、周りこんでモデルを確認したりといったより直感的な操作も可能になっています。

Unityの利用プラン・料金は?

さて、ここまでは「Unityとはどのようなものか」「Unityで開発されたARコンテンツにはどのようなものがあるのか」について見てきました。続けて、Unityを使うには「いくらかかるのか」について紹介しましょう。

本記事の執筆段階で、Unityには次の3種類の利用料金プランがあります。

プラン Personal Edition Plus Pro
料金 無料 月額4,200円 月額15,000円

「Personal Edition」はUnityを試してみたい人、学生や趣味での開発を目的にした人向けのプランとなっています。しかし、Unityの重要な機能のほとんどを利用できるため、試すには十分すぎるプランとなっています。ただし、会社やチームで年間10万ドル(約1,100万円)以上の収益もしくは資金がある場合は「Plus」もしくは「Pro」を利用することになるのでご注意ください。個人での商用化を目指さない開発などではこのプランを利用することが大半でしょう。

PlusではPersonal Editionの機能に加え、クリエイター向けの高度な機能が追加されています。広告表示機能やマルチプレイヤーでPersonal Editionよりも多くの同時接続が行えるほか、Unityのエディタ上でUIスキンを目に優しいダークUIスキンに変更できるようになります。こちらは年間収入もしくは資金調達額が20万ドル(約2,200万円)以下の場合に使用でき、それ以上の額になる場合はProプランを利用しなければなりません。

ProはPlusの機能をすべて含んだうえで、さらに高度なカスタマイゼーションを行うことができます。収入制限がないのも特徴です。また、PlusとProは加入時に150ドル相当の「アセット」と呼ばれる機能拡張が付いてきます。

2017以降に追加された機能

本記事執筆時で正式にリリースされているUnityのバージョンは2017.3となっています。2017.3ではクロスプラットフォームでのARアプリ開発のサポートと360度/180度動画に関連する機能が追加されています。また、ひとつ前のバージョン2017.2でも多くの機能が追加されており、中でも「XR」機能の強化は特筆に値するでしょう(XRとはVR/AR/MRを包括した呼称)。Unity2017.2ではXRプラットフォームのネイティブサポートが追加されています。

2017.2以降ではARゲームやアプリ開発の効率をより向上させるため、Googleの「ARCore SDK」とAppleの「ARKit」がサポートされているほか、VRにおけるパフォーマンスの最適化機能が追加されました。これにより描画機能が向上し、ハードウェアの性能を引き出す最適化を行うことができ、VRなどの体験の質も向上します。これらのプラットフォームのサポートや改善により、VRとARのクロスプラットフォーム開発を従来よりもさらに早く、より簡単に行うことができるようになりました。本連載でもUnityを選ぶ理由は、上記のようなメリットが大きいからです。

おわりに

今回は、ARKitを利用したARコンテンツ開発を行うにあたって利用するゲームエンジン、UnityとUnityで開発されているコンテンツ等について解説しました。

次回以降は、実際にUnityを使って、基本的な操作からARKitも使ったARアプリケーションの開発を解説していきます。

Mogura VR
MoguraVRのライター兼エンジニアを務めながら、XRコンテンツクリエイトチームであるMark-onの代表を務める。VR、AR、MRコンテンツに触れるだけではなく、イベントでの登壇や、自分でコンテンツも制作。VR、AR、MRの面白さ、楽しさを広める活動を積極的に行っている。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています