Psychic VRラボの殴り書き

OptimusノートPCの15インチAlienwareでOculus Runtime0.8動作方法

OptimusノートPCの15インチAlienware(GTX765M搭載)にてOculus Runtime0.8を起動することに成功したのでメモ。

今まで、開発には
デスクトップPCにて
・Oculus Runtime 0.8+Unity5.3
または
・Oculus Runtime0.6.0.1+Unity5.1.1p4
で行っていたのですが、Unity5.3系で作成したアプリのデモがノートPCでできないので最近はデスクトップを持ち運んでいた。

alienware

一部の一部のOptimusノートでOCulusRuntime0.7が動作したという下記のページ参考にさせていただいたが私のマシンではうまく行かなかった。
Devel/OculusRift/OptimusノートでのDirectモード – cubic9.com

ところがひょんなことから試した手法でうまく行ったのでメモ。

私の持っているAlienwareには外部ディスプレイ用にHDMIポートとMini Displayポートが2つ用意されています。AlienwareのMini Displayポートに変換アダプタ経由でOculusを接続するだけでOculus Runtime 0.8がDK2を認識しました。

私はこちらのアダプタ経由でうまくいきました。
moshi mo-hdmi4k [Mini DisplayPort to HDMI Adapter (4K)]
100000001002684631_10204
外部HDMIポートはIntel HD Graphicsに接続されるが、Mini DisplayポートはGPUに接続される仕様のようだ。たぶん。

動作確認済みの環境
・Alienware15インチGTX765M搭載
・Unity5.3.3p2 64bit Virtual Reality Supportオン
・Oculus Runtime0.8
・Windows 8.1 64bit
・GeForce Game Ready Driver Version 364.51

これで私のAlienwareももう少し現役で行けそう。

Alienware以外にもOptimusマシンでHDMIポートと別にミニディスプレイポートがあるノートPCでは試してみる価値が有るかもしれません。

カテゴリー: Oculus, Unity

Unity5.3+Leapmotion orion 4.0.1のメモ

Unity5.3.3にLeapmotion Orionの設定でハマったのでメモです。

なんでPrefab追加するだけで動くようにしてくれてないんだろう。。。

LeapMotion_CoreAsset_Orion_Beta_4.0.1.unitypackage
をプロジェクトにインポート後、LMHeadMountedRigプレハブをシーンに追加します。LMHeadMountedRigにはカメラが入っているので、シーン上に元々あったMainCameraを削除しておきます。

orion1

LeapHandControllerに下記の4つを子として追加

  • CapsuleHand_L
  • CapsuleHand_R
  • RigidRoundHand_L
  • RigidRoundHand_R

orion2

LeapHandControllerのHandPoolスクリプトのModelCollectionのsizeを4に変更して
下記のように設定します。

orion3

CenterEyeAnchorにアタッチされているcameraの設定を変えないとSkyboxが表示されません。

orion4

これでOK

orion5

 

カテゴリー: Leap motion, Unity

Unity5.3でVuforia環境の忘備録

VuforiaをUnity5.3系で利用する場合のメモ

  • エディター上でプレビューする場合32ビット版Unityを利用する必要がある。
  • Unity32ビット版にAndroidやiOSビルド用のコンポーネントをインストールするのにハマったのでメモ。
  1. 64ビット版Unityのインストール
    パッチリリースのページから最新パッチ版をダウンロードします。
    Unityインストーラーをダウンロード-ダウンロード(Win)からWindows版64bitUnityのインストーラーを使ってインストール
  2. 32ビット版Unityのインストール
    個別にインストール(Windows)-Unity エディター(32ビット)
    からインストール。このインストールではエディターしかインストールされず、AndroidやiOSでのビルドができません。
  3. ビルド用コンポーネントを64bit版フォルダから32ビット版フォルダにコピー
    C:\Program Files\Unity\Editor\Data\PlaybackEngines
    から
    C:\Program Files (x86)\Unity\Editor\Data\PlaybackEngines
    にコピー

