タグ「GearVR」 の検索結果(1/1)

2016年1月25日

【MMD】MikuMikuDomeMasterでGear VR/Cardboard向けステレオ天球動画を出力する

2016.05.13更新 MikuMikuDomeMaster配布元ツイートを20160417版に差し替え

nekomimi.png

今回の成果である2048x2048 Top-BottomなEqui動画はこちら、Google Driveからどうぞ。
https://drive.google.com/file/d/0BybSp1RcLhkVbElxbXpHSmM0VVE/view
Gear VR組はOculus 360 Videosアプリで、Cardboard組はFreeVRPlayerアプリで設定をポチポチと切り替えることで閲覧が可能です。ネコミミは量子力学ー!

以下のツイートの通り、まだ改造途中の模様ですが、以前【MMD】続・360度パノラマステレオ動画で嫁を召還してみた【Gear VR】で紹介したCaeru氏の【MME】360度パノラマ画像を作るがパワーアップしております。

これにより、「左右別々にレンダリングする必要がある」→「物理演算を固定するためにMMMで物理焼き付けvmdを作る必要がある」→「30万または60万のキーフレーム上限を超えると分割出力する必要がある」というコンボが解消されて、MMD単体で360度パノラマな天球ステレオ動画が一発で出力できるようになります。

MikuMikuDomeMaster作業中20160115.zip をOneDriveからダウンロードして展開します。(エラーが発生する際にはブラウザを変えたりしてみてください)
(最終版では定義ファイルが変わりそうですが)高機能なため、自分のやりたいことに従い、りどみを参考にしつつSub/MakeCubesUtils.incをエディタで編集する必要があることに注意してください。

だいたい以下の手順となります。

mmdm01.png

1. 出力サイズを縦横1:1、2048x2048(Gear VRとCardboard再生ではこのあたりがlimitです)にする
2. モデルと背景とDomeMaster.pmxを読み込む
3. モーフのDM-PanoをPano側MAXにする。
4. 視点操作ボーン配下の視差をX0.3程度に設定する
5. (ねんのため)黒背景を設定、MMEのMainからDomeMaster.fx以外のチェックを外す
6. Sub/MakeCubesUtils.incを開き、RT_SIZEを2048に、AA_Loopsを2に設定してMME再読込後、avi出力を実行。

モデル:「社畜ちゃんMMDモデル VER.2」を配布しました!
http://syachiku-chan.com/?p=529
ステージ:【UTAU事務所・UK支部 Ver 3.00 (完全版)】
http://seiga.nicovideo.jp/seiga/im4268482
モーション:【MMD】 ねこみみスイッチ 【モーション配布】
http://www.nicovideo.jp/watch/sm14365789
曲:【初音ミク】ねこみみスイッチ【オリジナル】
http://www.nicovideo.jp/watch/sm8233245

2015年12月15日

VR Award Japan 2015が開催されてるので俺セレクトの5つを適当に紹介する

VR Award Japan 2015開催。今年最も面白かったVRコンテンツは何ですか?投票すると豪華ノベルティが当たる!
http://www.moguravr.com/vr-award-japan-2015/

投票結果も楽しみなのですが、誰々が選んだ5つと理由がセットで見られるととても面白そうだな、って思って末席から櫂をば。(なんかMoguraVRの手先の様なエントリになってしまったのは気のせいです。結局説明に便利すぎるのですよ!)

続きを読む "VR Award Japan 2015が開催されてるので俺セレクトの5つを適当に紹介する"

2015年12月14日

BLEビーコンでポジトラは可能なのか(未完ごめんなさい)

本エントリはOculus Rift Advent Calendar13日目の記事ですが、ここ最近の一ヶ月を振り返って、睡眠を削ってゲームを優先させた結果、結論としてごめんなさいという状況です。

Gear VRにポジトラが欲しいとは散々みんなが思っていると思いますが、Microsoft Kinnect v2、Google Tango Project、Oculus Rift DK2, HTC Viveの各方式をちょっと調べて乱暴にまとめればわかる通り、「光源とカメラが両方含まれたシステムで、時間情報を用いた厳密な距離測定によるポジショントラッキング」が結局のところ勝利の方程式だということがわかります。赤外線ではないですが、もう少し大きなスケールな例で言うならば、GPSも同じ仕組みです。

