くすぐり漫画をOpenなVR空間で読む

 先日「OSVR HDKでカノジョの部屋へ行ってみる」で、HTC Vive用のVRコンテンツをOSVR HDKv1.4で体験する方法を紹介し、その中で「VRカノジョの体験版が、OSVR HDKv1.4で体験できる」事と、その為の手順を紹介しました。
 その後、「VRカノジョ」の製品版についても試してみたのですが、残念ながらそちらの方は起動する事ができませんでした。
 OSVR HDKv1.4だから動かないのか、それともグラボのスペック不足等他に原因があるのかは今の所よく分からないのですが、「HTC Vive用のコンテンツの体験版がOSVR HDKv1.4で動作しても、同じ環境で製品版が動作するとは限らない」という事の一事例かと思いますので、OSVR HDKをお持ちの方でVive用の有償コンテンツの購入をお考えの方はご注意頂きたいと思います。

 ところで、このような例外はあるにせよ、ほとんどのVive用コンテンツが曲がりなりにもOSVR HDKv1.4で動作するという事は、逆にOSVR HDKv1.4用のツールであるMikuMikuTickleをHTC Viveで動作させる事もできるはずです。
 実際、昨年10月に公開したデモ動画には、「ぜひHTCViveに対応を」といったコメントも頂いておりました。
 それでは、そのためにはどうすればよいかというと、MikuMikuTickleを「OpenVR」と呼ばれる環境に対応させる必要があります。
 そこで今回はそれに先立ち、OpenVRのSDKの使い方の習得を兼ねて、まずは例によって、ミニメロン作の立体視コミックをOpenVR環境で読めるようにしてみましたので、その方法を紹介したいと思います。

 今回も自分の環境としては「くすぐり漫画をOSVRな空間で読む」と同じ以下の物を使用しました。

CPU:Intel(R) Core(TM) i3-3240 3.4GHz
メモリ:4.0GB
GPU:NVIDIA GeForce GTX 650
VRHMD:OSVR Hacker Development Kit v1.4
OS:Windows10 Home(64bit)

 私自身はViveでの動作確認ができないのですが、お持ちの方はぜひViveでの動作確認をしてみて頂ければと思います。

 開発ツールとしては、前回までと同様に、Visual Studio Express 2012 for Windows Desktopを使用します。
 テクスチャ画像ライブラリとしては、人気モデルを自分の手でくすぐってみるで導入した、DirectXTexを使用します。
 ミニメロン作の立体視コミックをお持ちでない方は、DLsite.comから体験版をダウンロードし、中身を任意のフォルダに展開しておくとよいでしょう。
 これらの準備ができている事を前提として、今回の手順をまとめると、以下のようになります。

1、SteamVRの準備
 SteamVRを立ち上げ、SteamVR対応のゲームがプレイできる状態にします。
 OSVRの方は、OSVR HDKでカノジョの部屋へ行ってみるを参考にして下さい。
 HMDに白っぽいドームの内部のような風景が表示されればOKです。
2、OpenVR SDK の準備
 https://github.com/ValveSoftware/openvr へ行き、「Clone or download」という緑色のボタンを押し、「Download ZIP」をクリックします。
 openvr-master.zipというファイルがダウンロードされるので、その中のopenvr-masterフォルダを任意のフォルダに置きます。
 以下の説明では、Cドライブの直下に置いたものと仮定します。
3、プロジェクトの作成
 Visual Studio Express 2012 for Windows Desktop を起動し、ファイルメニュー→新しいプロジェクト を選択します。
 テンプレートからVisual C++ を選択し、Win32プロジェクトを選択して、名前欄に OpenVRtest1 と入力します。
 「ソルーションのディレクトリを作成」にチェックが入っている事を確認し、OKボタン→次へボタン→追加のオプションの「空のプロジェクト」をチェック(この時Security Development Lifecycleにチェックが入っている場合はチェックを外す)→完了ボタン の順に押します。
 この時点で、メニューバーのすぐ下のツールバーの真ん中あたりにあるリストボックスに「Debug」と表示されていると思いますが、Windows8.1以降でVisualStudio2012Expressを使う場合、この状態ではDirectX11が使用できないので、「Debug」から「Release」に変更します。