Unity

 

 

 

カテゴリー: Unity

Unity画面にウェブカメラの画像を半透明で重ねて表示

Unityで制作したGame画面にウェブカメラで撮影している動画をリアルタイムに半透明表示する方法です。

uGUIを使って、画面に上にRawimageを用意し、そこにウェブカメラの画像を表示します。

UIからRawimageを追加して、WidthやHeightを適切に指定します。
上記スクリプトを貼り付けると

Overlay

こんな感じで半透明でオーバーレイされます。

Transparent

 

カテゴリー: Unity

UnityでRenderTextureをファイルに保存

忘備録

RenderTextureをpng形式で保存します。適当なからオブジェクトにスクリプトを貼り付け、保存したいRenderTextureを指定。1フレームごとに記録されます。

SaveRenderTextureToPng.cs

 

 

 

カテゴリー: Unity

AltspaceVR上にWavefront Objファイルの読み込み方法

Altspace社のエンジニアのSohailさんが来日しているとのことで歓迎会に参加してきました。AltspaceVRはVR空間内でアバター同士で会話できるプラットフォームで私もたまに遊んでいます。

AltspaceではSDKを公開していてThree.jsライブラリを使ってAltspace上のアプリケーションを開発することができるようになっている。Three.jsを用いて開発ができるということはThree.js用に用意されたたくさんのライブラリの利用やWeb用に開発した資産の再利用ができるのでうまいこと考えたものだと思う。

基本的な考え方は、Three.jsでRenderを指定する際に

通常は
var
renderer = new THREE.WebGLRenderer();
と記述するところを
var renderer = altspace.getThreeJSRenderer({version:0.2.0});
とすることで、レンダリング先をAltspace内に変更できる。

とすることで、Altspace、WebGL両対応のスクリプトを書くことも可能になる。

 

Altspace上にObjファイルを読み込んで表示する方法ですが、実はAltspaceデベロッパーサイト上にプロジェクトがあり、そこにコードが公開されています。

こちらのコードを改造して表示してみることにします。

github.com/falkrons/3dModelViewer

こちらには、Objファイルを読み込んだあとのちょっとした機能があるのですが、基本的なコード以外全部そぎ落としてみるとこんな感じになります。

ここで一つ注意ですが、Three.jsのObjローダーにはクロスサイトスクリプティングの制限があり、モデル設置サーバー及び表示スクリプト両方に細工をしないと別ドメインのObjファイルを読み込めない仕組みになっています。この対策は別記事で紹介します。

ですので

には同一サーバーにあるobjファイル及びmtlファイルを相対パスで記述してください。

Altspace上で実行するにはインターネット上のウェブサーバーにHTMLファイルをアップロードし外部から実行できるようにします。

http://test2.psychic-vr-lab.com/altspacevr/3dModelView_Blog.html
に上記コードをアップしました。(こちらはウェブブラウザ上でみても何も表示されません。)

AltspaceVRを起動して、△ボタンからメニューを表示し「WEB」をクリックし、URLをペーストします。画面上にObjがロードされ表示されます。

Altspace_obj_load

 

カテゴリー: 3D, Three.js

ISLAND IS ISLANDS

「ISLAND IS ISLANDS」

island

<概要>
中里周子 + 小林健太 feat. Psychic VR Lab「ISLAND IS ISLANDS」
会期:2015年10月14日(水)ー 12月12日(土)11:00-19:00 日月祝休廊
会場:G/P gallery Shinonome (東京都江東区東雲2-9-13 TOLOT2F)
オープニングレセプション:10月17日(土)18:00-21:30

新進気鋭のアーティスト2人による、VR体験型展示会「ISLAND IS ISLANDS」が開催(Mogura VR)

「マルコヴィッチの穴」からVRシステムで構築した”島”へ、中里周子×小林健太の企画展開催(Fashion Snap)