他の方式でポジトラのようなことをしようとするとどこかでより賢い補正式や、用途を限定的にする必要があるという、このへんの勘所をムリしてはいけないと常々思っています(まれによく天才と札束が組み合わさって最強に見える話が発生しますが・・・)いくつか事例を挙げてみます。


例1:加速度値の積分で位置を測定する
「姿勢」に関してはなんとかなるのですが、「位置」に関しては誤差が蓄積されていきますので、それを修正する別の何かが必要です。逆にいうとホイホイリセットできれば意外と使えたりします。

例2:光源がシステムに含まれない
ARマーカーはこちらに分類されます。人間が目でやってる距離測定はこちらですが、人間の距離感というのはある程度遠くなって左右の目の視差がなくなると、経験による距離測定をしだします。トラックみたいに大きな車両だと車間距離を勘違いしやすい、みたいな話とか、野球では球の鉛直方向の落下速度で軌跡を推測するそうですが、そのへんめっちゃ人間頭いいなー、というつらさがあります。

例3:時刻情報ではなく波のパワーで距離を測定する
今回やろうとしているBLEビーコンでのボジトラはこいつにあたります。耳で音を聞いて距離を測定する話に近いと言えば近いのですが、iBeacon等も含むBLEビーコンのAdvertiseはBLEの規格上20ms間隔の50Hzが限度です。RSSIとやらがもう二桁ぐらい精度よく取れればなんちゃってでも楽しめたのかもしれませんが、誤差も振動も大きく、厳しい話です。

ではそんな中でBLEビーコンでポジトラの勝率をあげるために、いくつかの前提条件を検討していきましょう。

案1:受信機を複数にする
人間の耳みたいに、BLEのAdvertiseを受けられるCentralな板を複数つけたら勝率があがるかもしれません。ただし、これはGear VRでは物理的には採用しづらいですね。面倒なのでやめときます。

案2:時間をかける
サンプリング周波数が足りないのであれば、足りるまで位置特定まで時間をかければいいのです。その場に10秒ぐらい立っていてくれれば10cm程度のオーダで位置測位ができます!いやいや、VRなポジトラ用途ではさすがに現実味がありません。受信誤差吸収のための移動平均はもちろんかけますが、秒オーダでもさすがに話になりません・・・。

案3:発信機を複数にする
これは実際やったことがあります。2x2x2(8個)の立方体な感じでビーコンをせいぜい1m間隔で置くという力技です。VR的な使い方を考えると前方3つ(正面と左右)あればなんとかなるんじゃないかなと思っています。

案4:受信機の向きを固定したり、障害物が入らないようにする
これがGear VRで少し有利な点です。電波ですから金属でガンガン反射するので、スマホでこの手のことをやると、端末の向きが意外と影響します。BLEの2.4GHzなマイクロ波は水に吸収されやすいので、身体やスマホの位置がガンガン影響します。どういう持ち方でどの向きで使われるか特定できるGearVR(特に前方にビーコンを配置した際)なら勝率が上がるのでは!ということです。

Appleが「iBeaconは距離測定に使うなよ使うなよ」ってつよく言っている理由がわかってきましたでしょうか。だんだんOculusの話ではなくてBLE位置測位の愚痴の話になってきましたが気のせいです。

・・・というわけでUnityでAdvertise取って計算させたぐらいまでしかできていないのでもう少し形にしたらリベンジさせていただきますごめんなさい!orz

2015年9月22日

Gear VRのタッチパネルをNative対応後のUnityで雑に試す

UnityがGear VRをNativeサポートしたので以前書いたエントリの復習がてら更新。

<よもやま>
・Unity 5.1.3p3で確認。
・Unity 5.2.0p1はVR Supportが(Gear VR/Macはとくに)怪しいのとマルチスレッドまわりの話なのかMMD4Mecanimが出力するanimがなんかおかしいことになっていたためいったん見送り。

続きを読む "Gear VRのタッチパネルをNative対応後のUnityで雑に試す"

2015年8月 8日

#C88 TechBooster本にスマートフォン向けのVR開発入門について書きました

