富士山VR Oculus用実行ファイル

 

以前から作っている富士山ビューワーVRですが、OcuFesに展示したバージョンの実行ファイルを公開します。

・富士山周辺の約360km四方を立体化

・国土地理院の数値情報を基にテクスチャを生成(衛星写真等の写真素材はゼロ)

 

・Oculus Rift DK2向けのコンテンツです(Oculus SDK 0.8)

・Oculusを接続していない場合はマウスでも操作は可能

 

下記環境で75Hz動作を確認しています。

・Core i7-4790K

・GeForce GTX 980

・Windows 10

 

■操作方法

・スペースキー:スタート&ヘッドポジションリセット

・マウス右ボタン:視線の向いている方向へ前進

・マウス左ボタン:後退

・マウス移動:視点の回転(Oculusが接続されていない時)

 

http://www.voxcelldesign.co.jp/VDdata/FujiVR/FujiVR-sdk08-final.zip

(ダウンロードサイズ:598MB)

 

■注とお詫びとお願い

・解凍サイズが2GBと大きいです

・ポジショントラッキングセンサーを外して体験するほうが快適かもしれません

・短時間に広いエリアを体験するために現実ではありえない速度が出ます(酔いを軽減するため高度によって最高速度は変えています)

・高度2000m以上くらいの上空から見るのがオススメです(地表に近いとアラが目立ちます・・)

・低空だと渓谷に沿って飛んだりするとイイ気分になります

・GTX970でも快適に動いたよ、とか教えて頂けると喜びます

・まだSDK1.3に対応してません、すみません

 

 

全天球パノラマ画像から簡易的に地面を作るPanoramaGround.FBX

PanoramaGround_FBXmodel

 

以前のエントリーに書いた半球ドームのFBXファイルをダウンロード出来るようにしました。

使う人がいるか分かりませんが。

 

このモデルの目的は、

Oculus Riftなどの没入型ディスプレイでパノラマ画像を表示するときにお手軽に接地感(足元の距離感)を出す、です。

 

Ferrara Parco Massari 01_300pix

 

 

 

 

 

 

このような全天球パノラマ画像(360度×180度)をテクスチャとして貼ると、ドーム中央から見て正常に見えるようにUV設定をしてあります。

 

視点の高さは地面から1.7mの想定です。

 

トップの画像のように引き伸ばされた状態になりますが、中央から見ると下のようになります。

 

PanoramaGround_Oculus

 

 

普通に背景のスカイボックスとして画像を使うことに対してのメリットは、

・足元の地面があるべき距離感で表示される。

・画像にもよりますが1m程度の範囲ならOculusのヘッドトラッキングに対応して視点移動できる。

 

デメリットとしては、

・視点に近いエリア(個人的な感覚では10m以内くらい)に壁や樹木など地面以外の何かが写っている画像だと当然違和感が出る。

・若干テクスチャの歪みが出る。(モデルを綺麗に作れば多少は改善するはずですが)

 

使える場面が限られますが、パノラマ画像からそのまま地面を作れるので何かの役に立つかも?

 

FBXファイルのダウンロードはこちら。

http://www.voxcelldesign.co.jp/VDdata/SkyGroundVD/PanoramaGround.FBX

 

Unityなどに読み込んでUnlit系のマテリアルにパノラマ画像を貼り付けて使いましょう。

ドームの半径は50m、ポリゴン数はトライアングルで4096です。

 

 

 

NailCanvasVRに肌の色調調整機能追加、不具合修正版ダウンロード

iOS版のNailCanvasには初期からあった機能ですが、

肌の色調を調整する機能をOculus Rift対応版にも追加しました。

 

その他の変更点:

・windows環境で透明なマテリアルの表示がおかしくなる不具合を修正。

・シリンダー型GUIの動きをヘッドトラッキングに追従するよう変更。

・「ESC」キーでアプリケーションが終了するよう変更。

 

ダウンロードはこちら↓

Mac用 NailCanvasVR-demo_v003.zip

Windows用 NailCanvasVR-demo_v003_win.zip

(Oculus Rift runtime 0.4.4

Oculus Rift DK2、Leap Motion必須です)

 

NailCanvasの最新情報はFacebookページに流しています。

https://www.facebook.com/NailCanvasWeb

 

 

海外サイトのNailCanvasVRレビュー

「Road to Virtual Reality」という海外のVR関連情報サイトにNailCanvasVRについての記事が掲載されました。

メールでいくつか質問が来たので答えたのですが、それ以外のこともけっこうしっかり書いてくれています。

http://www.roadtovr.com/nailcanvasvr-lets-experiment-nail-polish-designs/

 

 

