UnityはAR開発をする上で必須のツールと言えるでしょう。そのため、AR開発をするならば、Unityを活用した開発方法について理解をしておくことは必須と言えます。
また、UnityはiOSやAndroidなどの複数のプラットフォームにも対応しているため、使いこなせれば利便性が非常に高いのが特徴です。
この記事ではUnityでできることや特徴、開発手順、Unityで開発されたプロダクトの事例について解説していきます。
また、この記事を読むことで、AR開発における基本的な情報を網羅的に学ぶことができます。ぜひ最後までお付き合いいただけると幸いです。
- Unityとは?
- Unityの動作環境
- Unityでできること
- Unityでの開発手順
- Unityで開発されたARの事例
▼関連記事
【2022年版】Unityで使えるAR開発用のSDK、11種類を比較!
Unityの前提知識
ここではUnityの前提知識について詳細に解説していきます。
Unityとは
Unity は2D/3Dのゲームを作成することができるプラットフォームです。1990年代後半に設立されたUnity Technologiesによって開発されました。
Unityの最大の特徴の一つは、開発したコンテンツを複数のプラットフォームに展開することが可能な点です。
具体的に展開可能なプラットフォームとしては下記の通りです。
- iOS
- Android
- Windows
- Mac
- Linux
- WebGL
もちろん、一つのプラットフォームで展開するだけでも良いのですが、複数展開することで多くのユーザーを囲い込むことができます。こうしたメリットがあるからこそ多くのプロダクトにUnityが使用されています。
ARとUnityの関係性
UnityはAR開発においても広く利用されています。主な理由の一つは、UnityがARコンテンツ開発を支援するためのフレームワークやライブラリを提供している点にあります。
その肝となっているのが「AR Foundation」です。大前提としてARCoreとARKitは開発環境や開発言語が異なります。iOS用とAndroid用のアプリの両方に対応する開発には非常にリソースがかかります。
しかし、「AR Foundation」を通して開発を進めれば、ARCoreとARKitの差異を気にする必要性がなくなります。
▼関連記事
アプリARに使われるARCoreとARKit、ARFoundationって何?役割を解説!
Unityの動作環境
Unityの動作環境は下記の通りです。それぞれ自分が持っているPCの要件とあっているかを確認しましょう。
それなりにスペックの高いPC機器を使用しないと動きが遅くなる可能性もあります。注意しましょう。
項目 | Windows (2023年4月時点の情報) | macOS |
---|---|---|
OS | Windows 7 (SP1+)、Windows 10、および Windows 11、64 ビット バージョンのみ。 | Mojave 10.14+ (Intel エディター)Big Sur 11.0 (Apple Silicon エディター) |
CPU | SSE2 命令セットをサポートする X64 アーキテクチャ | Apple Silicon (M1, M1 Pro, M1 Max, M1 Ultra, M2 など) またはIntel Core (i5/i7/i9) |
GPU | DX10、DX11、DX12対応のグラフィックスカード | Metal対応のグラフィックスカード |
RAM | 8 GB以上推奨 | 8 GB以上推奨 |
ストレージ | SSDにインストールすることを推奨。プロジェクトのサイズや使用するアセットによって必要な空き容量は増加します。 | SSD推奨。使用するプロジェクトやアセットによっては、より多くのストレージが必要になる場合があります。 |
Unityでできることとその特徴
それではUnityの特徴について解説していきます。主なUnityの特徴(強み)としては下記の通りです。
- Unityとは?
- Unityの動作環境
- Unityでできること
- Unityでの開発手順
- Unityで開発されたARの事例
それぞれ以下で詳細に解説していきます。
特徴①|基本無料で利用できる
Unityは、パーソナル版ならば無料で使用することができます。これにより、個人開発者や小規模なスタジオでも、コストを気にすることなくゲームやアプリケーションの開発を始めることが可能になります。また使える機能も多い点がUnityの良さと言えます。
ただ、収益が一定の基準に達すると、有料のプランへのアップグレードが必要になります。
具体的には、総収益が 1,000,000 ドル (USD)、かつ1,000,000 件の初期エンゲージメントを超えた場合に有料課金へ移行します。有料課金の形態には下記の二つがあります。
プラン | 課金形態 |
---|---|
収益形式 | 月間総収益の 2.5% |
エンゲージメント形式(Unity Runtime Fee) | 毎月の初期エンゲージメントに基づいた料金 |
▼参考リンク
Changes to Unity plans and pricing|Unity公式サイト
Unityの新料金システム「Unity Runtime Fee」、内容の大幅な変更を発表。Unity Pro/Enterpriseユーザー、かつ2024年以降にリリースされるLTS版で開発したゲームが対象に
特徴②|アセットストアが充実している
Unityには、アセットストアが用意されており、そこでは数千ものリソースが提供されています。
3Dモデル、アニメーション、音楽、効果音などがアセットとして用意されています。高品質なアセットが揃っていることで開発時間の短縮や品質の向上が見込めます。
▼参考リンク
https://assetstore.unity.com/ja-JP?locale=ja-JP
特徴③|プログラミングが不要
Unityでは、ビジュアルスクリプティングシステムを利用して、コードを書かずにロジックを構築することが可能です。
プログラミングの経験が少ない人でも、ゲームやアプリの開発を手軽に行えます。ただ、より複雑な機能やカスタマイズを実現するには、C#などのプログラミング言語の知識が必要なので注意しましょう。
- 従来のように何行もコードを書く代わりに、視覚的なグラフベースのシステムを使用してゲームプレイのメカニクスやインタラクションロジックを開発できるようにクリエイターを支援するシステムのこと
特徴④|複数のプラットフォームに互換性あり
Unityの最大の特徴の一つは、一度開発したコンテンツを多くのプラットフォームに簡単に展開できる点にあります。対応プラットフォームは下記の通りです。
- iOS
- Android
- Windows
- Mac
- Linux
- WebGLVR/ARデバイス
先にも説明しましたが、Unityには「AR Foundation」というフレームワークが備わっています。これにより。iOSやAndroidの差異を考えることなく開発を進めることができるようになっています。
UnityでのARの開発手順
UnityでのARの開発を進めるには以下の手順を踏む必要があります。ここでは、Unityの手順を画面のスクリーンショットを通して解説していきます。
STEP①|Unityのインストール
公式ウェブサイトからUnity Hubをダウンロードし、インストールします。
ダウンロードボタンをおすとdmgフォルダがダウンロードされます。その後、dmgフォルダをクリックすると「Unity Hub」がPC内にダウンロードされます。その後、サインインをすると作業開始することができます。
STEP②|新しいプロジェクトの作成
続いて、Unity Hubで「Project」から「New Project」を選択すると新しいプロジェクトが立ち上がります。
プロジェクトのテンプレートとして「3D」を選択し、プロジェクト名と保存場所を設定しましょう。
STEP③|AR Foundationのセットアップ
Unityエディターが開いたら、Window > Package Managerを開きます。Package Managerのリストから「AR Foundation」を探し、インストールしましょう。
必要に応じて、特定のプラットフォーム(例:ARKit for iOS、ARCore for Android)のサポートパッケージもインストールしましょう。
▼関連記事
アプリARに使われるARCoreとARKit、ARFoundationって何?役割を解説!
STEP④|AR機能の実装
ここまで設定ができたらAR機能の実装を始めることができます。
- 平面検出
- オブジェクトの配置
- そのほかのAR機能
ここでは、各種機能の例について説明をしていきます。
平面検出
平面検出とは、現実世界の平面を検出することで、アセットを自然に配置するための機能です。
この機能を利用するからこそ、ARにおいてユーザーがリアリティー度合いの高い体験をすることができます。
オブジェクトの配置
ユーザーのインタラクションに基づいてAR空間に3Dオブジェクトを配置する機能を実装します。これにより、アセットの動きだけでなく、ユーザー体験を設計することができます。
その他のAR機能
AR Foundationでは、顔認識、イメージトラッキング、環境プローブなど、多くの高度なAR機能を使うことができます。プロジェクトのニーズに応じてこれらの機能を実装することができます。
▼参考リンク
AR Foundation 入門 ~平面認識した場所に3Dモデルを表示する~
Unityで開発されたARの事例
Unityを活用したARプロダクトには様々なものがあります。その中で著名なものとして下記の3つが挙げられます。
- 事例①|IKEA Place
- 事例②|Pokémon GO
- 事例③|ドラゴンクエストウォーク(DQウォーク)
事例①|IKEA Place
Unityで開発された著名なプロダクトとしてIKEA Placeがあります。IKEA Placeは、家具業界の大手IKEAにより開発されたARアプリケーションです。
このアプリを使用すると、ユーザーはスマートフォンやタブレットを通じて、自宅にIKEAの家具を仮想的に配置できます。
家具のサイズ、見た目、そしてそれが実際の空間にどのように収まるかを確認することができ、購入前に家具を試すことが可能になります。
事例②|Pokémon GO
Pokémon GOは、Niantic Inc.によって開発された位置情報を活用したARゲームです。プレイヤーは実世界を歩き回り、仮想のポケモンを捕まえたり育成して楽しむことができます。
このゲームは世界中で社会現象を巻き起こし、AR技術を用いたゲームの可能性を広く示しました。
Unityエンジンを使用して開発され、GPSとカメラを組み合わせることでリアルな体験ができるARゲームの大ヒット作です。
事例③|ドラゴンクエストウォーク(DQウォーク)
ドラゴンクエストウォーク(DQウォーク)は、2013年にスクウェア・エニックスが開発・運営を開始した位置情報RPGゲームです。
スマートフォン向けアプリとして無料で配信されており、2023年4月時点で累計ダウンロード数は9000万回を超えています。
現実世界の風景にドラゴンクエストのモンスターが出現します。これらと戦うことでレベルを上げていき、その中でストーリーも進んでいきます。
お気に入りのキャラクターと一緒に写真が撮れる「キャラAR」も実装されています。
▼関連記事
DQウォーク公式サイト
スクエニ、『DQウォーク』でお気に入りのキャラクターと一緒に写真が撮れる「キャラAR」を新たに実装!
まとめ
この記事ではUnityの特徴や、Unityでの開発手順について解説してきました。Unityの最大の特徴として複数のプラットフォームに展開することができるAR開発の必須ツールです。Unityの主な特徴として主に下記の通りとなります。
- 特徴①|基本無料で利用できる
- 特徴②|アセットストアが充実している
- 特徴③|プログラミングが不要
- 特徴④|複数のプラットフォームに互換性あり
また、Unityは主に下記のようなプラットフォームで展開をすることができます。
- iOS
- Android
- Windows
- Mac
- Linux
- WebGLVR/ARデバイス
また、ツールやサービスを選定する際には、要件に合った機能の有無や操作性・誰がツールを運用するか・サポート内容をしっかりと確認しておきましょう。
palanでは、国内随一の実績を元に、ARの企画から制作実行まで支援しております。ARに関する課題やそもそもどう進めて良いか分からない方は、ぜひお気軽にお問い合わせください。