c88-android-m-thumb.png

C88 3日目(2015/8/16)東A39a TechBooster
https://techbooster.github.io/c88/

上記のC88てくぶ本、「Android Masters! ダンジョンにAndroidの最新情報を求めるのは間違っているだろうか」の、「第7章 Unity 5.1で入門するVRアプリ開発」というタイトルの章を担当しました。
私の章の内容はニッチですがCardboard SDK for UnityとGear VR+Unityに関するVRコンテンツ開発の入門向け、現時点ではオンリーワンなものになっていると思います、VRに興味のある方はぜひ。
興味のない人も他の章や本をひっくるめ、大変魅力的なものに仕上がっていますので、購入したついでに私の章も読んでくれるとよろこびます:)

イカ、書き出しのチラ見せと目次です。

c88-android-m-7.png

【目次】
1 はじめに
1-1 VRのR(Reality)と本章で扱う範囲について
1-2 想定読者について

2 VRとスマートフォンの関係
2-1 手持ちのスマートフォンで始めよう
2-2 具体的な機種とコンテンツの選び方について
2-3 よりハイエンドなデバイスと、その価格について

3 スマートフォン向けVRデバイスの紹介
3-1 Google Cardboard
3-2 ハコスコ
3-3 Oculus Gear VR

4 VRと3Dとコンテンツ開発手法
4-1 VRコンテンツは3Dで、3DならUnityで
4-2 Cardboard SDK for Unityのメリット
4-3 コラム つくってみるメリット

5 VRアプリ開発環境の構築
5-1 手順のおおまかな流れ
5-2 Android SDKとインストール
5-3 Unityのインストールとバージョン
5-4 Cardboard SDK for Unityのダウンロード

6 Cardboard向け、VRアプリのHello, World
6-1 新規Unityプロジェクトの作成
6-2 Cardboard SDK for Unityのインポート
6-3 プレビューの再生
6-4 Androidプラットフォーム向けの設定
6-5 ビルドとインストールと実機での実行

7 PONGアプリをCardboard向けに対応させる
7-1 新規プロジェクトとPONG unitypackageのインポート
7-2 Androidプラットフォーム向けの設定
7-3 Cardboard SDKの適用
7-4 VRらしい自機制御スクリプト

8 PONGアプリをハコスコ向けに対応させる

9 PONGアプリをGear VR向けに対応させる
9-1 新規プロジェクトとVirtual Reality Supportedチェックボックス
9-2 Osigファイル(Oculus Signature File)の準備
9-3 Gear VR Service開発者モードの有効化

10 おわりに

<よもやま>
・Unity 5.1.1p3で書き始めて、何度かのUnityのアップデートと戦いつつ、最終的には5.1.2p2でUnityのクラッシュと鉢合わせしました。
・入稿後にCardboard SDK for Unityがv0.5からv.0.5.1になって、よりにもよってunitypackageの数が変わってしまいました。
・紙版では間に合っていませんが、ダウンロードカードの付属する電子書籍版ではUnity 5.1.2p3とCardboard SDK v0.5.1の差分に対応しています。

2015年5月25日

【MMD】360度パノラマステレオ動画で嫁を召喚してみた【Gear VR】

mmm.png

(2016.03.18追記)現状はCaeru氏作成のMMEの最新版を使うのがお手軽となっております。視差が前方限定には変わりはありませんが、こちらのエントリを参照ください→【MMD】MikuMikuDomeMasterでGear VR/Cardboard向けステレオ天球動画を出力する

MMDで全天球動画が作れるのを以前見かけて試そうと思っていたのですが、2回出して合成すればGear VRでなんとなくステレオで見られます。これはいいものだ。

【MME】360度パノラマ画像を作る
http://seiga.nicovideo.jp/seiga/im3844921

Panorama360.png

「Panorama360」を使用。カメラの位置を無視して、エフェクトの位置情報が使われている模様なので、以下の様にxyzいじってみます。xは左目が-0.03右目が0.03にしてみたがそもそもMMMの1.00はUnityみたいに1.00m保証は無い気がします。
x 0.03 y 10.0 z -15.0

