Open26

Quest2でPassthrough APIを使ってImmersalによる位置合わせを行う

こりんさんのツイートで、OculusIntegrationにパススルーAPIが来たことを知ったので、
前からやりたかったImmersalによる位置合わせを行う

需要とか

需要isどこって感じだと思っている
一応ロケーションVRのようなことができるけど......家でやる人is何......

Unity 2019.4.26でプロジェクト作成してみる
URPにしたかったけど、Passthroughがサポートしているか心配なのでビルトインで

確かにAsset StoreにあるOculus Integrationは今日アプデが来ていることがわかる

始めたはいいものの、Oculus Integrationもろくにさわったことがないので
passthroughってどうやって起動するの......って感じ
こりんさんのツイート見ると、それようのMonoBehaviourがあるっぽいけどいかに

普通にこりんさんのツイート追った方がいいんだよな
今見たら動かないみたいなことをおっしゃっていたので、どうしようってなってます()

oculus integration入れる前にSwitch Platformすればよかったな......となっている

とりあえず、ControllerModelというシーンを動かしてみた
なんか移動ができるシーンなのかな?
このバージョンのIntegrationだと、Quest2のバージョンをアプデしないと動かなかった

おっついに自分にも出てきたわね
やっぱりまだ使えないのかなぁ

動いたという報告が上がる中、自分はまだ動かない......

全然作業のログを更新していなかったけど、こんな感じ

どうにもこうにもできないので、2020.3で作り直してみる
なぜかColorSpaceがLinearじゃないとビルドできなかった

ん-やっぱり実行できないんだけど、なんかログの出方が違うな

OpenXR_Passthroughってなんぞ......?OpenXR用の設定なんて全然していないけどな

んーちょっとわからんですな、、、今日は終了

上に挙げたスレに更新があった
どうやらOpenXRでIL2CPPのARM64ビルドでないと動かなさそうじゃない?という雰囲気があった
クゥーーー

Projection Surfaceがどのような実装で映っているのか、コードリーディングとかしてみる
たとえばシェーダで映してるだけだったらRenderTextureからマテリアルの状態を抜き出してテクスチャ化できるので
それをカメラ映像としてImmersalAPIに放り込むことができる、みたいなのが一番うれしいんだよな

もしかりにSurfaceProjectionされたパススルー画像をCustom Render Textureを使って取得できたとして、
カメラパラメータがわからないよなぁとなってしまった
Immersalってテキトーな値入れたらどうなるんだろ

OVRPassthroughlayerOVRPluginなどを眺めていると、
もしかするとSurfaceProjectionのジオメトリに合わせて新しいジオメトリ?メッシュ?を生成しているかもしれないなと思った
ランタイムでオブジェクトが生えている可能性がある、ちょっと厄介だな

OVRPassthroughLayerの中のsurfaceGameObjects Dictionaryの値である、PassthroughMeshInstanceオブジェクトが気になっている
これの~~handle系、なぜかlong型なんだけどこいつをどうこうすればいいのかな
そもそもこの値が何を指しているのか画わからない

ん-でもGameObjectはそのままに、そのなかのMeshオブジェクトを再生成してる感じなのかな
そうなるとMeshRenderer経由でMaterialの取得は可能か

ログインするとコメントできます