投稿

[Unity][OculusRift]高解像度なスクリーンキャプチャをとるやつ

イメージ
ポスター印刷用にディスプレイ解像度以上のスクリーンキャプチャが必要になったので、簡単にできるやつを作りました。 GitHub : udasan/unity-screen-capture 適当なオブジェクトにつける Minimum Width と Minimum Height を指定(デフォルトで A1 縦 72dpi 用) Target Camera を指定 Oculus Rift のカメラだったら View Port Width を 0.5 に変更 Shitf + P で指定パス以下にキャプチャ(キー変更可能) Windows 8.1, Unity 4.6 + Oculus SDK 0.4.1 と 0.5.0.1 の Oculus 用カメラと通常カメラで動作確認しています。 ( Application.CaptureScreenshot の方は、拡大しても粗くなるだけみたい → 再度試したら粗くならないっぽい(2015/6/26, Unity 5.1.1p1 without Oculus SDK)) こちらに大変お世話になりました! : 高画質なスクリーンショットを撮影する - テラシュールブログ メモ : みんなの知識【ちょっと便利帳】 - 用紙サイズのピクセル値一覧 2015/6/26 追記 : Application.CaptureScreenshot について

PlayStationMoveをPCかつネットワーク経由で使えるPSMoveServer

イメージ
PlayStation Move を PC で、かつネットワーク越しで使える PSMoveServer というものを作りました。 概要 PlayStation Move というモーションコントローラーをある PC と接続してサーバーを起動し、同一 PC または他の PC 上の別のアプリケーション(クライアント)から利用できるソフトを作りました。 これを使うと、PlayStation Move を接続するのが困難な Windows 8 や Android(未確認ですが) でも簡単に利用することができます。 また、クライアント側で面倒な実装をしなくても、サーバー側でコントローラーの設定変更、状態の監視などを行えて便利です。 クライアントはとりあえず Unity 用のみ用意しています。 PS Move について PlayStation Move (以下 PS Move) は PS3 用のモーションコントローラーで、加速度、ジャイロ、磁気による姿勢の取得といくつかのボタン操作、バイブレーションが可能です。あと光ります。 また、PlayStation Eye (以下 PS Eye) をはじめとするカメラと組み合わせることで、コントローラーの位置トラッキングも行うことができます。 PlayStation®Move(PS Move) | プレイステーション® オフィシャルサイト 有志の API を使えば PC にも Bluetooth で接続して利用することができます。 PC でモーションコントローラーとして利用可能なデバイスはいくつかありますが、位置トラッキングまで行えるものは限られています。 Leap Motion のツールトラッキングを使う、何らかのモーションコントローラーと Kinect を組み合わせるといった選択肢があり、それぞれに異なる利点がありますが、PS Move + PS Eye の利点は合わせて 6000 円程度と安価なことと比較的安定した姿勢取得、バイブレーションなどが挙げられます。 おそらく最大の弱点は明るい部屋で位置トラッキングの精度が出ないことです。ただ、ここの検証はまだあまりできていません。 PS Move 単体を 3000 円強で無線で姿勢を取得できるデバイスと見てもお得感があり...

[Unity]OculusSDK 0.4.3 メモ

イメージ
OculusSDK 0.4.2 -> 0.4.3 (0.4.3.1) で結構大きな変更があったので情報を集めているところです。 週末のOcuJamに向けて重い腰を上げて 0.4.3.1 (Unity) を試しはじめたところで、まだドキュメントも読んでいません… 以下、いつも以上にひどい内容でお送りします。 とりいそぎ追加でこれを (2014/11/29) #OcuJam 向けに0.4.3.1移行ガイド作ろうと思いましたけど、公式 https://t.co/ez03mstqsP の一番下のUnityIntegration全部と上から二番目のUnityIntegrationGuideのp24~、あとヒストリを見ておけば大体よさそう — ウダサン (@udasan_koubou) 2014, 11月 28 API とか OVRCameraController -> OVRCameraRig 右目/左目が RightEyeAnchor/LeftEyeAnchor に変更 NearClip は各カメラの値がそのまま使われる オーディオリスナが右目から中心 (CenterEyeAnchor) に移動 FollowOrientation がなくなり、標準で親に追従するように オフにする場合は多分親の回転を無視するか親なしで移動だけ追従させる処理を Update/LateUpdate/OnPreRender のどれかあたりでやって、TimeWarp をどうにかする感じになる気がします Follow Orientation in SDK 0.4.3 | Unity Integration | Oculus VR Forums  (途中までしか読んでいないです) Texture 関連 Scale は粗くすると画質とトレードオフでパフォーマンス稼げるみたいな話だったような… Eye Texture のほうは調べないと… OVRPlayerController NeckPosition がなくなった気がします あまり使っていないので調べていません… パフォーマンス まだ情報集まっていませんすみません。 TimeWarp + Extended が良くないとか Mirr...

[Unity]OculusDK2 ポジトラでモデルを動かしたかった話

以前の OculusRift 勉強会 OcuBen で発表したスライドです。 どちらかというと Unity のアニメーションブレンディングの話です。 DK2 ポジトラでモデルを動かし た か っ た … from Udasan

[Unity]uVRAudio:OculusRift用オーディオリスナ

