見出し画像

"世界のAR"に期間限定で挑戦!Niantic Lightship Global Jam参戦記

REALITY株式会社で研究開発、とくにXRメタバース時代のUX開発を担当しているGREE VR Studio Laboratory(以下、ラボ)は、多くの学生インターンとともにプロトタイプ開発や基礎研究などを行っています。この夏、ラボの学生インターンが中心に、グローバルなハッカソンで期間限定のARアプリ開発を行ったので、ラボディレクター 白井暁彦とインターンの堀部さんが報告いたします。

こちらで紹介する映像や取り組みは研究開発目的のプロトタイプになります。将来的なREALITYの製品やサービスとは直接関係ありません。

Lightship Global Jam

2021/8/29~9/4に PlayCraftingとNianticという米国の企業が主催した 2021 Ligthship Global Jam というグローバルイベントに参加しました。NianticはIngressPokemonGOを開発している、もともとGoogle Earthなどを生み出したジョン・ハンケ氏がCEOをやっている会社です。PokemonGoで培ったAR技術を Niantic Lightship Augmented Reality Developer Kit (以下ARDK)としてβ公開しており、米国・欧州・日本で開催されたオンラインハッカソンになります。このイベントのテーマとしては、Discovery(発見)・Exploration(探検)・Movement(外出すること/体を動かすこと)が設定されています。

ラボでは常に新しいXR-UX(クロス・リアリティ・ユーザー体験)の探求に挑戦しています。技術的背景としては「特殊なARデバイス」ではなく「みんなが地続きで利用できるARデバイス」、つまり「現状のスマホでどれぐらいのUXが作れそうか?」を期間限定で試すことが目的になっています。もちろん既にREALITYのプラットフォームのyaegakiさんが「REALITYにAR機能を実装してみた話」において取り組んでおられますので、「現在のREALITYをUnityのAR Foundationを使ってAndroid/iPhoneで、屋外でAR合成して視聴するぐらいのことはできる、そこからARならではが必要よね?」という比較的高めなスタートラインからの開始です。エンジン的にはUnity2019.4.29を使用し、REALITY本家のアバターシステムとレンダリングパイプラインをあえて使わずに「VRMでのAR的な絵作り」にも挑戦しています。なお夏休みのいい時期なので、ラボのインターンにUnity開発能力の平均値向上やiOSアプリケーションの開発の流れを短期集中でも体験させておきたかったという育成的な目論見もあります。

そのような技術背景からLightship ARDKの技術的特徴を生かしつつも”世界のARへの挑戦”です。「他のチームがやらなそうな、日本のGREE VR Studio Laboratoryらしい取り組みはなんだろう?」と真剣に考えました。決まったコンセプトは、「Come up to our Raid party!(レイドパーティにおいでよ!)」です。主催者側テーマとして設定された、DiscoveryExplorationMovement がありましたが事務局のPlaycraftingさんから結構強めに「Movementはしっかり入れてね!!」と念押しがあり、この要素を生かすために様々なUX案が設計資料化されました(いま見返してみたら64ページもありました…宝の山です)。

1週間という短い限られたJamの期間で、体験やサービスのすべてを開発できるわけではありません。そのため「仮のストーリー」やペルソナを設定し、Lightshipのいくつかの特徴的な機能とともに、Nianticが培ってきた「人々を外に連れ出す」という強いモチベーションを活かしつつ、我々がR&Dのテーマとしている「XRメタバース時代のSNS体験の開発」を意識して、”象徴的なシズルシーン”(Sizzle Scene)が何であるか?限られた時間でできる挑戦は何か?様々な制約がある中、ディスカッションや試作が繰り返されました。

<プロジェクト終盤のデイリーミーティング資料より>

画像6

参加ラボメンバー

さて、ここでメンバー紹介です。環境はUnityによるiOSアプリになります。

堀部さん
明治大学の4年生で、音声に関係するメディアサイエンスの研究をしています。ラボでは音声の基盤技術の研究をお手伝いしてもらっており、実験的ボイスチェンジャーサービス『転声こえうらない利用者の音声分析ボイスチェンジャーのiOS実装や高速化などを担当しています。今回のプロジェクトを通じてはじめてゲームジャムスタイルのプロジェクトマネジメントを担当しました。

やはぎさん
普段からVRChatやREALITYなどのサービスでアバターで生活しているデジタルハリウッド大学の1年生です。ラボではXRメタバースのためのUX開発やグラフィックスとプロトタイピングを担当しています。ディレクターが書く設計やアルゴリズムを即座にコードと映像に落とす担当です。非常に有用な才能を持っています。もちろんラボの中ではそれを担当しているのですが、今回のプロジェクトではUnityを中心にCI/CD構築も担当しました。

