
皆さんこんにちは! NTTコノキューの内製開発推進チームです。
我々はSSDという社内プロジェクトに所属しており、今回は有志メンバーにて、AR/VR連携技術を活かしたコンテンツの企画から、内製でのデモコンテンツ開発までを一気通貫で行いました!
SSDプロジェクトとは、NTTコノキュー社内の有志で集まり、XR関連の内製開発や体験会を推進/開催していく取り組みです。本テックブログ「QOMPASS LOGS」も、SSDプロジェクトの有志メンバーにより運営されています。
取り組みの目的
NTTコノキューでは、社員による内製開発を推進しています。
そこで、SSDプロジェクトメンバーのうち3人で内製開発推進チームを結成し、内製化の先駆けとして、NTTコノキューで開発中の検証環境(以下、PoC環境)を利用したコンテンツ開発を実施することになりました。
取り組みを通じた目標はこちらです。
- 内製開発推進チームによる、内製開発の実施
企画、設計、開発をチームメンバーで協力して実施
- Unity開発スキルの習得
機能の検討、アプリケーションの開発にUnity(Unity Visual Scripting)を使用
- AR/VR連携技術のPoC環境の活用
社内でAR/VR連携技術の先行検証に使用している環境を活用
- 様々なプロジェクトで活用できるXRコンテンツの検討
PoC環境の活用例の探求
体験概要
今回我々の取り組みのテーマとなったのは、XR技術のひとつであるAR/VRの連携です。
通常、VRとARでは全く異なる体験となりますが、3Dコンテンツを表示しているという点では共通しており、何かしらの形で連携(インタラクション)をさせることが可能だと考えています。

そこで、AR/VR連携のデモコンテンツとして「バーチャルかくれんぼ」を企画し、PoC環境を使ってUnity Visual Scriptingでの内製開発を行いました!
Unity Visual Scriptingでは、C#によるスクリプティングではなく、ビジュアルなドラッグアンドドロップ式のグラフを使用してスクリプティングロジックを作成することが可能です。
体験の流れ
「バーチャルかくれんぼ」は2人のプレイヤーにより、以下の役割分担でゲームを行います。
VR側ユーザ:VR空間で、アバターで隠れる(任意の場所で、PCから参加する)
AR側ユーザ:現実空間で、VR側のアバターを探す(指定の場所で、スマートフォンから参加する)
体験は大きく分けて、
- 部屋の作成、位置合わせの実施
- ルールやアバターの設定
- ゲームスタート → 隠れる → 探す
- 結果表示
という流れになります。詳しくは下図を御覧ください。

このとき、プレイヤー同士は、同じ空間にいる必要はありません。
VR空間は、AR側のユーザが参加する現実空間のデジタルツイン(現実空間を3Dスキャンした空間)となっています。
AR側で特定の箇所(※今回は床)を画像で読み込むことで、VPS(Visual Positioning Service/System)によって位置合わせを行い、さらにお互いの位置情報やアバター表示位置をリアルタイムに同期することが可能です。
体験の様子
実際にAR側のスマートフォンで、VR側のアバターを探す様子は、このような感じです。
椅子アバターを使用した場合(難易度:竹)

消しゴムアバターを使用した場合(難易度:松)

今回利用したPoC環境では、オクルージョンが設定されており、物陰にあるアバターは隠れます。
実際に部屋にありそうな小さいものに擬態されてしまうと、なかなか見つけにくくて、面白かったです!
開発の振り返り
工夫したポイント
今回のデモ開発を進めるにあたり、工夫したポイントは、
「①体験のシンプル化」「②XRならではの体験」の2点です。
①体験のシンプル化
私たちは、今回のテーマであるAR/VR連携技術の活用例を体験者がイメージしやすいようなデモを開発するため、まずはできる限り体験をシンプル化することを考えました。
AR/VR連携技術は、ARとVRで位置座標をはじめとする様々な情報を同期することで、空間を共有するものです。
そこで、同じ空間を共有してさえいれば他に何も要らない、「かくれんぼ」をコンテンツとして選択しました。
また、「かくれんぼ」の中でも、AR側を「鬼(探す側)」、VR側を「隠れる側」に限定しました。
これは、AR側の現地を歩き回れるという特徴、VR側の姿や形、大きさが自由自在である特徴が、それぞれの役割に合っていると考えたためです。