uVRAudio は Unity で OculusRift コンテンツを作る際のオーディオリスナの設定を調整するためのスクリプトです。 主にヘッドセットではなくスピーカーを使う場合に、トラッキングによる移動や回転をしないようにします。 詳細はこちらのスライドをご確認ください。 VR コンテンツ作りに役立つオーディオのはなし from Udasan ダウンロード uVRAudio v0.9.1  for SDK 0.4.3.1 (2014/11/29) uVRAudio v0.9.0  for SDK 0.4.2 (2014/10/25) 使い方 (v0.9.1 for SDK 0.4.3.1) SDK 0.4.3.1 インポート済みプロジェクトに対して、uVRAudio の unitypackage をインポート uVRAudioListener を OVRCameraRig にアタッチ ヘッドフォンなら isHeadphone を true に、スピーカーなら false に (ヘッドフォンのみなら使う意味はもうないです) forwardDirection はおまけです。通常使わなくてよいです Examples のデモについて (見るほどのものではないです) 音がまだ入っていませんすみません。止まってるオブジェクトや動いてるオブジェクトに適当につけてください オーディオとは無関係ですが、DemoManager はプロジェクト初期に放り込んでおくとさんじゅうびょうくらい浮くかもしれません 使い方 (v0.9.0 for SDK 0.4.2) uVRAudioListener を OVRCameraController にアタッチ ヘッドフォンなら isHeadphone を true に、スピーカーなら false に OVRDevice.ResetOrientation() の代わりに uVRAudioListener の ResetOrientaion() を呼ぶ スピーカーの場合は正しい向きを向いてから呼ぶ 補足 (v0.9.0 for SDK 0.4.2) 標準だとオーディオリスナは右目の位置なのを顔の中心に オーディ...

[OculusRIft]DK2でUnityが落ちる問題の対処法

イメージ
OculusRift DK2 の SDK 0.4.0 と Unity で開発時に、"too many threads" というダイアログが出て Unity が落ちてしまう問題の対処法です。 結論としては DK2 を Extend モードにしてメインディスプレイにする ことになります。 ウィンドウが DK2 側に行ってしまい不便ですが、この情報で少し幸せになれました。 DK2な人で拡張モードでウィンドウがDK2側モニタにいっちゃってイライラする時のTIPS Windowsキーを押しながら左右カーソルキーを数回押せばアクティブなウィンドウをメインディスプレイに持ってこれる。 — GOROman (@GOROman) 2014, 8月 2 Game ビューを DK2 で見る場合は、Game ビューを分離して DK2 側に持って行ってがんばって右上の最大化ボタンを押します。fps があまり出ないのと、ウィンドウ枠の分多少表示がずれているかもしれませんが一応見られます。 以下補足です。 私の環境 GALLERIA QF870HE, W indows 8.1, 64bit NVIDIA GeForce GTX 870M + Intel HD Graphics 4600 Optimus はグローバル設定で「高パフォーマンス NVIDIA プロセッサ」 ビデオカードのドライバは最新(NVIDIA : 340.52, Intal : 15.33.22.64.3621) Unity 4.5.2f1 Direct HMD Access from Apps モードは全く映らない 現象 Unity エディタで Oculus の SDK を使うシーンを開いて Play する、または開くだけでも、数秒で "too many threads" というダイアログが出て、OK を押すと Unity が終了する 試したこと Direct モード : NG (映らないし落ちる) DX11 : 落ちないが Game ビューにも映らない Unity の Quality Settings で VSync をオフ : NG OculusConfigUti...

[OculusRift]素人がVRソフトを展示しながら考えた、没入体験中の説明のしかたについて

イメージ
OculusRift をはじめとするヘッドマウントディスプレイを使った体験の操作方法等を説明するとき、体験者には画面以外の現実世界が見えないことによる難しさがあります。 さらに、ヘッドフォンを併用する場合には外の音声も聞こえづらくなるため、より難しさが上がります。 また、より高い没入感を実現するためには、コンテンツ内容に合った形での説明が望ましいと考えられます。 本記事では、このように 視覚、聴覚に制約 のある中で、 没入感を損なわない説明 のしかたについて思うところを書いていきます。 筆者について 素人です。 OculusRift の体験会 Ocufes  で何度かコンテンツを展示し、百名以上の方に目の前で体験いただきました。本記事はほぼこの経験によってのみ書かれたもので、専門的な知識は含まれません。 筆者のコンテンツについて 少し宣伝になってしまいますが、具体例として使うために説明させてください。 見習い空賊と天空の少女  という、映画のような世界で主人公の少年になって少女を救出しに行くフライトアトラクションです。 体験者は OculusRift とヘッドフォンを装着し、背もたれのない椅子に座ります。 VR 空間の中では、体験者は飛行機の後部座席に座っており、序盤~中盤は船長の操縦により少女のいる塔を目指すフライトを体験します(下図左)。 終盤では、少女をキャッチするために上図のような姿勢を体験者が実際にとる必要があり、半回転して後ろを向いた上で足の間から前を見るような動作を行います(下図右)。 操作および操作説明に関係する点をまとめると以下になります。 OculusRift 体験が初めての方を主に想定 操作は少なくし、マウス、キーボード等の入力デバイスは使わない 飛行機の操縦も自動で、進行に必要な操作は終盤の姿勢変更のみ おまけとして、特定の場所を注視するとリアクションが返る 展示等で説明員がいる状況を想定 ただし、操作説明的には個人でもプレイ可能なものを目指している 展示に限っているのは周辺機材が特殊なことと、お借りした MMD モデル/ステージの都合、またオマージュ色が濃い内容のため 座ってのプレイを想定 現実の...