中里周子 Noriko Nakazato + 小林健太 Kenta Cobayashi feat. Psychic VR Lab “ISLAND IS ISLANDS”(G/P gallery Shinonome)

カテゴリー: その他

zSpace用アプリケーションをUnityで開発する

 

zSpaceでのアプリケーションの開発・実行にはNVIDIAまたはATIのグラフィックカードが必要です。NVIDIAの場合、GeForce系のカードでは動作せず、QUADRO系のグラフィックカードが必要です。

今回はNVIDIA Quadro K2000Dを用いて開発を行いました。

quadro-k2000d

またzSpaceとNVIDIA Quadro K2000Dの接続にはDVIを用いますが、立体視用の情報はFullHD2つ分のため、DVIデュアルリンクケーブルを利用します。DVIシングルリンクケーブルと違い、ピンが全部埋まっているのが特徴です。

DVI

NVIDIA QuadroとzSpaceをDVD-Dケーブルで接続します。この段階ではまだUSBケーブルの接続は行いません。

続きを読む ›

カテゴリー: Unity

UnityでGear VR用パススルーカメラアプリの作り方

Gear VRのPass Through Camera機能はとても良く出来ていて感動しました。これがあればARアプリの開発も簡単になりそうです。

UnityでGear VRのパススルーカメラ機能の実装方法をテストしてみましたので公開いたします。実装方法はとても簡単です。Oculusカメラの目の前に常にGalaxyで撮影したカメラ画像を表示する形で実装します。

新しくPassThroughCamera.csスクリプトを用意して下記のコードを書きます。
Gear VRのカメラも通常のウェブカメラと扱いは同じです。

カメラが書くやFPSはあまり高くするとカクつくので
1280×720ピクセル、25FPSで設定しましょう。

続いてOculus Mobile SDK をダウンロードしてインポートします。

シーンにOVRCameraRigを追加したら、CenterEyeAnchorの子オブジェクトとしてPlaneを作成します。
Planeの設定はアスペクト比をカメラに合わせて16:9に。PositionやRotationを設定します。(設置場所などは微調整が必要かも)

そして先ほど作成したPassThroughCamera.csをアタッチします。

PassThrough01

ウェブカメラの付いているPCで実行すると、こんなかんじで表示されるはずです。

PassThrough02

こちらを参考にAndroid実機に転送します。

PassThrough03

そして、現実世界にUnityちゃんを召喚すると楽しくなります。

PassThrough04

 

 

 

カテゴリー: Oculus, Unity

Unity5でGear VR用アプリの開発方法

linecamera_shareimage

こんばんは。今朝Gear VRとGalaxy S6 Edgeが手にはいり、うちは皆テンション高めです。

私はUnityでのAndroidアプリ開発は初めてでしたので開発環境のセットアップから行いました。備忘録をアップしておきます。OSはWindows 8.1です。

Unityパッチのインストール

Unity5.0.1では現状、パッチを当てないとGear VRアプリ起動時にエラーでクラッシュします。
UnityのPatch Releaseページから最新版のパッチを当てましょう。

JDKのインストール

インストール時にJDK環境をインストールしていない場合、JDKのインストールを促されます。JDK環境をインストールしていない人は先にインストールしておきましょう。

Java SE Development Kit 7 Downloadsページから環境にあったインストーラーをダウンロードしインストールします。

私は
Java SE Development Kit 7u79のWindows x64版、jdk-7u79-windows-x64.exeをダウンロードしインストールを完了しました。

Android Studioのインストール

UnityでAndroid用のアプリを開発するために必要です。
Android StudioのページからAndroid Studioをダウンロードしインストールします。

Android SDKのインストール

続いてAndroid SDKのインストールをAndroid Studio内から行います。

Android Studioを起動し、Configureをクリックします。

Gear01

続きを読む ›

カテゴリー: Unity