※後述の追記時にはx 0.1(左目用は-0.1)y 13.0 z -12.0程度にしました。センターバイアスでモーションを同心円で収まる範囲にして、モーション範囲を中央に寄せてしまうのが勝利のカギの模様です。

以前書いたMMMの物理演算固定手順を守りつつ、左目用aviと右目用aviを出力してみます。

2160x1080 60fps
UtVideo YUV420 BT.709 (ULH0) DMO
mousou-L.avi
mousou-R.avi

kongou.png
開始位置が奥すぎたのでめっちゃ艤装に殴られまくりの動画になりました。目には優しく無いですが透明人間になった気分はそれはそれで面白かったです。

試しに1000フレーム程度でやってみて概ねうまくいきましたが、つんでれんこではビットレートがどうしても常識的な範囲に収まってしまう模様です。昔お世話になったx264guiExに久しぶりに頼ることにします。

aviutl-x264gui.png

AviUtlでMP4(H.264)にエンコードするためのインストールと設定方法
http://memorva.jp/internet/pc/soft_aviutl_mp4_h264_encode.php

2560x2560でやってみたらWin8.1でもGalaxy S6でも再生できない動画になりました。
2160x2160でProfileはHigh@5.1にしたら再生できました。サイズではなくてProfileの問題かも。

bt.png

実際に見てみるとかなり良い感じなのですが、2160x2160でも解像度がちょっと足りない(ボケた)感じになってしまいます。どこまで上げるのが妥当なのかは何度か試す必要がありそうです。(GearVRの公式doc的には推奨2048x2048@60fpsらしいです。ただの画質設定の話かも...)

続きを読む "【MMD】360度パノラマステレオ動画で嫁を召喚してみた【Gear VR】"

2015年5月24日

【Gear VR】自前のosigを追加して再sign

前述の通りosigまわりにあまり特殊な署名ガードはかかっていなそうだなと思っていたのですが、すかさんが自前osig追加再Signをやってたので自分もやってみました。

続きを読む "【Gear VR】自前のosigを追加して再sign"

2015年5月 8日

Gear VRで野良アプリエコシステムの妄想

メモ。

○osigファイル

Gear VR向け開発用ビルドには、osigファイルをapk(Androidアプリ本体)ファイルに含める必要があります。
osigファイルは(Smartphone側母艦の)Device Idから生成します。apkは実体はzipアーカイブですが、展開してみるとそのまま変換も何もなしに含まれているのでセキュアななんたらというのはない模様。

⇒第1の結論:開発者グループでosigファイルアップローダを作ってしまえば概ね良いと思います(そしてそれぐらいまではOculus/Samsung側も把握している)

○VR Jam用global sign

VR Jam向けapk生成Webサービスがある模様ですが、こちらでできたapkに「マスタosig」みたいなものは入っていませんでした。AndroidManifest.xmlにもそれらしい記載はなかったため、こちらは署名で見ている気がします。
つまりVR Jamが終わったら向こうの好きなタイミングでWebサービスも証明書もclose/expireできるということでおそらく長生きはしないと思っています。

○apkのrepackageとresign

Androidのapkの実体がzipなことは前述しましたが、その一意性も署名されているだけなので以下のアプリやライブラリの示すとおり、apkのビルドというのはAndroidアプリ内で実施が可能です。

AIDE- IDE for Android Java C++
https://play.google.com/store/apps/details?id=com.aide.ui
JavaIDEdroid
https://code.google.com/p/java-ide-droid/

(知りませんでしたが)どうやらadb devicesでとれるDevice Idはアプリからもとれるらしいので

SideloadVR DeviceID
https://play.google.com/store/apps/details?id=com.skyworxx.sideloadvrdeviceid

結論として以下の仕組みをもったGear VR野良apkマーケットアプリをつくることができそう、というのが現時点での見解です。

・osigファイルをローカルで生成/またはDevice Idからユーザに生成してもらう。
・apkをダウンロードする。
・apk(zip)を展開してosigファイルを追加してre-signする。
・3rd-partyアプリとしてインストールする。
・Oculus Homeには当然含まれないので、独自Homeアプリを作る。PackageManagerからAndroidManifest.xml中のmeta-data vr_onlyあたりを見る。