②XRならではの演出
XRならではの演出として、「アバターの変更」、「ビーコン」の2つを実装しました。
アバターの変更
VR側が、「姿や形、大きさが自由自在である」という隠れる側としての利点を生かすため、アバターの選択機能を実装しました。アバターは難易度ごとに、松・竹・梅を用意しました。

ビーコン
ユーザ間の距離に応じてBGMとして流れている心拍の速さを変えるビーコン機能を実装しました。
これにより、現実空間にはない「音による距離のフィードバック」を実現し、同室感・ドキドキ感の向上を狙いました。
社内体験会でのフィードバック
社内で本デモコンテンツの体験会を実施し、様々なフィードバックをいただきました。 その中で、感想としていただいたコメントをいくつか紹介します。
ゲーム性
「相手が対人だと相手の気持ちを想像しながらプレイするので面白い」 「探す時間が少なくなった時にAR側にヒントをあげるなどあると面白い」 ⇒ 今回、AR/VR連携を用いたかくれんぼの体験自体が面白いという言葉を多くいただきました。
また、シンプル化にあたって、要素を削ってしまいましたが、よりゲーム性を向上させるために、様々な機能追加の余地があると考えています。
AR/VR連携について
「視覚以外の感覚情報・運動情報がさらに同期されると、融合度、同室感は上がる」 ⇒これは、まさにその通りだと感じています。
「ユーザ自身がその空間にいる感覚」である自己存在感や身体所有感は、視覚運動情報をはじめとする、様々な感覚の同期によって強化されることが知られています。 (Matsumiya, Kazumichi. "Separate multisensory integration processes for ownership and localization of body parts." Scientific reports 9.1 (2019): 652.)
また、自分自身が動いていなくとも、他者の動きを見た際に特定の脳の領域(ミラーニューロン)が活性化することが分かっており、 (Di Pellegrino, Giuseppe, et al. "Understanding motor events: a neurophysiological study." Experimental brain research 91 (1992): 176-180.) 他者との共感と密接な関係があると考えられています。
これらのことから、より多くの感覚情報・運動情報を同期することで、同じ空間を共有している感覚が強化されると考えています。
AR/VR連携の活用についての展望
「バーチャルかくれんぼ」では、AR/VR連携技術の活用をテーマとしていました。
デモを実装する中で、強く感じたのは、AR側・VR側にはそれぞれ特徴があるということです。
例えば、 AR側は、現実の空間に居るという特徴があるため、現実のものとインタラクションできたり、「今、その場所に居る」というリアルタイム性が特性として挙げられます。
VR側は、現実の制約にとらわれないという特徴があるため、自分自身が様々な姿や形、大きさに変化したり、ミクロ・マクロ的視点を持てるという点が特性として挙げられます。
今回のデモで、AR側・VR側の特性にあったゲーム内の役割を選択したように、AR/VR連携の活用においても、それぞれの特性を生かしたコンテンツ設計が重要であると考えています。 それが何なのか、この記事を読んで、良いアイデアが浮かんだ方は、ぜひNTTコノキューまでご連絡ください!
チームメンバの感想
最後に、各メンバーからの内製開発を通じた感想です。
O社員
企画、機能検討、実装が実施できたのが良かったと思います。
取り組みの経験をメイン業務の開発に活かすことができると感じています。
K社員
Unity Visual Scriptingを使ったノーコード開発は初めてで、使い方に慣れるのに少し時間がかかりましたが、慣れると楽しく開発できました。
(UVSのなかなか良いドキュメントが見つからず…)
ARを使ったかくれんぼというアイデアはかなり面白いので、ぜひ今後の社内のプロジェクトでの検討にも活かせれば良いなと思います。
M社員
AR/VR連携の活用を考えるにあたり、できるだけシンプルにしたいと考え、「かくれんぼ」を用いたデモを提案しました。
VPSによるAR/VR連携の精度が想像以上に高く、コンテンツ開発の拡張性を感じました。
以上、内製開発推進チームでした。読んでいただき、ありがとうございました!