4、インクルードディレクトリの設定
 VisualStudioの画面の右の方にあるソリューションエクスプローラという枠の中の、一番上に表示されているプロジェクト名(OpenVRTest1)をクリックして選択状態にし、プロジェクトメニュー→プロパティでプロジェクトのプロパティを表示させます。
 「構成プロパティ」の中の「C/C++」をクリックし、プロパティページの右側の枠の「追加のインクルードディレクトリ」をクリックし、枠の右端に現れる下向きの矢印のようなマークをクリックし、「編集」を選択して表示されるダイアログボックスの上の枠に C:\openvr-master\headers と入力し、次の行にC:\DirectXTex\DirectXTex と入力し、OKをクリックします。
5、ライブラリディレクトリの設定
 「構成プロパティ」の中の「リンカー」をクリックし、プロパティページの右側の枠の「追加のライブラリディレクトリ」をクリックします。枠の右端に現れる下向きの矢印のようなマークをクリックし、「編集」を選択して表示されるダイアログボックスの上の枠に C:\openvr-master\lib\win32 と入力し、次の行に C:\DirectXTex\DirectXTex\Bin\Desktop_2012\Win32\Release と入力し、OKをクリックします。
 その後、プロパティページのOKボタンをクリックします。
6、ソースの準備
 今回作成したソースは、ここからダウンロードできます。
 zipファイルから、OpenVRTest1.cpp、test.fx を取り出して、プロジェクトフォルダ(OSVRTest1.vcxprojの置かれているフォルダ)に入れます。
7、ソースをプロジェクトに追加
 プロジェクトメニュー→既存項目の追加 で、OpenVRTest1.cpp をプロジェクトに追加します。
8、実行
 デバッグメニュー→デバッグなしで実行 で実行します。
 最初は「openvr_api.dllがない」等のエラーが出ますので、その場合は openvr_api.dll を、C:\openvr-master\bin\win32 からコピーして、OpenVRTest1.exe というファイルが生成されたフォルダに置きます。
 無事に実行されると、フォルダ選択用のダイアログボックスが表示されるので、表示するフォルダ(ミニメロン作の立体視コミック(体験版でも可)に含まれる、pagesという名前のフォルダ)を選択し、OKをクリックします。
9、装着
 HDK又はViveを装着します。

 以上の手順により、(ほとんどの方は)作品画像の貼られた板が円周状に並んだVR空間に(精神だけ)入り込む事ができるかと思います。
 右矢印キーでページ送り、左矢印キーでページ戻し、スペースキーでフキダシ有無の切り替え、ESCキーで終了です。
 また、W、S、D、Aキーで前後左右に移動、5、6キーで上下に移動、Pで移動量のリセットができます。

 今回のプログラムは、HMDへの表示をダイレクトモードで行いますので、デスクトップ上にはHMDのミラーリング画面が表示されるのではなく、左端に小さなウィンドウが出るだけです。
 ただし、このウィンドウがアクティブになっていないとキー操作が効きませんので、キー操作が効かないなぁと思ったら、一度HMDを外してデスクトップの状況を確認してみるとよいでしょう。
 また、ダイレクトモードなので、本当はHMDへの描画解像度をデスクトップ画面の設定解像度とは無関係に決める事ができるのですが、今回はデスクトップ画面の解像度を基準に決めるようにしています。画質の粗さが気になる場合はプログラム起動時のデスクトップ画面の設定解像度を上げてみるとよいでしょう。

 私自身は確認ができないのですが、これで恐らくHTC Viveでもくすぐり立体視コミックが読めるようになったのではないかと思いますので、次はいよいよモデルさんにViveでもお近づきになれるようにしたいと思います。

(2017/6/3)

戻る