⇒第2の結論:ここまでやるのは面倒なのでOculus/Samsung側の様子を見るとして、「自分のosigが正しく入ったapk群を、Gear VRを外さずに切り替えられる独自ランチャーアプリ」あたりから着手すべき?

2015年5月 5日

Gear VRのトラックパッドでドラッグ

GearVRの入力を使う
http://tamagokobo.blogspot.jp/2015/05/gearvr.html

パッドのどの部分を触ってもまずはX:1280,Y:720の座標が返されます。 ドラッグで動かすと触った部分を起点として座標が変化します。 なのでタッチパッドのどの部分を触ったかという判定は取れないようです。

おおなるほど。

マウスやスマホ側のタッチパネル直接操作時との互換性を考えて、タッチした瞬間のXY座標を保持しておく作戦でドラッグを実装してみます。

続きを読む "Gear VRのトラックパッドでドラッグ"

2015年5月 2日

Gear VRとGalaxy S6を買ったので原点に戻ってミクさんに踊っていただいた

racingmiku2015.jpg

○はじめに

一通り試したのでメモを残しておきます。
DK2も、AndroidどころかDive SDKもCardboard SDKも触ったことがない人にはちょっと大変かもしれませんが、それなりに知識がある人だったらセットアップ手順はいろいろな点で親切になっており、概ね誰でも(非プログラマーでも)嫁召喚はできると思われます。

Galaxy S6/S6 edge自体は5inchと小さ目で解像度は高く、パワーもありますので単眼ハコスコ・双眼Cardboard互換組にもオススメのデバイスと言えそうです。...フラッグシップと言えるのでお値段は決して安くありませんけどね!

Android開発環境とかUnity5.0.1pXでの対Androidの話は、以前に書いたエントリ【スマホVR】Unity 5 PersonalとCardboard SDKで嫁をAndroidに召喚する【MMD】 #JAGVRを参照ください。

続きを読む "Gear VRとGalaxy S6を買ったので原点に戻ってミクさんに踊っていただいた"

2014年12月28日

Android Bazaar and Conference 2014 Winter #ABC2014W VR部屋

abc2014w-vr03.jpg

今更の備忘録代わりのレポ(?)です。当日おこしいただいた方、ありがとうございました。
Cardboard, タオバイザー, FakeRift, Oculus Rift, Gear VRが揃って豪華に開催できて主催はもうゴールしてもいいよね気分です(ぱた)

開催日時:2014.12.21(日)10:00-17:15
開催場所:ABC2014Winter 内 特別企画 VR部屋

◯タオバイザーハンズオン(日本Androidの会 VR部

abc2014w-vr02.jpg

ATND:【ABC2014W特別企画 VR部屋】タオバイザー(Cardboard)ハンズオン #ABC2014W 12/21東海大学高輪キャンバス #JAGVR
https://atnd.org/events/60117
Cardboard/タオバイザーハンズオン 初心者向け3DVRアプリ開発マニュアル
http://greety.sakura.ne.jp/redo/2014/12/cardboard-3dvr.html

タオバイザー/Cardboard類をお持ち、または購入していただいた方で、Android開発環境+Androidデバイスをお持ちの方がその場で3DVRアプリを作ってもらおう、というハンズオンでした。
どちらかというと顔見知りの方に多く参加していただきましたが、開催詳細決定後にヒアリングしたところ、ABCだとカンファレンス>バザール>ハンズオンという優先度になっちゃうのはしょうがないよね、という感じでした。

そうです、(Unity等のゲームエンジンを利用すれば)カメラ2個おいてサイドバイサイド3D+加速度センサによるコンテンツリアルタイムレンダリングまでならとにかくカンタンなのです。あとは何をそこに表示するのか、が全てなのです。

◯Oculus Rift展示(同日本Androidの会 VR部)

abc2014w-vr04.jpg

1日展示担当した@nowsprinting氏のレポが全てなのでそちらを参照ください:)
iWorks氏のUnityCoaster2-UrbanCoaster- Ver 1.1Unity社のユニティちゃんライブステージ Candy Rock StarをOculus Rift向けに対応したものを展示してました。

◯FakeRift展示(日本Androidの会 金沢支部 @kinneko)

