バーチャル3Dクリエイター神部まゆみです(*^-^*)
前回の続きで、unity-webxr-exportをいじって、Oculus Quest2でWebVRを動かして行こうと思うよ。
前回の記事はこちら。

unity-webxr-exportはこちら。

導入方法についてはトマシープ先輩の記事が詳しいです。




2021/10/21追記:久々に触ったのでunity-webxr-exportの導入方法を書いておく
久々にいじったら入れ方忘れてたので、自分用備忘録としてここに書いておきます(;^_^A
↓こちらのOpenUPMでやる方法でやりました。




パッケージマネージャーのadvanced project settingsを押して、scoped registryのメニューを開く。
そこに
Name: OpenUPM
URL: https://package.openupm.com
Scope(s): com.de-panther
を打ち込んで保存する。
そうするとMy Registryに追加されてるので、「WebXR Export」と「WebXR Interactions」をインストールすればOK。
「WebXR Interactions」のところでサンプルシーンがインストールできるので、最初はそれをいじってみたほうがいいかも。
desertのサンプルシーンを読み込んで再生すると、
サンプルシーンが動かせます。
あとwebglの細かい設定もビルドする前にやっておく。
やらなくてもビルドはできたけど、VR表示できずになんかおかしくなった。
あとは頑張ってください。
このアセットはまだ定期的にアップデートしてくださってるみたいなので、ありがたいですね。
でも無料だといつ更新されなくなるか不安だから、有料アセットとして販売してもらったほうが安心できて良いかも?(;^_^A
2023/02/02追記:バージョンアップできなかったけど新しいプロジェクト作ってやったらできた
久々にいじろうと思ったらv0.16.0が出てたので(記事執筆時点ではv0.13.0)更新しようとしたけどなぜかできなかった(~_~;)
VRChatの 2019.4.31f1 でやろうとしたからunityエディターのバージョンの問題とか?
現時点で安定版で出てた 2021.3.17f1 を入れて新しいプロジェクトで作ったらちゃんと入れられた。
まだまだ更新してくれているのはありがたいですね(;^_^A
追記終わり。
WebXRCameraSetさえあればOculus Quest2では最低限動作するっぽい
前回はサンプルシーンをビルドしてアップしてOculus Quest2で動作確認しただけで終わりましたが、
新規シーン作って動作確認しました。
PrefabsフォルダにあるWebXRCameraSetプレハブをシーンに配置すれば最低限動作するみたい。
これでOculus Quest2で動作確認できました。

ただ、スマホやPCからだと何も動かせない感じ?これは設定次第かも。
私はOculus Quest2しか持ってないので分かりませんが、VIVEとかでも動くのかな?
私のモデルを配置して動かしてみる
一番やりたいのはもちろんこれ!
私の目的はバーチャル男女とイチャラブすることですからね( *´艸`)
これで適当なIdle状態のアニメーションを用意して、デフォルトステートメントに設定しておきます。
uniVRMの影響?「プレイヤーをビルドするには、プレイヤー設定…を選び、色空間と現在の設定との間の不一致を解決します。」エラーが出ていた
あれ?uniVRM入れたからかな?なんかエラーが出てる。
「プレイヤーをビルドするには、プレイヤー設定…を選び、色空間と現在の設定との間の不一致を解決します。」 だって。
これ確か以前、解像度か何かの設定いじったら解決したような……。
こちらの頭のいい先輩によると、Playerの色設定をリニアからガンマに変えればいいらしい。
ありがとうございます(*^-^*)




あーこれか!なんかエラーが出ている。
あれ、ガンマにしてもなんか変なウィンドウが出て、強制的にリニアにしろ!みたいに言われている?
uniVRMはリニアじゃないとダメなのかな?
自動グラフィックスAPIのチェックを外したらエラー解消した
仕方ないのでエラーに書かれている通り「自動グラフィックスAPI」のチェックを外してみたら、エラー解消されてビルドできるようになった。
これでリニアのままビルドできるみたいです。
Oculus Quest2で動いた!やば、すごくうれしい( *´艸`)

本当にブラウザで動くVRコンテンツが作れるとは…。
ただスマホ、PCから見た場合には何も設定してないので、表示されるだけで視点変更とかはできません。
こっちを見つめてくれるunityアセットLook Animatorは動くのか?
見つめてくれるって言うか、特定のオブジェクトに注目してくれるアセットだけど。
ちなみにLook Animatorはこれね。
Look Animator|Unity Asset Store
これが使えればこちらの行動にキャラが反応してくれるので、バーチャル男女とのイチャラブQOLが上がるはず!( *´艸`)
私は実は最初STYLYでこれがやりたかったのだけど、PlayMaker以外のスクリプトが使えないらしくて諦めていた…。
多分プレハブで追加したCameraに追従させるようにすればいいのかな?
あれ、ダメみたい( ̄▽ ̄;)
これヘッドの部分は何のオブジェクトなんだろう。
或いはカメラの子に空のオブジェクトを作って追従させて、そちらを見るように設定するとか?
【動画あり】手はいけた!バーチャル女子と催眠術ごっこができそう(笑)
Oculus Quest2で手を動かせば追従してくれます。
スマホやPCだと表示はされますが、手が出ないので特に何も起きません( ̄▽ ̄;)

これが動いた時、無茶苦茶興奮した( *´艸`)
これスクリプト組めばアッチ向いてホイとかできるんじゃないだろうか。
こちらの行動に対するリアクションがあると、コミュニケーションが取れてる感があってとても良いね( *´艸`)
あとはGoogleのSpeech-to-Textみたいなのと組み合わせて、簡単な会話くらいできるようにならないだろうか。そういう動的なコンテンツは無理か…。
多分つづく
まだカメラに追従できてないけど、手ができたんだから多分いけるのでは。
あとはサンプルではオブジェクトを触って掴んだりできたから……うーんスケベな使い方しか思いつかないけど(笑)、まだまだ色々できそう。
しかしすごいねこれは。
「二次嫁が画面から出てきてくれない」みたいなよくあるオタクのギャグがあるけど、出てきてくれないならこちらから行けば良かったのか(笑)。
あとはSTYLYみたいに、狙った場所に座標移動ができると座ったまま遊べて良いんだけど、できるのかな?
【動画あり】2021/06/03追記:カメラにも追従できた!CameraLかCameraRに注目させれば良いっぽい
↓Oculus Quest2向けに高さ調整したので、スマホやPCから見ると足しか見えません( ̄▽ ̄;)

VRだから左目用のカメラCameraLと、右目用のCameraRがあるみたい。
今回はLook AnimatorでCameraLに注目するようにしました。
ただ近付くと明らかに目線が左に偏る感じになるので、できれば空のオブジェクトをCameraLかCameraRの子として作って、左右の目の中間あたりに位置調整した空オブジェクトに追従するようにしたほうがいいかも。
うーん、それにしてもVRでこっちを見られると存在感があって、本当に目の前にいるような感覚になってくる( *´艸`)
バーチャル男女と暮らせるようになる世の中もそう遠くないかもしれないね(笑)。
unity-webxr-exportはOculus Quest2のハンドトラッキングにも対応してるみたい。コントローラーを持たなくても手を動かせば操作できる
まさかハンドトラッキングにも対応しているとは!
あなたの手を動かせば、モミモミとかもできちゃうんです!( *´艸`)
まだコライダー設定してないから透けてしまうけども。
バーチャル女子ならば、気安く頭ポンポンしても嫌がられることはありません!(笑)
ハンドトラッキングを使うと、Oculusコントローラーを持たなくても、Oculusのカメラでプレイヤーの手の動きを検知して操作できるんです。
Oculus Quest2のSTYLYアプリでは対応してなかったけど、これだと生身の手で操作できてより没入感が出るかも。
Oculus Quest2のチュートリアルで宇宙人と手を握ってダンスできるやつがあったから、ああいうのもできるのかもしれない。
あー、Oculus Quest2買ってよかったなぁ。これはいいぞ( *´艸`)
もう少しいじって調べてみようと思います(*^-^*)
追記:続きを書きました。


