2014年11月25日火曜日

OVRManagerのUsePositionTrackingについて

※SDK0.4.3、0.4.3.1で確認

OVRManagerにはUsePositionTrackingという値があります。
ですがこれ、初期値をFalseに変えて実行してもトラッキングが動作してしまいます。

原因はOVRManager.csの462行目にあります。
UsePositionTrackingの初期値がFalseの場合、tracker.isEnabledの値を設定する処理を通らないのです。

対処としては、Start()の最後辺りで

 tracker.isEnabled = usePositionTracking;

としておけば大丈夫だと思います。

2014年11月19日水曜日

(uGUI)UIをWorldSpaceでオーバーレイ表示する方法

 Unity4.6から搭載されているuGUIは、CanvasのRenderMode値で描画方法を変更することが出来ます。
 問題となるのはOculusRift対応の為にOVRCameraRigを使用し、UIをWorldSpaceかつオーバーレイ表示にしたい場合です。
 OculusRift対応を考えなければScreen Space - OverlayやCullingMaskを弄ったCameraで対応できます。
 しかしながらOVRCameraRigを使用する場合は、色々試してみたもののうまくできませんでした。
 
 対処として、シェーダを利用したオーバーレイ表示を実装しました。
 uGUIデフォルトのシェーダをダウンロードし、以下のファイルをプロジェクトに追加します。
 (デフォルトのシェーダはこちらからダウンロード可能です)

 ・DefaultResourcesExtra/UI/UI-Default.shader
 ・DefaultResourcesExtra/UI/UI-DefaultFont.shader

 これらのファイルを以下のように変更します。

 ・シェーダ名が被るので適当に変更(例:***-Overlay)
 ・RenderTypeをOverlayに変更
 ・QueueをOverlayに変更
 ・ZWriteをOnに変更
 ・ZTestをAlwaysに変更

 このシェーダを適用したマテリアルを作成し、UIに割り当てます。
 TextにはUI-DefaultFontを、それ以外はUI-Defaultを使用します。
 これでUIがオーバーレイで表示できるようになりました。

 

 こんな感じに表示できます。
 

 

2014年11月14日金曜日

Oculus Rift 2 Advent Calendar 2014

面白そうなので参加してみようと思いました。
http://qiita.com/advent-calendar/2014/oculus-rift2
多分Unity+Oculus Rift+Photonでメタバース的なもの作るHowtoみたいな感じになると思います。

2014年11月4日火曜日

1週間げーむじゃむ2014/10 4週目

ネタがビビっと来たので作りました。

Turn and Roll
http://unityroom.com/games/play/290

キャメルトライのクローン的なゲームです。
ブロックの繋ぎ目で引っかかるような挙動をするのがイマイチな感じですが
それっぽさは出ていると思います。

1週間げーむじゃむ2014/10 1週目

リハビリがてら作りました。

Ball collecting game
http://unityroom.com/games/play/280

10秒の間にひたすら緑色のボールをクリックするだけのゲームです。
赤色のボールをクリックするとすごい勢いで減点されます。