manahiyoの気まぐれ

備忘録を兼ねたブログです。

PRETIA AR を使ってみた

はじめに

以前からARの共有には興味を持っていたのですが、ARCoreのCloudAncherで挫折して以来、あきらめていました。そんな状況でしたが、先日PRETIA-ARという日本製のARソフトがあるのを見つけ、これは試すしかないと。公式webサイトはこちら

https://arcloud.pretiaar.com/home

これまでとは一味違ったAR体験が期待できそうです。

まずはサンプルのMultiplayerSampleでAR共有を体験

まずは事前に3Dスキャナアプリで空間の登録が必要です。

こちらが3Dスキャン中の画面で、赤点が特徴点として認識に使っているようです。

 

このアプリで空間認識の確認もできて、あっという間に認識できたのが感動的でした。

ARCoreのCloudAnchorをやったときはうんざりしていたので、雲泥の差です。

また空間認識の精度もアンカーの位置を見る限り何度やってもほとんど変動せず、なかなかよさそうな印象です。ちょっと試したところでは数cm程度のずれでした。ただ、ここは環境に依存する感じがします。

後から気が付きましたが、このスキャンデータにはGPSデータが必須のようです。自宅がバレバレなのがちょっとプライバシー的に気になります。せめて選択できるといいのですが。。。

つぎにサンプルにあったMultiplayerSampleを試してみます。

ARCoreが動作するスマホが2台あったのでこれで共有をしてみました。

起動後は自動的に空間認識をはじめて、認識ができると次のようなログインの画面になります。1台目を起動したときはCreateNewSessionで、2台目はJoinSessionを選ぶことで共有できるようです。

こちらが2台で共有したときの画面です。これをやるだけでもなかなか楽しいです。

1台目が赤のドローン、2台目が青のドローンです。

チュートリアルをやってみる

自分でいじらないことには何もできないので、まずはこちらに従って進めてみました。UNITY2020.3.46f1を使用しました。

docs.arcloud.pretiaar.com

サンプルをやる中で、私がミスっているのか発展途上なのかわかりませんが、いくつか改善してほしいなというところがありました。

・mapの番号を入れ忘れてハマった。自分が悪いがエラー出してくれるとありがたい。

・webのチュートリアルに従うだけでは不明なところがあり、YOUTUBEにあるチュートリアルで補足して何とかできた

www.youtube.com

ネットワークのチュートリアルでハマる

ARの共有をやりたかったので、次のページでネットワーク系のチュートリアルを進める。

docs.arcloud.pretiaar.com

しかし、ここでハマってしまう。

下記のページのコードでエラーがでて、コンパイルが通りません。コピペしただけなのに…

using PretiaArCloud.Multiplayer.Matchmaking;を追加したら解決。

docs.arcloud.pretiaar.com

さらに、次のページでもエラーが発生。Start()の部分でネットワーク系のエラーが出ていました。デバッグをしたところ、OnEnable()の処理と、Start()での処理の順がおかしくなっていました。awaitによるものかと想像しますが、詳しくないのでわかりません。
ただ、Start()内にある処理をOnEnable内にすべて移動したら、正常に動作するようになりました。メモしていないので忘れてしまいましたが、ほかにも数か所あったと思います。

docs.arcloud.pretiaar.com

注)私が何かミスっているのかもしれないので、決して苦情ではありません…

内容の理解には役立ちましたが、こちらのチュートリアルではAR共有までたどり着けませんでした。

サンプルプロジェクトが一番役立った

MultiplayerSampleはすでにARの共有が実装されており、そのまま動作できます。こちらを自分の目的に合わせて修正することにしました。

私は電波可視化でAR共有がしたかったので、画像認識と組み合わせてみました。

なお、ARFondationの使い方はCHATGPTに大変お世話になりました。

とりあえず空間に絵を描くだけですが、書いている様子をほかのスマホから見れるのは新鮮でした。こんな短時間でできるとは思いませんでした。

youtu.be

最後に

電波可視化への応用を考えたときに、いくつか課題がありそうに感じました。

・企業などは情報セキュリティ的に空間情報やGPS情報のクラウドへのアップロードを嫌いそう。

電波暗室などwifiがつながらないところでは使えない。

・不特定多数の人が使いたいとなった場合はユーザー登録が必要だったり、どれだけサーバーに通信がされるかわからないので、GooglePlayへのアップやGITでの公開は難しそう。

・インスタントトラッキングができたらとても便利そう。せめて3Dスキャナをユーザーソフトと統合できると、スマートになりそうです。