「VR戦艦決闘空間」開発記紹介

はじめに

開発ノートによれば、新技術チャレンジとして2017年7月23日にOpenCVによるリアルタイム画像処理と今回のVRのフィージビリティスタディを始めました。そして2017年8月6日には配信開始していますので、「戦艦決闘空間」アプリをVR用に2週間程度で改訂して開発完了していることになります。まあ残念ながらできはいまいちであり、流通もできていませんが、ひとつの新技術の見極めはできました。そのあたりの話をここで書きたいと思います。

「VR戦艦決闘空間」

 

なぜやりたいと考えたのか

「戦艦決闘空間」でも他のリアルタイム3Dシュミレーションアプリは、アプリ内部で完全なヴァーチャル世界を構築しているのです。そして最後にプレイヤーの方にどうみて頂くのかという時に通常の2D表示としているのか、VRとしての3次元空間内での表現なのかということになります。なので、iPhone/AndroidでのVR表現の実力を知っておきたかったというのがこのアプリ開発の目的です。

基本的な方向性

1.カードボード式VRの採用

自分のアプリ開発の基本がiPhone/Androidのスマホ機器で動作するリアルタイムシュミレーションアプリ開発なので、通常iPhone/Androidで簡単に体験できるカードボード式(箱を付けてVR体験)としています。

2.短い時間で開発して技術的な見極めとアプリポテンシャルを探る

既存の自作アプリを流用して短い時間で開発することを目標としました。その過程でカードボードVR活用表現等の可能性を探ります。

3.カードボード式VRアプリでの市場流通傾向を得る

AppStore等にアプリ登録してユーザーの皆さんの反応を得たいと思いました。VRの人気が高いのであればより高度で洗練されたアプリ開発を検討することを考えていました。

開発の内容について

最初にお詫びです

すみません。ちょっと完全に忘れているのでここから先のVR開発詳細については不明確な情報が入り込む可能性があります。そして大事な部分が記載されていない可能性もあります。また本アプリを開発した時期はカードボードVR的に様々なツール類が更新されていたタイミングのようです。現在VRを開発する際には全く違ったアプローチが良いのかも知れません。万が一VRアプリ創ろうかと思ってこの記事を読んでくれている方は、その点は注意して読んで頂きたく思います。

使ったVR機能

Unityアセットストア内に多数存在するCardboard Google関連のVRアセットを使うのが良いのかと思っておりましたが、1年前当時はCardboard側もまだ安定していない時期でした。なので結果として使っておりません。

使ったVR機能はUnityに内蔵のVR機能を使っています。ただこれも当時はまだまだ満足行く安定性は出ていませんでしたけれども、ネット等で調べてVR設定を有効にすると、いきなりVRビュー(メガネ型の2つ並びの映像)が出ます。これはすごいですね。

VR機能の確認

早速最低限の動きを創ってiphoneアプリにビルドしてカードボード(iphone入れる箱ですね)でVR動作を確認してみます。

自分のiphone6plusは結構画面解像度は高いので、解像度を最高にしてアンチエイリアスも最高にすると美しい世界が登場するのではと、わくわくしながら体験してみます。

驚いたことにiPhoneを使っているだけなんですが、ヘッドトラッキング(自分の見ている方向に表示映像が追従する)が完璧でした。これは特筆すべき嬉しい驚きです。反応速度も安定度も極めて良好です。

ですが、解像度は何らかの制限があって、なんかVGA程度のしょぼしょぼ画像です。今はどうかわかりませんが1年前はこれが限界でしたね。なので、この時点で本質的な興味は全く失せてしまいましたが、将来の本格的VR対応の可能性を含めて、検討作業を先へ進めました。

解像度が悪く画像が汚らしいことをのぞけばいきなり動作することを含めて何か良い感じです。なので次のステップに進みます。

VR世界用戦艦大和制御パネル構築

VRはリアルタイム3Dシュミレーション空間のまっただ中にプレイヤーがいきなり放り込まれてしまうのです。そしてカードボード方式VRではスマホは箱の中に入っているので操作のために触ることができません。

そうです。これを解決するためには手を使わないで戦艦大和を操作するためのヴァーチャル空間内のGUI(プレイヤーインターフェース)を創る必要があるのです。

こういうの好きなのですぐに凝ってしまうのが自分の欠点ですがちょっと楽しんでしまいました。下記の図を見て頂くとわかりますが、頭を横に振るとVRメニュー(戦艦操作パネル)が自分の前に表示されます。視点カーソルを操作したいパネルスイッチ(例えば主砲発射、スピードアップ、砲塔旋回等々)に合わせると操作できるようになります。

まあ、戦艦大和の速度変更、方向変更、主砲砲塔回転、主砲仰角変更、主砲発射の操作はできるようになりました(こんなん良く創ったなと今思っておりますが..)

これができて、一応敵戦艦アイオワとの一騎打ちができるようになりました。

結論:本アプリから得られたもの

Unityはすばらしくて通常3Dアプリを簡単にVR対応可能としてくれています。それは本当にすばらしいです。

カードボードVR方式はまだまだ気持ち良く使えるものではありませんでした。特に画質ですね。解像度だけでも特別高くできればまだ可能性はあるように思いますがちょっと現状では心が動きません(わくわくできない)

それとiphoneをカードボード用のアダプタに入れたり出したり事前に操作したりとかはあまりにめんどくさいので、無意識下に触りたくなくなります。

最近流行のブルートゥースヘッドフォンのように付属のメガネみたいな形で高品質のVR世界を体験できる仕組みができたらまた検討したいと感じました。

VRアプリ(本アプリ)の流通状況ですが公開1年弱で3000ダウンロード強です。まあユーザーの方はVRにあまり興味を持っているようには思えませんという判断です。

検討結果は以上です。

VR技術検討の当初目的はこれで完了しました。

以上

VRではなく元となる戦艦決闘アプリは下記です。