Open26

VRHandyCam導入メモ

toshidesutoshidesu

https://zenn.dev/keisuke114/scraps/5a0792aea13bdc

SteamVR の推奨設定に変更するウィンドウがおかしなタイミングで出ていたので、AcceptAll周りの処理がうまくいってないのかも

HTTPS経由のDLをAlwaysAllowedにするとSteamVR の推奨設定に変更するウィンドウが出てきて、AcceptAllで直った

OpenVRLoaderにチェックが入っている

toshidesutoshidesu

さっそくサンプルを実行しようとすると、入力周りの設定不備の警告が出た

toshidesutoshidesu

出てくるウィンドウにとにかくAcceptAllをしていくと実行できた

開く際にバグることがある

toshidesutoshidesu

必要な要件メモ

  • 適当なCard型オブジェクトの子にカメラをつける
  • そのカメラ映像をRenderTextureにあててCard型オブジェクトに投影する
  • そのカメラ映像をUnityRecorderで録る
toshidesutoshidesu

つかめない。記事に出てくるような、グローブじゃないのが原因?

toshidesutoshidesu

Player.prefabを使えばグローブも出現して物もつかめた

toshidesutoshidesu

Quadにカメラの映像が映る状態を作り、キューブの子にカメラをアタッチして動かしてみる

シーンにカメラを追加すると、VR状態でFixカメラの映像が見えてしまう

優先度の問題?カメラの切り替えをアクティブかどうかで切り替えることが多いけど、そもそもできない?

https://gametukurikata.com/camera/rendertexture

toshidesutoshidesu

UIにRenderTexutureあてたRawImageをつくったらVR時の表示も正常になったが、UIが追従していない

toshidesutoshidesu

UIは追従するようになったが、奥に描画される

toshidesutoshidesu

PlaneDistanceの値を短くすると解消された

0.1とかにすると2重に見える

toshidesutoshidesu

いい感じにUIに手持ちカメラが描画された

次は、Quadに描画してみる

マテリアルを作成してRenderTexutureを適用すればできる

toshidesutoshidesu

VRChat上でどのように使えるか

  • ハンディカム撮影を視界ジャックへRendering
  • カメラをとりあえずRenderTexutureにうつして、そのあとカメラを動かしてテスト
  • カメラを手に持てる状態がVRChatでどのように実装できるのか

予備調査

  • Constraint処理

https://note.com/helio_icnmy/n/ne9c256b76ea8

  • ワールドギミック

https://note.com/oshimu/n/n6d9036d29a93

  • 公式アセット以外のものがおおいらしい

https://note.com/halmond/n/n97da535f2e9b

toshidesutoshidesu

要件再掲

  • ハンディカム撮影を視界ジャックへRendering
  • カメラをとりあえずRenderTexutureにうつして、そのあとカメラを動かしてテスト
  • カメラを手に持てる状態がVRChatでどのように実装できるのか
toshidesutoshidesu

要はこのRenderTexutureの結果を視界ジャックすればよい

https://scrapbox.io/motoso/視界ジャック

面反転させたモデルをUnityで大きくしてユーザーを覆うような形にして配置します。
背景にしたい画像やシェーダーを用意してモデルに適用したら、背景書き換えを行っているかのように見えます。

これのRenderTexuture版をつくればよさそう

toshidesutoshidesu

パリピシェーダという、視界ジャックするエフェクトのテクスチャを差し替えたところ、RenderTexutureの映像が投影されたのでいけそう