UnityによるHTC Vive用アプリ制作
ビルドインレンダラーでのVIVE VRアプリ作成
URPへの変更
URPテンプレートを使ってプロジェクトを新規作成した場合には、
Unity Starter Assets、SteamVR Unity Pluginをインポートした後に、
Edit>Rendering Pipeline>Universal Rendering Pipelineから、プロジェクト内のマテリアルアップグレードすればURPに変更ができる。

3Dテンプレートでプロジェクトを作成した後で、URPパッケージをインポートした場合は、追加設定が必要。
3DテンプレートはBuildin Rendererを使うが、設定変更しないとUnityはそのまま使い続けようとする。
インポートしたレンダリングパイプラインを指定する設定は、
UnityEditorのProjectウインドウの「+」Create で新規に設定ファイルを作成する。
Rendering>Universal Render Pipeline>Pipeline AssetでUniversalRenderPipelineAssetを作る。
Edit>Project Settings>Graphics で、作成したAssetを指定する。

マテリアル変更は、Edit>Rendering Pipeline>Universal Rendering Pipelineから、プロジェクト内のマテリアルアップグレードする。
Buildin

URP

ポストプロセッシングとかを設定しなければ、見た目で特段の変化はない。
HDRPテンプレートからの実施
HRDPテンプレートで新規プロジェクトをスタートする。
2020以降のHRDPテンプレートには、綺麗な建物のサンプルモデルが入っているので、内部を探索するVRアプリが簡単に作れる。


SteamVR Unity Pluginのインポート
PackageManagerでMyAssetを選択してリストを開き、SteamVR Unity Pluginを選び、ダウンロード、インポートする。

設定変更をアクセプトする。

Player Settingの中にあるUnity組み込みの、XR Pluginも自動設定される。
SteamVR Unity PluginのオブジェクトはHDRPに対応していないので、HDRP Wizardで全マテリアルをHDRPにUpgrade変換する。

VRオブジェクトの設置
HDRPテンプレートには、キーボードで動くPlayerControllerFPSというオブジェクトがある。
PlayerControllerFPSは、プレーヤーカメラの位置と向きを制御する機能が入っている。
PlayerControllerFPSをInspectorで無効化(OFF)にする。

追加するものは、3Dテンプレートの時と同じ
Teleporting
Assets\SteamVR\InteractionSystem\Teleport\PrefabsにあるTeleporting.prefab
Player
Assets\SteamVR\InteractionSystem\Core\PrefabsにあるPlayer.prefab
Teleportpoint
Assets\SteamVR\InteractionSystem\Teleport\PrefabsにあるTeleportPoint.prefab
Teleportarea
Teleportareaに設定したい床面や、専用のPlaneを新規に作って、下記コンポーネントを追加する。
Assets\SteamVR\InteractionSystem\Teleport\MaterialsにあるTeleportAreaVisible.mat
Assets\SteamVR\InteractionSystem\Teleport\ScriptsにあるTeleportArea.cs

その場回転移動もできる。

SteamVRでVIVE機器をスタンバイする。

Playボタンを押して、シーンを動かすと、エディタ画面とVIVEの両方に映像が映る。



HRDPの問題
Unity2020で新しくなったHDRPテンプレートは、太陽光が100,000lux,5500Kとなっている中庭
日差しの入る廊下
ダウンライトの暗い部屋
の3つに分かれている。
3つの部屋ごとの見せ方を変えるため、ボリューム領域が設定してある。
これが、Viveのテレポート用のレイキャスト(レーザーポインターのような軌跡)を遮ってしまう。
テレポートマークまで届かない問題があった。
ボリュームの端まで行ってから足で進んでコントローラーを持った手を境界の先に伸ばしてレイキャストを飛ばせば何とか移動できた。
なお、屋外の光が強い場所では、明るすぎてVRのテレポート表示やレイキャストの発光がしても見えない。
上手く動いてないと思って試行錯誤したのだが実は問題は起きてなくてうすーく見えていた。
アフターエフェクトでブラーもかかっていてVRで見ると違和感あり、Fogもあって砂漠にいる感じがするので65,000lux,6000Kに変えると日本の夏ぽくなる。
モーションブラーは視界に違和感あり、VRには合っていない気がするので切る。
アンチエイリアスをONにしたらクリアになる。
VIVEでのVRアプリ作成(ビルドインレンダラー)