7インチタブ+100均部品ベースの手持ち型VRゴーグルです。きんねこさんはカンファレンスのセッションも持ってたのでそちらの資料(とそのうち公開されるであろう動画)を参照。

◯タオバイザー出張販売所(タオソフトウェア)

abc2014w-vr06.jpg

本家が段ボール製である強度問題を素材変更で対応、IPD調整ができない問題・メガネをかけたまま使えない問題を解決したCardboardバリエーションであるタオバイザーです。

タオバイザー
http://taovisor.com/

マグネットスライドスイッチが主にサイズの問題で効きにくいという問題が、Googleが本家Cardboardを推してきた結果浮き彫りになってきました。Nexus5よりは5.5-6.0インチぐらいのひとまわり大きな子の方が向いてるかも。

まだお持ちでない方はぜひクラウドファウンディングおかわりからどうぞ:)
https://motion-gallery.net/projects/taovisor2/


◯クエリちゃん・プロ生ちゃんデモ展示・グッズ販売(ポケット・クエリーズ/プロ生ちゃん)

abc2014w-vr05.jpg

Kinnect v2で向きとモーションとって3Dマップ内を歩くTokyo Virtual WalkingとOculus Riftで巨大クエリちゃんと街中でバトルをするデモを展示。

Oculus Riftのはちょっと操作と動きが直感的でなかったのでつらかったかも...次バージョンを楽しみにしています:)

どちらかというとインパクト目的のキャンペーンキャラクターだと思っていたのですが、マスコットアプリ文化祭を見てるともうそろそろ「アセットは手段」にちゃんとシフトしてきたな、という感を受けます。来年はデモじゃない何かをきちんと作ってみたい。

◯Little Witch Pie Delivery+NIFTY Cloud mobile backend(nifty)

abc2014w-vr08.jpg

Little Witch Pie Delivery
http://littlewitchpiedelivery.com/
NIFTY Cloud mobile backend
http://mb.cloud.nifty.com/

魔法のホウキに乗ってパイを届ける時間を競うゲーム、Little Witch Pie Deliveryの展示でした。
センサのセットアップに苦戦していたのか、上下が逆になったりしていました。VR部屋としてはなんとかなっていた気がしますが、ニフティさんとしてはランキング・スコアネーム入力までさせないとmobile backendの宣伝になってなくてそれで良かったのだろうか...。

# 午前中は基調講演もあって主に身内やスタッフがプレイしてましたが、僕がプレイした時点で「今日クリアした人初めてです」って言われて、ハードが絡むデモのコンディション調整は大変そうだなぁ、って思いました。

◯Gear VR(Oculus VR)

abc2014w-vr07.jpg

Androidですから、Gear VRはやっぱり展示したかったのですが色々困難があって各ルートから断られ、半分諦めていたところ、ひょんなことから偶然にも本家として@GOROman, @needle両氏に展示いただきました。

DCEXPOでどこでもドアは触ってたのですが、正直音声認識(というよりきっとインターネット)・タップが調子が悪かったせいもあって解像度以外にはさほどインパクトがなかったのですが、ABCでじっくり触らせてもらったところ、3D動画とカメラ動かすと「なるほど、これはOculusだ」と腑に落ちました。

ABCとは全く関係がないのですが、ファミ通.comの以下のレポートがとっても共感できるので良かったらどうぞ:)

VRの始まりの年の終わりに、まさかのVR親孝行。スマホをぶっ挿してVR体験できる"Gear VR"入手リポート
http://www.famitsu.com/news/201412/26068810.html


◯さいごに

ABC実行委員、企画リーダ担当、VR部屋企画担当、JAGVR部長、個人開発者として色々な立場で立ち向かったABC2014Wでしたが、個人的にはJAGとABCに対する妄執の整理として、やりたいと思っていたことが全部やれてしまって、墓標の下で「あんどろいだー ようてん ここにねむる」みたいに燃え尽き症候群の気配です。

結局最後に効いてくるのは勢いとコネですね、と思いました。レベルも高くない個人ひとりができることなどたかが知れていますが、人様のパワーに1未満の係数をかけることがないよう、来年も精進していこうと思います。

abc2014w-vr01.jpg