概要
研究室に5台のXR-1が到着したので,開発メモを残す.
以前購入したときは,セットアップまでもたくさんの苦労があったが,今回は業者がやってくれたので割愛する.
(主にThunderboltの互換のせい)
XR-1が子供を産んで5匹になりました pic.twitter.com/652mpxn7h7
— さいんす(signs) (@signs0302) July 8, 2020
VR機能テスト
- High Definition RP projectでプロジェクトを作成
- PackageManagerを使ってGithubからVarjo XR Pluginを導入(https://github.com/varjocom/VarjoUnityXRPlugin.git)
- Project Settingsを編集
- Main CameraにTracked Pose DriverをComponentとして追加
- Unityを実行,XR-1でサンプルシーンを視認可能なことを確認
MR機能テスト(VST機能)
AR表示
- 簡単なスクリプトを作成し,空のオブジェクトにアタッチ.オブジェクトは何でも良い.
StartMR.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class StartMR : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
Varjo.XR.VarjoMixedReality.StartRender();
}
// Update is called once per frame
void Update()
{
}
}
- MainCameraのBackground TypeをColorに変更
- MainCameraのBackground Colorを黒(0,0,0,0)に変更
でVST表示ができる.(SampleSceneではSky and Fog Volumeオブジェクトを非表示にするとわかりやすい)
とある物体だけVST表示
-以下のシェーダを作成し,適当なMaterial(例えばUnlit)にアタッチ
MR.shader
Shader "Custom/MR"
{
SubShader {
Pass {
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
struct appdata {
float4 vertex : POSITION;
};
struct v2f {
float4 pos : SV_POSITION;
};
v2f vert(appdata v) {
v2f o;
o.pos = UnityObjectToClipPos(v.vertex);
return o;
}
half4 frag(v2f i) : SV_Target {
return half4(0,0,0,0);
}
ENDCG
}
}
}
シェーダの参考サイト
(https://blog.applibot.co.jp/2017/09/01/tutorial-for-unity-3d-4/)
カメラ映像取得
- カメラの映像を取得できれば色々できる.(というか,できないと自分の研究で使えない...)
- 公式リファレンスに何も書いていないので,色々試してみる
- デバイスマネージャには「USB Camera-OV580」と「USB Camera-VarjoOV580」表示される(VIVEフロントカメラとは異なる)
- XR-1起動中にカメラを叩くと以下のようになる
- カメラ映像は取得できなさそう...?
- XR-1の電源ケーブル抜くとカメラも停止
おまけ
- 新規プロジェクトでSteamVRをAssetStoreからimportして実行すると以下のようになってHMDが認識されない
- VRChatは動作したので,何か方法があるのかも
メモ
- Unity2019.3以降推奨っぽい.Unity XR SDKを使用したいらしい.
- Unity2019.4.2f1を使ってみる.ちなみに業者がインストールしてったのは2019.4.1f1
- またなにかわかったら更新します.
動いている様子
XR-1を触ってみた様子
— さいんす(signs) (@signs0302) July 8, 2020
色々と設定は必要だけど,動かすだけならそこまで難しくなさそう
ただし,Webカメラの映像を取得するためには色々苦労しそうな感じ
詳しくはさっき書いたQiita記事を見てくださいhttps://t.co/juFqnj8Oze pic.twitter.com/KHCDvltCLG
追記(2020/07/09)
- HDRPではなく3Dでは動作しませんでした
- Unityちゃんを出現させてみた
- HDRP用にシェーダを新しく設定しないといけないみたい
- このサイトを参考にした(https://www.frenchdrop.com/detail?id=3798)
- できたのはいいけど,左目表示がおかしい?安定してない?
- カメラにアクセスするために,Thunderboltケーブルを抜き差しして見る
- カメラが動かなくなる...デバイスマネージャで1つのカメラしか認識されていない?
参考リンクまとめ
- 公式サイト(https://varjo.com/use-center/getting-started/)
- 開発用サイト(https://developer.varjo.com/)
- SDK ダウンロード(https://developer.varjo.com/downloads)
- Unity SDK(https://developer.varjo.com/docs/unity-xr-sdk/unity-xr-sdk)
- Unity Github(https://github.com/varjocom/VarjoUnityXRPlugin)
- MR関連の機能(https://varjo.com/use-center/get-to-know-your-headset/mixed-reality/)
- FAQ(https://varjo.com/use-center/troubleshooting_faq/)
- デモ用ソフト(https://varjo.com/downloads/)