こんにちは!
Synamonでエンジニアをしている黒岩(@kro96_xr)です。
プレスリリースにもあります通り、SynamonではVarjo XR-3を導入してよりハイエンドなXRコンテンツの開発にチャレンジしております。
今回Unity向けSDKを触る機会がありましたのでSDK内のサンプルを動かすまでの手順を記事としてまとめておこうと思います。正確な情報が知りたい方は公式リファレンスも参照してくださいね。
なお、Varjo XR-3の紹介や体験記事については下記の記事にまとめられておりますのでよろしければご覧ください。
必要要件(2021/9/12時点)
- システム要件を満たしたPC
- Varjo Base3.0.0以上
- インストールにユーザー登録が必要
- SteamVR
- Unity 2019.4.0f1以上(Built-in Render Pipelineの場合)
- URPとHDRPの場合はUnity XR SDK Compatibilityを参照
- Unity Windows Build Support
- DirectX 11の使用
- OpenGL, Vulkan, DX12は現時点で未対応
- Varjo Unity XR SDK Plugin
- Varjo XR-3 & VR-3 Ultraleap SDK for Unity
- Varjo XR-3
- 無くてもVarjo Base内のシミュレータでテスト可能
大きいのはXR-3がなくてもVarjo Baseのシミュレータで簡易なテストは可能なことですね。私もリモートワーク中にシミュレータで実装をした後に出社して実機でテストというようなことをしています。
また、今回の記事で使用している私用PCのグラボはGTX1060です。実際にVarjoを動かすことはできないスペックですがシミュレータでサンプルを動かすくらいならできました。
機材費が高額となるため個人で実機を使用するのは難しいですがSDKを触ってみたいという方はぜひ試してみてください!
プロジェクトのセットアップ
SDKに同梱されているサンプルがHDRP対応なのでサンプルを動かすだけならHDRPテンプレートからプロジェクトを作成するのが楽かと思います。
また、URPだとPostProcessに対応していないようなのでリッチなコンテンツを作りたい場合はHDRP一択になるのかなと考えています。
When using URP, you need to modify the camera settings to be able to write into the alpha channel of the color buffer. For video pass-through to work, make sure the camera’s Post Processing and HDR settings are disabled.
引用元
それでは実際のプロジェクト作成に移りましょう!
* プロジェクトの作成
パッケージマネージャーからSDKをインポート
- Gitを使う場合
- Window > Package Managerをウィンドウを開き、左上の+ボタンからAdd package from git URLをクリック
- https://github.com/varjocom/VarjoUnityXRPlugin.git を指定してインポート
- ローカルにダウンロードして使う場合
- Window > Package Managerをウィンドウを開き、左上の+ボタンからAdd package from diskをクリック
- ダウンロード済のSDKのpackage.jsonを選択してインポート
- Gitを使う場合
プロジェクト設定の変更
- Edit > Project Setting > XR Plug-in ManagementからVarjoのチェックをONにしてください
- Edit > Project Setting > XR Plug-in ManagementからVarjoのチェックをONにしてください
レンダリング設定の変更
- 前提知識
- Varjoのディスプレイは中央のFocus Displayと周辺のContext Displayがあり、両目で計4枚のディスプレイがあります
- Edit > Project Setting > XR Plug-in Management > Varjoから各種レンダリング設定を変更できます
- パススルーを使用するための設定
- OpaqueをFalseにする(標準がTrueなので変更必須)
- Falseにすることでアルファブレンディングを行うようになります
- Falseにすることでアルファブレンディングを行うようになります
- (HDRP)Project Setting > Quality > HDRP > HDRenderPipelineAsset > Rendering > Color Buffer FormatをR16G16B16A16に
- (HDRP)カメラのBackgroud TypeをColorに、Background ColorをRGBA(0,0,0,0)に
- (URP)カメラのBackgroud TypeをSolid Colorに、Background ColorをRGBA(0,0,0,0)に
- (URP)カメラのRendering > Post ProcessingをFalseに
- (URP)カメラのOutput > HDRをOFFに
- OpaqueをFalseにする(標準がTrueなので変更必須)
- 前提知識
これで設定はOKです。
サンプルシーンの読み込みとシミュレータでのテスト
サンプルシーンの読み込み
Varjo XR Plugin>2.1.1>HDRP Samplesに各種サンプルシーンがあるのでそれを使用してください。
今回はパススルーの設定をしましたのでMixedRealityを使用します。
Varjo Baseでのシミュレーション
なにも接続せずにVarjo Baseを起動すると"No headset connected"となりToolsは選択できない状態ですが、左下の"Analitics window"だけは使用できます。
Analitics windowをクリックすると新規ウィンドウが開きますので、左下のボタンをクリックしてメニューを表示>Simulateボタンを押してXR-3を選択してください。
選択すると、Analitics windowが再起動しますので、これで準備完了です。
この状態でUnityでPlayを押すとAnalitcs windowにレンダリング結果が表示されます。
ピンクの部分がパススルーになる部分です。
おわりに
本記事ではVarjo Unity XR SDKを使ってサンプルシーンを試してみました。
現状では中々触る機会がないような機材ですが、シミュレータもありますので興味ある方はぜひ触ってみてください!
マーカー検知やハンドトラッキングについても実機検証は出来ているので次回以降の記事で触れられたらと思います。
ここまで読んでくださりありがとうございました!
▼最後にお知らせです▼
お知らせ
Synamonは、Unity / C#エンジニア、テックリードを中心に新しい仲間を募集中です。
「XRが当たり前の世界をつくる」というミッションに共感したメンバーが、切磋琢磨しながら日々挑戦しています!カジュアル面談も実施中なので、ご興味ある方、お気軽にご連絡ください。
カジュアル面談でご来社いただきXR-3を体験することなども可能ですよ!
カジュアル面談はMeetyから▼
meety.net
エントリーはこちら▼
herp.careers
また、本テックブログやnote記事のお知らせは、Synamon公式Twitterでも発信もしています。
弊社の取り組みに興味を持っていただけたら、ぜひフォローお願いいたします!
twitter.com