見出し画像

Unity MARSさわってみた

インタラクションデザイナーのMIZUTANIKIRIN (@mizutanikirin)です!普段はデザイニウムでKinectを中心にいろいろなセンサーを使ったインタラクションアプリ、体験型ゲームを作っています。今回は6/1に公開されたばかりのUnity MARSについて紹介します。

Unity MARSとは?

Project MARS(Mixed and Augmented Reality Studio/複合・拡張現実スタジオ)は、より質の高い、世界中のどこにいても実行可能な空間エクスペリエンスやゲームを作成するクリエイターのために設計された、Unity の新しいツールセットです。

参照: Unity Labs のお届けする Project MARS のご紹介

簡単に言うと、ARアプリを作るときに今までよりも簡単にアプリを作る/シミュレーションすることができるAssetです。

使ってみての感想

プロジェクトの初期設定は少し専門的な知識が必要ですが、それ以外はノンコーディングでオブジェクトの設置、シミュレーション、ビルドまで簡単にできるのがいいと思いました。FaceTrackingはオブジェクトを置くだけでできます。

まだ基本的な部分しか触れてないので実際の案件で使えるか判断できませんが、プロトタイプ的なアプリには使えるんじゃないかなと。

実際に作ってみた

試しにどこまで簡単なのか最小のアプリを作ってみました。0.3x0.3m以上の水平面を見つけたら球を表示するというアプリを作ると以下の手順になりシンプルにできることがわかります。開発はUnity2019.3.0f6、ARCoreで作っています。

1. 新規Scene作成する。
2. Hierarchyにて[MARS > MARS Session]でシミュレーションできるようにする。
3. [MARS Panel > Create > Presets > Horizontal Plane]Proxyを追加する。
4. Horizontal Planeを選択し、[Proxy > Add MARSComponent... > Condition > Plane Size]を追加してMinimum Sizeをx, yともに0.3にします。
4. Hierarchyにて[3D Object > Sphere]で球オブジェクトを追加して位置、大きさ調整をする。
5. 4の球を3でできたHorizontal Planeの子にする。
6. Buildする。

今度はこのシーンをEditor上でシミュレーション表示してみます。動画ではベッドルームを選択しシミュレートしています。

他にもシミュレーションできる環境はリビングルーム、オフィスなどテンプレートが用意されておりそれぞれ選択が可能になっています。もちろんこの環境は自前で用意でき、環境テストをすることもできます。そのやり方についてはマニュアルのSimulation environmentsを御覧ください。

Proxyに設定できるMARS Component

マニュアルの方にProxyに付けられる説明がほぼないように見えます。30種類ほどある中で自分が試した結果、こうなのかな?とわかったものだけ機能紹介したいと思います。設定できるComponentはActionConditionForceの3種類になります。Actionはイベント関連、Conditionは表示する条件です。Forceは試した感じよくわからなかったため今回紹介はしません。

Action
- Active Dependency
 オブジェクトが表示される際に指定したGameObjectも同時に表示することができる。

- Face Expression
 FaceTrackingで目が開いたとき、閉じたときなどのイベントが発生したときに指定した関数を呼び出せる。

- Match Action

 オブジェクトが表示されるとき、オブジェクトが表示され表示更新されているとき、オブジェクトが表示されなくなるとき、タイムアウトになったときに指定した関数を呼び出せる。

Condition
- Geo Fence Condition
 指定したGPSの緯度経度にいるもしくはいない場合オブジェクトを表示させる。シミュレーションだと機能しているのを確認できたが、Android端末でやるとInside設定したときに表示されない。Outsideだと表示される。

- Plane Size
 指定した水平面の大きさを認識した場合表示する。

購入/ライセンス割当手順

ここで購入手順、ライセンスの割当方法について説明します。ライセンス周りがどうなっているのかわからず手間取ってしまったので。まとめておきます。デザイニウムの場合、以下のように会社の親アカウントの下に個人アカウント(mizutani)が紐付けされているため、それに沿って説明していきます。

画像4

1. Unity MARSページにて親アカウントでUnityにサインインしておきます。
2. [Try for Free]ボタンを押し購入画面にいきます。
3. Usersで何人分のMARSライセンスを購入するかを選択し、Payment Plan$50/月または$600/年を選択して[Continue to purchase]ボタンを押し次のページにいきます。(どちらのプランも45日無料体験できます。)
4. 自分の個人アカウントが紐付けされているOrganizationを選択します。
5. Organization情報、支払い方法を設定、[By continuing ...]にチェックを入れ[Pay now]ボタンを押し購入します。
6. 購入が完了すると、Thank you your purchase画面が表示され、しばらくすると親アカウントのメールアドレスにこのようなメールが届きます。

画像2

7. 親アカウントでUnity IDの組織を表示し、自分のアカウントが紐付けされている組織(Organization)を選択します。
8. サブスクリプション欄にUnity MARSと表示されていると思いますのでそれをクリックします。
9. ページ下部にあるシートの管理で自分のアカウントを選択し、[シートを割り当てる]ボタンを押します。これでUnityでMARSが使用できる状態になります。

割当

導入方法

購入/ライセンス割当手順に引き続きMARS導入時にも気をつける点がありまとめました。

1. 購入/ライセンス割当手順6のメールに書いている「1. Download MARS installer here」のhereをクリックしMARS_Installer.unitypackageをダウンロードします。
2. Unity Hubでは自分のアカウントでログインをしておきます。
3. Unityで新規プロジェクト作成してMARS_Installer.unitypackageをインポートします。(※ 現在2019.2.x2019.3.xで互換性があるようです。)
4. [Edit > Project Settings... > Player > Other Settings > Configuration > Api Compatiblity Level*].NET 4.xに設定します。
5. [Window > MARS > MARS Panel]を選択し以下Aのように表示できれば完了です。もしBのように表示された場合、シートの割当ができていないなど、アカウント周りの何かがおかしいです。

画像4


編集後記

広報のマリコです。数日前に公開されたばかりのUnity Marsですが、日本語の解説記事はまだあまり見かけていないので、使ってみたいと思っていた方は参考にして頂けたのではないでしょうか?ノンエンジニアの私は、ノンコーディングで使うことができるということにも驚きました!ちなみにアニメーション作品の「ウォーレスとグルミット」が10年ぶりにAR作品としてUnity MARSをつかって撮影されるというニュースも先日発表されていました!今後ますますAR界隈が盛り上がりそうで楽しみですね😊

The Desinium.inc
Interactive Website
Facebook
Twitter

この記事が気に入ったらサポートをしてみませんか?