unityroomでもARゲームは作れる!
はじめに
こちらの記事はUnityゲーム開発者ギルド Advent Calendar 2023の16日目の記事です。
今回はUnity1Weekで制作した「K-AR-AKURI」を元にunityroomでARゲームを作る方法について解説していきたいと思います。
K-AR-AKURIについて
「K-AR-AKURI」は2023年6月に開催されたUnity1Week「ふる」で制作したPCとスマートフォンを組み合わせて遊ぶWebAR脱出ゲームです。
モデリングをfujitoさんとらぷたんさんに手伝っていただき、全体的な実装を私が担当しました。
ゲームを開始すると急に和室に閉じ込められているのでなんとかして脱出を目指します。
脱出ゲームあるあるの謎を解くと開く引き出しや隠し扉があるので、プレイヤーは謎を解いていく必要があるのですが、謎のヒントとなるオブジェクトが一部汚れていたり、古びていたりしており、そのままだと謎を解くことはほぼ不可能です。
しかし、ここでプレイヤーの特殊能力が役立ちます。
なんとこのゲーム内だけプレイヤーは「過去を見る能力」を使うことができます。ゲーム内でスマートフォンで能力を起動するマーク(QRコード)を見つけ、能力を起動すると・・・
このようにPCとスマートフォンを組み合わせて謎を解いていく新感覚WebAR脱出ゲームとなっております。
当時(2023/6)自分が調べた限り、unityroomにはARゲームが存在せずこれが初めてのARゲームとなったようです。
Unity1Weekの結果としては総合ランキング入りはしませんでしたが、斬新さランキング16位となりました。
unityroomを飛び越えて、バーチャルマーケット2023リアルinアキバのパラリアルクリエイターエリアで試遊展示もしていました。
操作性に若干難がある個所も見つけたのですがおおむね好評の評価をいただきました。
K-AR-AKURIのAR実装方法
ここからはK-AR-AKURIのAR部分をどのように実装していったかを解説していきたいと思います。
K-AR-AKURIの構成図
K-AR-AKURIですが、unityroomのゲーム部分とAR部分を実装するために2つのUnityプロジェクトを作成しています。
全体像は下記図の通りです。
ZapWorksとは?
ここで急に現れたZapWorksとは何者でしょうか?
ZapWorksはネットワーク環境とブラウザがあればアプリをインストールしなくてもAR表現を行うことができるWebARサービスです。
Unityでの開発用にSDKが公開されており、カメラに特定の画像が映った際に紐づいた3Dコンテンツを表示するAR表現を簡単に実現することができます。
せっかくなので読者の皆様にも体験していただきましょう。
下記画像の左のQRコードのURLに遷移し、カメラの許可を行うとAR用のカメラが起動します。
その後右のQRコードを読み込んでください。
そうすると踊り狂う私の姿がモニター上に見られると思います。
私は上記ARを名刺に印刷してAR名刺にしています。
XR系のイベントだとアバター登壇することも多いので、名刺を渡した方にアバターの姿も覚えてもらった方が後々便利だったりします。
上記のようなARを実現できるZapWorksですが、個人かつ非営利の利用の場合は5プロジェクトまでは無料で利用することができます。
(無料プロジェクトの場合、アプリ起動時にZapWorksのロゴが表示されます。)
AR処理のゲームへの実装方法
ここからは実際にUnityプロジェクトを開いてどのような実装を行ったか見てみましょう。
上記はunityroomにアップロードしているゲーム本体のUnityプロジェクトになります。
こちらにはAR機能はなく、普通に脱出ゲームを遊べるようになっています。こちらの脱出ゲームの進行中にARカメラ用のQRコードを表示する画面や汚れていたり古びている謎のヒントの画像を表示するようにします。
下記はZapWorksにアップロードしているAR機能を持つUnityプロジェクトになります。
ZapWorksのSDKを使って、ゲーム側のUnityプロジェクトの古びている謎のヒントの画像が表示されたら、紐づいた過去の画像を表示するようにしています。
また過去を見る能力であることを強調するためにセピアな画面になるようポストプロセスの設定を行っています。
AR機能を持つUnityプロジェクトをWebGLをターゲットにビルド、生成された資源をZipに圧縮しZapWorksにアップロードすると、ARアプリを起動するためのQRコードが発行されます。
このQRコードをゲーム本体のUnityプロジェクトに取り込み、表示するようにすればゲーム中にユーザーがARを起動できるようになります。
まとめ
以上、K-AR-AKURIの紹介とunityroomでARゲームを作る方法についての説明でした。
上記方法だとAR側のインタラクションをゲームに反映することはできないのですが、ゲームの進行に合わせて細かにAR表現を作ることでモニターを飛び越えた新しいゲーム表現も可能なのではないかと考えています。
次回unity1Weekが2023/12/18から開催ということなので、もしよければunity1WeekでARゲーム制作に挑戦してみませんか?
unityroomに誰も作ったことがないようなARゲームが登録されることを楽しみしています!
ここまで読んでいただきありがとうございました。
この記事が気に入ったらサポートをしてみませんか?