武政さん
ARを使った遠隔コミュニケーションの研究をしている和歌山大学大学院の修士1年生です。ラボには今年8月にジョインし、iOSやUnityまわりを担当しています。ジャムでは、GPSを使ったチェックイン機能の開発やクラウド側との通信を担当しました。普段はiOSの開発が多いですが、このジャムではUnityでの実装にも挑戦しています。

中野さん
彼は堀部さんの後輩で明治大学の3年生です。音響分析を研究しています。大学ではアカペラサークルのメンバーでもあります。彼は自分自身の音声分析のアルゴリズムをUnityの一つのシーンに組み込んでくれました。まだ粗削りではありますが、今回、サポートとして加わりました。ジャムを通してiOSでのビルドや処理のパフォーマンス、周囲雑音へのロバストネスなどUX向上のための知見は得られたようです。

『pARty』

私たちが作ったアプリには『pARty』という名前を付けました。ストーリーとしては「六本木ヒルズで開催される秘密の”Raid Party”に呼ばれた…」という設定で、試作したiPhoneアプリを使って収録したとティザー動画を制作しましたので観ていただければ幸いです。

https://www.youtube.com/watch?v=X_JfsT1VuWc

体験の流れとして、ユーザーは初めにスマホのGPSとARを使って「チェックイン」をします。実際に場所に行くことを大切にしています。

画像2

そこで現れた鏡のような「XRポータル」には自分のアバターが表示されています(みんな大好きREALITYのアバターです!)。ここで鏡の中のアバターは自分のインタラクションに合わせて手を振りますし、音声を認識して口や表情を変えることもできます。鏡は自分の着ている衣装を確認することができます。このあたりは「自己所有感(Sense of ownership)」と「自己主体感(Sense of Agency)」を高める最新のVR認知科学的な視点が組み込まれています。

さて”Raid Party”が行われる会場へはこのXRポータルをくぐって向かいます。時間になると、Raid Party Live会場にステージが現れ、ホストであるアバターがダンスと音楽で迎えてくれます。つまりアイドルでいうところの”推し”に会うことができます。近づいたり、楽曲やダンスの振り付けにあわせて好きなアングルで撮影したり、他にも同じパーティに物理もしくは遠隔でフレンドも一緒に参加することができます。アバターの視点に最も撮影者に反応するようなアルゴリズムを実装してあります(このあたり、もっといろいろ良くしていける要素があると思います)。いずれにせよオンラインのフレンドと「物理ならではの場所」をキーにして一緒にミュージックビデオのような動画を撮影することができるのはXRメタバースならではの体験です。

画像2

以上、ARDKを生かして「ちょっと変わったAR空間」でユーザーが非同期に交流できる方法を検討して実装、動画制作をいたしました。

技術面でのチャレンジ、特にARDKでのチャレンジとして私たちは『pARty』を「iPhoneのLandscape」(横持ち画面)をベースとして開発を行いました。「Androidの縦持ちのほうが開発が楽だろうな…」という想いはありましたが、あえて挑戦しました。Niantic Lightshipチームとの初期のディスカッションより Landscape は 「not fully tested now」と言われましたが、だからこそやってみることで潜在的な品質の向上や技術的課題を明らかにできると感じました。またUX上も横持ちにすることで、ライブやソーシャルメディアとしての「ガヤガヤ感」「盛り上がり」をより没入感高く表現できると考えました。何より音楽ライブのカメラマンのように「映え」を意識したカメラムーブとかやってみたいですよね!またLandscape化 によって、縦持ちとは違ったUIデザインが可能になりました。ARカメラに合わせてアバターの視線が変わったり、近づくとアバターに関する情報が表示される演出には注目してほしいところです。

<縦持ち・横持ち議論、初期の内部資料より>

画像5

実際やってみた結果ですが、「横持ちには横持ちのよいところ、縦持ちには縦持ちに向いている距離と人物表現がある!」という、より深い考察とノウハウになりました。あと「スマホのARは横持ちだと視点の位置が10センチ近く変わる」という難しさも体感しました。左右どちらにカメラがあるか?を認識しないと絵作りや、床面の推定アルゴリズムに結構な影響があります。

また「XRポータル」の設計にもこだわりました。これはIngressのポータルやPokemonGoのジムにインスパイアされたものです。さらにXRならではの機能を実装しています。チェックインするとXRポータルを出現させることができますが、ARDKは視界にある画像やロゴマーク、内装の構造を認識してメッシュ化していますので、今回はその構造を分析し「XRポータル」の接地場所を確実にしています。ポータルの表面は鏡のようになっており、自分がアバターとして表現されています。

画像4

この鏡の光学系や背景のギミックを作るのはそこそこ大変でした。あまりに自然に鏡ができていますが『え?何が大変なの?』という人は「ARで鏡を作る」をやってみるといいとおもいます(ヒント:何がCGで生成した鏡の背景に映るか?)。

