見出し画像

XRアプリコンテスト向けにカルチャーショック体験VRを制作しました

はじめに

XRアプリコンテスト「#ミライノコウベ」の開催場所が私の住んでいる大阪から近かったことや、指定された制作期間内で時間が取れそうでしたので挑戦させて頂きました。

制作したアプリケーション

【アプリ名】カルチャーショック体験VR~日本の地下鉄編~

■3分解説付きバージョン
アプリコンテストの制限時間3分に対応するために編集、コメント追加した動画です。

■フルバージョン


どんなアプリなのか?

日本旅行をしてみたい外国人観光客向けの日本での生活を体験ができるVRトレーニングアプリです。
シーンは色々考えられますが、今回は第一段として日本の地下鉄が舞台となります。
また、本アプリコンテストは日本で行われますので、音声は日本語で収録しています。

アプリの目的?

このアプリでは日本に滞在した際に感じる文化のギャップや日本人の考え方の特徴を学習することができます。
その体験によって、日本に訪れた際にトラブルや事故に巻き込まれるリスクを事前に予測できるようになることや、恥をかいてしまう行動などを事前に学習するよことにより、慣れない日本での海外旅行を安心して過ごすことができるようになることを目的としています。

なぜVRなのか?

VRを活用した場合と紙やモニター等を利用したインプットやセミナー形式の様な普通の勉強方法の学習効果の検証実験により「VRは学習に効果的」という結果が、複数出ているため今回はVRアプリを選択しました。

どのプラットフォームに対応しているのか?

できるだけ多くの人に体験できるようにマルチプラットフォームに対応しています。

  • Oculusシリーズ(OculusQuestなど)

  • SteamVR対応VRデバイス

※OpenXRを利用しているためビルド時の切り替えも容易になるように作っています。

利用者が快適にVR体験してもらうために行った工夫は?

  • コントローラの操作なしでも最後まで体験することが可能
    VR体験やゲームの操作に慣れていない人でも簡単に体験できるように、操作はできるだけ簡略化しています。
    ただし、広い空間がない場合に限りジョイスティックによる移動操作が必要となります。

  • 次に移動する目的地が容易にわかるようなっている
    目的地には光るマーカーを設置し、マーカーを見失った場合でも目の前に表示された矢印に従うことで次の目的地に移動できるようにしています。※動画撮影時はレイヤーの設定ミスで非表示になってました…残念…

  • ナレーション
    VR体験中にテキストを表示しても視認しづらいため、音声でナレーションを流しています。

こだわったところは?

  • 神戸に関するオブジェクトを配置
    神戸のアプリコンテストということでしたので、神戸の駅の時刻表や路線図、看板等をシーン上に配置しました。

  • 一部自前でスキャンした3Dモデルを配置
    自動販売機の3Dモデルを探したところ日本でよくある形状のものが入手できなかったため、iPhoneを利用してスキャンした3Dモデルをシーンに配置しています。

開発環境は?

本アプリはUnity2021.2.7f1で開発を行い、主に以下のツール(リポジトリ、アセット、パッケージ、SDK)を利用しました。

大変だったところは?

  • アプリ開発着手までの準備に時間が掛かった
    今回のアプリコンテンツのお題として神戸市の課題となっている「防災」「教育」「観光」から選択というものがあり、どれを対象にするべきか、他の参加者とかぶらないような独創的なコンテンツを作れるのか?というところを考えた結果、今回のアプリとなりました。
    取材として日本に訪れたことのある外国人の意見をたくさんのWebサイトから参考にさせて頂き、日本に来て驚いたこと等をまとめる作業を行っていました。
    カルチャーショックを体験するシーンをどこにするか?という課題もあり、そこは日本についてまず最初にすることは空港に降りて電車に乗り換えるところかな?ということで地下鉄のシーンを制作することにしました。

  • 当初利用しようとしていた音声合成機能を利用できなかった
    当初音声アナウンス部分を、各デバイスに実装されているOSのTTS(テキスト音声合成)機能を利用し、動的に音声を生成する方法で実装を進めていました。
    しかし、開発途中でOculusQuest対応にあたり出荷時状態ではTTS機能が無効化されていることが判明したため、CoeFontCloudによる固定音声の収録に方向転換しました。
    ※固定音声だと修正する手間が掛かるので不便
    ※OculusQuestにTTS機能を有効化することは可能だが、デバイス毎に有効化する作業をユーザーが行う必要があるため、一般ユーザーでは対応できないと判断した。

  • コンテンツ量が大きくなり過ぎた
    開発当初本コンテンツ+コンテンツの紹介シーン+ステージ選択シーンの3シーン構成で開発を進めていたが、開発終盤で本アプリコンテストの提出物が3分間の動画ということが判明しました。(最初から決められていたが見逃していました…)

    そこから一部コンテンツを廃止、圧縮、提出動画の大部分を早送りしてカットすることでなんとか3分に収めることができた。

    以下はカットされたシーン選択画面で、ポータルに飛び込むと対象のシーンに移動できるように作っていました。

最後に

今回のアプリコンテストではある程度まとまった時間が取れたので、無事作品として提出することができました。
現在絶賛子育て中のため、開発期間の制約がある中で開発することはかなり難しいのですが、次も機会があればどんどん積極的に参加させて頂きたいと考えています。
(チームビルドに興味がありますが、自由に時間を使えないので厳しいですかね?他の子育てエンジニアの人はどうしているんだろうか?)


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