最近、色々な事情もあって、ARコンテンツを作る方法を調べています。AR/VRコンテンツ開発といえばUnityを使うことが多いかと思いますが、探してみるとUnity以外にも色々あることがわかりました。
思ったよりも多かったので、備忘録も兼ねて整理しました。
1. Vuforia
PTCという会社が販売しています。私が知る限りでは2013年頃から有名になった印象です。以下の紹介ページをみると、最近は工場などで使われることを想定しているようです。
開発者として何ができるかを知りたい場合、こちらのページで一通り確認できます。
iOS、Android、UWPネイティブも対応されていますが、随所でUnityとの連携が書かれているので、Unityとの相性が高いとみてよさそうです。
Vuforiaについてはいろいろ情報が多いので省略します。比較的新しい情報としては例えば以下が参考になります。
なお、開発するだけならば気にする必要はありませんが、企業として使用して自社アプリに組み込む場合はライセンスについて注意が必要のようです。
2. Spark AR Studio
Facebookが提供しているソフトウェアです。ARで表示したいエフェクトをUnityのようなGUI画面で作成できます。
ダウンロードはこちらです。
顔認識が目立ちますが、Create New Projectを選ぶと、平面認識など他の認識機能もサポートしているとあります。しかし、自分で試した範囲では平面と関係なく3DCGモデルが表示されたので、何か使い方が違っているのかもしれません。
平面認識を選んで少し触った感じです。任意の3DCGモデル (ここではfbx) を入れてみました。
右上のDevice Viewはいくつかの画角のデバイスを選べます。背景も選択できるので実際の見え方を事前にシミュレートできるようです。
手順はこちらに書いてあります。
実際に動作を確認するには、エフェクトを自分のFacebookアカウントと紐づけて公開するか、ローカル環境で確認するかの2通りがあります。
アップロードを選択すると、アップロードの進捗バーが100%になったあと、ブラウザでFacebookのログイン画面が出るのでログインすると、公開設定の画面になります。
ローカル環境で確認するには、Spark AR PlayerというiOS or Androidアプリがあります。これはSpark AR StudioをいれたPCとスマートフォンを有線接続して、作ったエフェクトをスマートフォンで確認できる仕組みです。
今回はMacOS (10.15.7 M1 CPUではない)と iPhone8 (iOS14.2)で確認しました。iPhone側でSpark AR Playerアプリが起動した状態で、Macで開いたSpark AR Studioの左下の画面で、Sendボタンを押すと、iPhoneでAR表示を確認できます。
iPhoneで見た画面と、Spark AR Studioの画面を並べてみました。カメラに対して正面にオブジェクトを配置したことがiPhone側でも反映されています。
Spark AR Studio側で修正したら、再度Sendボタンを押すことでiPhoneの画面も更新されます。以下の例ではrotationのY軸を変更してみました。
なお、エフェクトをエクスポートすることはできますが、.arexportという拡張子になりました。他のツールで使うことは難しいのかもしれません。
Spark AR Studioは、顔認識のエフェクトとして調べるといろいろ記事が出てきます。手軽にFacebookやInstagram向けにエフェクトを作る方法として優れていそうです。
3. Adobe Aero
Adobeが公開しているARコンテンツを作るためのツールです。これはプログラミング言語をばりばり使う開発者というよりは、デザイナーの方向けとみた方がよさそうです。
公式ブログ (2019/11/20投稿) の説明を引用します。
Adobe Aeroは、拡張現実(AR)体験を作成できる新しいツールです。とにかく手軽にインタラクティブなAR体験をつくれることと、アドビのデザインツールとの相性の良さが特徴で、Adobe Dimensionのような3Dツールのアセットはもちろん、Photoshopのレイヤーも3D空間に配置することができます。
引用元:いよいよリリースされたアドビのAR体験制作ツールAdobe Aero。使い方のコツと次の一歩をMAX会場で聞いてみた | Adobe Blog
このブログにわかりやすく一通りの手順が書かれているので細かい説明は省略します。試してみましたが、スマートフォンだけでARコンテンツの作成が完結しました。
プリセットされた3DCGモデル or Adobe Creative Cloudにアップロードした自分の3DCGモデルを配置することができます。また、トリガーというブロックベースの指示をつけることで、簡単なアニメーションを追加できます。
ちなみに、Adobe AeroはiOS/iPadOSのみがサポートされています。要件は以下に書かれています。この要件だと、iPhone8は対象外の気がしますが、とくに問題なくARコンテンツの作成ができました。逆に、iPad 6thでは平面検出を実行しかけたときにメモリ不足と表示されて使えませんでした。私の環境固有の問題かもしれませんので参考情報ということでご承知おきください。
また、こちらに詳しく書かれていますが、AdobeのDimensionというソフトでレンダリングした3DCGモデルも表示できるようです。
4. Sumerian
Amazonが提供しているAWSで動くAR/VRコンテンツ開発環境です。pdf形式で提供されている、Sumerianユーザガイド をみると一通りの使い方が載っています。P.1とP.2をみると、メインはVRコンテンツ開発環境のようです。
Amazon Sumerian は、ウェブで高品質なバーチャルリアリティ (VR) 体験を作成するためのツールのセットです。 //省略 Sumerian では、拡張現実 (AR) アプリケーションを作成することもできます。AR アプリケーションは、スマートフォンのカメラまたは AR 互換ヘッドセットを使用して、実際のグラフィックを重ねることができます。
VRの場合はAWS上に構築されたコンテンツをWebブラウザ経由で読み込むようです。ARの場合、箱となるiOSアプリを作り、XCodeプロジェクトの指定された場所のURLを自分のSumerian上のコンテンツURLと置き換えることでARアプリになるようです。
AR表示させるための手順の例として、下記の記事がわかりやすく書かれています。
qiita.com
こちらは、Sumerianが発表された当初にVRアプリ開発を試した方の記事です。
medium.com
5. Godot Engine
@korinVRさんのツイートでたまたま知ったツールです。
Godot Engine、VR・ARの基盤ができていて、Questや、まだ試してないけどOpenVRも動くみたいですね。WebXRも対応しようとしている方がいるみたいです。 https://t.co/TXKCcU8cRk https://t.co/iEYAE0CPvV
— こりん@VR (@korinVR) November 5, 2020
まだほとんど試せていませんが、公式サイトのマニュアルをみると、今のところはVRにフォーカスしているようです。Godot OpenXRという記載があるので、そのうちARも使えるようになっていくかもしれません。
2020年4月の以下の記事では、
GamesIndustry.biz ACADEMYが,2Dに特化した柔軟で直感的なエンジンでありながら,間もなく3Dの強豪になる可能性を秘めたGodotの詳細なガイドをお届けする。
と書いてあり、今後有名になる可能性がありそうだなと思いました。
また、日本語ドキュメントがあり、日本での情報発信もありそうなので、そのうち色々使ってみたいと思っています。
6. おわりに
まだまだ探せば色々あると思いますが、今回だけでもARコンテンツの開発手段が色々あることが改めて確認できました。
AeroやSpark AR Studioは開発者が使うものほど細かいことはできないかもしれませんが、開発者以外でもARコンテンツが作れるようになるのは、ARコンテンツの敷居が下がるので良いことだと思います。
また何か情報があれば更新したいと思います。