そしてもうひとつ、

オランダのVR大好き野郎、Nathie君19歳が実際にOculus Riftを被りながらのレビュー動画をYouTubeにアップしてくれていました。

「女の子になった気分になれるぜ!」

「何だかわかんねーけど、すげー!」

と楽しげにレビューしてくれています。

最後にはこういったコンテンツの可能性にも触れていてナイス動画。

 

OculusScreenshotCameraのスクリーンショットの画角比較

OculusScreenshotCamera.csを使った時のスクリーンショット画像の画角を比較してみました。

 

まずは普通のサイドバイサイド画像。

比較サイドバイサイド

 

縦方向の画角設定(vertical FOV)を10度ずつ変えてみます。

 

20度

比較20度

30度

比較30度

40度

比較40度

50度

比較50度

60度

比較60度

70度

比較70度

80度

比較80度

 

環境を広めに見せるなら70~80度くらいが良さげかな?

Oculusで見たときの感覚に近いのは50度くらいな印象。

画角比較

 

OculusRiftで普通のスクリーンショットを撮るスクリプト OculusScreenshotCamera.cs

「普通の」というのはOculusの歪み補正などがかかってない普通のカメラ映像ってことです。

OculusRiftの映像というとよく見るのはこういう感じですね。

NailCanvasVR-20141030 (0-01-44-04)

「あ、Oculusの映像なのね」と知ってる人なら一目で分かってこれはこれでいいのですが、

映像が小さくなるし歪み補正やら色収差補正がかかっていて、

 

もっと絵として綺麗な状態で出したいんじゃ〜〜、

 

という内なる欲求が出たので稚拙ながら作ってみました。

 

このスクリプトを使うとOculusの視野内にカメラビューのウインドウが表示されまして、

Sキーを押すとそのウインドウの画角でPNG画像として書き出されます。

カメラビューイメージ2

↓こういう感じで。

OculusScreenshotCamera-20141102-054658

OculusRiftを装着しながら、見えている景色をそのまま保存したいと思ったわけであります。

 

やってることは単に板ポリにRenderTextureを貼ってるだけ。

板ポリに貼ってるだけ

なので普通に他オブジェクトに潜ったりします。

 

 

だがしかし、とりあえず開発しながらスクショ撮りまくれるやん。やったね!

 

もっとちゃんと作って「Oculusの空間内で35mmカメラを模擬」とかやるとちょっと面白そうな気も。

 

OculusScreenshotCamera-20141102-070700 OculusScreenshotCamera-20141102-070833 OculusScreenshotCamera-20141102-070937 OculusScreenshotCamera-20141102-083556

 

 

両手をLeapMotionにかざしたままスクショを撮りたい場合は、、、

 

足で押したらええんちゃうかな。↓

 

OculusScreenshotCamera-20141102-085601

 

スクリプトの使い方は、

Oculusの「OVRCameraRig」の下にある「CenterEyeAnchor」にスクリプトをアタッチするだけ。

使い方説明1

インスペクターのVertical FOVの値を変えると画角を変えられます。

使い方説明2

この数値を60にすると、だいたいOculusで見たときの横幅いっぱいまでカバーした広角の画像が撮れます。

今回自分は指をある程度大きく写したかったので38を初期値にしていますが、撮りたい絵によって変えてください。

68以上にするとカメラビューのオブジェクトが写り込んでしまいます。

ちゃんとやるならレンダリングから外すなり、オブジェクトに潜らないようZテスト外すなりするところですが、

とりあえず「C」キーでウインドウが非表示になるのでその状態でスクショ。オッケー。

 

保存される画像は横幅1920pixのPNG形式になっています。必要に応じて変更してください。

保存先は、 Application.persistentDataPathになっていてUnityエディタのコンソールに保存先のパスが表示されます。

あとは使い方によってマウスボタンでスクショとかにすると動きながら撮りやすいかも?

 

 

わたくしのプログラム脳はMSX-BASICで止まっているのでコードを晒すと失笑されそうなわけですが、汎用的に使えそうな気もするので載せてみます。

これじゃダメだろ!というダメ出しや、もっといい方法や既に同じようなプラグイン等があれば是非ご教授ください。(ツイッター@VoxelKei)

 

(追記:ちょっと変更しました→「OculusRiftで普通のスクショとそうでないスクショを撮るスクリプト」)

 

OculusScreenshotCamera.cs

 

初めてSyntaxHighlighterを使ったんだけど、

インデントが反映されないのはどうしたらいいのでしょう・・・

(追記:SH TinyMCE Buttonというwordpressプラグインを使ったら出来た)