こちらの記事でも触れられていますが、メタバースを作るうえで「自分が何者であるか?」という自己主体感をAR世界で認識させることはとても重要なUXであると考えています。何より「パーティに行く」のであれば「どんな服を着たいか?」を考えますからね!他にもARDKを使った光学的な表現では「AR影を落とす」表現を限られた時間ですが頑張ってみました。ARによる影は実は2004年ごろ白井がポスドク時代に研究していた「Axi-Visionカメラによるモデリングとシャドウイング」という研究で実現していたりします。当時は専用の機材と膨大な演算量が必要でしたが、今回はiPhone上で動的なキャラクターによるリアルタイム生成影が動的な床面にブレンドされています。今回はARDKの特性を生かしてUnityのレンダリングパイプラインに組み込んでみましたが、緑の多い屋外や夜間の都市部などなかなか印象的なアバターの存在感向上やXR世界の接合に一役買っています。ところでPokemonGoの上位機種ではGPS座標や天候まで扱っていますから、将来的には太陽の向きによって色や長さが異なる影を表現できるかもしれませんね!

画像7

また“pARty”ではアバターのLipSyncや表情生成アルゴリズムについても実験しています。LiDARやインカメラが使えるわけではないARアプリにおいて、音声は利用できる自然なインタフェースの一つとなります。プレイヤーが喋っている言葉に反応して、母音だけでなくアバターの表情を変化させることに成功しました。これはまだまだ研究の余地がありそうです。

画像3

開発では端末差で発生する問題に苦労しました。iPhone11, XSなどの非LiDARデバイスにおいて、ドリフトが発生するケースや、壁などの Vertical を認識できない問題がありました。恐れていた「横持ちならではの問題」は、ダンスシーンを収録するとき、必ず同じ座標系、同じ向きでステージが出現するように設定しているはずなのに、何故か毎回変わってしまう問題となって発見されました。RGBカメラの位置が違うので当然かもしれませんが、同じ環境、同じ場所、同じ向きで同じ場所をタップしても異なる結果になりましたので、ちょっと謎のままですね。ARDKの正式版には正しい動作になっているといいなと祈っています。いずれにせよ非LiDARデバイスでのAR実装は良い体験になりました。

ハイライトと振り返り

ラボにとってこのジャムでの一番のハイライトは、(学生インターンなのに、オンラインなのに、期間限定なのに)本当に実力ある強固なチームを形成できたことです。もとからGREE VR Studio Laboratoryのメンバー全員はそれぞれ異なる大学に通う大学生が中心のチームで、普段はそれぞれ異なる基礎研究テーマを持っているので、同じ技術やプロジェクトを共同で進める中規模のプロジェクトは良い経験となりました。1週間の間(大変な気持ちには何回かなりましたが)お互いに応援し合い、新しいアイデアを出し合い、自分自身を追い込んでいきました。勉強会を開催したり、堀部さんにARDKの可能性を検証したり、ロケハンや撮影を行ったり…と「ちょっと遠回り」に感じるかもしれませんが、学生らしくフットワーク軽く、メンバーが持っている力を教えあうことで短期間に平均値を上げて活動することができました。1週間はあっという間でしたが、ジャムの終わりには真のチームとしての絆を感じ、XRメタバース開発への探求心やその設計能力、試作スキルはグッと高まりました。「具体的にはAppleがいつARグラスを発表しても大丈夫!」という気持ちです(早く来て)。

チームマネジメントとPMを担当した堀部さんが感じたことは このジャムのためにベストを尽くすだけでなく、お互いのためにベストを尽くしてくれる、完全にサポートしてくれるチームがあるという感覚です。このような感覚はとても貴重で、なかなかないものです。私たちは本当にラッキーだったと思います。このプロジェクトに忌憚なきご意見をいただいたREALITY株式会社のみなさん DJ RIO はじめ社員の皆さんにも感謝です。

最後に

さて実はこの作文はPlayCraftingさんが事前に設定してくれた質問に応えていく形式で綴っているのですが、そろそろ最後の質問です。「このプロジェクトはいつ売りに出すのか?」それはどうでしょうか…。VR Studio LaboratoryはXRメタバースのための研究開発機関なので、プロダクトとしてすぐに世の中に出てくるとはお約束できません。ただ、着実に前には進んだと思います。そして今回の動画を見て「こういう挑戦させてもらえる会社いいな!」と思った人は、ぜひ、REALITY株式会社の求人や社員によるブログを覗いてみて下さい。私たち以外にもARを実装している人たちや、学生さん、新しいXRメタバース体験を垂直に作る仲間たちがいます。そう、みなさんも一緒に作りましょう!

後日談

Niantic Lightship Global Jam - Japan Jam Closing Show
Playcrafting社による閉会式が終わりました。
https://www.youtube.com/watch?v=PyORYvGfDqs&t=3060s
みんなおもしろいアプリを作っていますね!
最後に褒められてます
https://youtu.be/PyORYvGfDqs?t=3980
楽曲はUnityちゃんの「UNITE in the Sky」です。ライセンスはこちらこちらをご参照ください。