VRChat Gaussian SplattingをVRChat以外で使う

なんとVRChatGaussianSplattingはVRChat以外でも使えちゃいます。

※VRChatGaussianSplattingの通常の使い方は こちら の記事にまとめました

clusterでも3DGS表示できた!
ただしWindows版に限る。
mac, iOS, iPadOSでは破綻。

ELF-SR (ソニー 裸眼立体視ディスプレイ) でも3DGS表示!UnityGaussianSplatting」だとDirectX12縛りがあるけれど「VRChatGaussianSplatting」はDirectX11でも動作するので、つまり初代ELF-SR「1」でも3DGSを表示することが出来てしまう。

これを行うには「Precompute Sorting」モードでデータを作っておく必要があるので、以下にその手順をまとめました。

事前ソート処理版3DGSデータ作成方法

GaussianSplattingのplyを変換する際に「Precompute Sorting」のチェックを入れておく。

この状態で変換する。
注意書きにあるようにこれで変換したものは「GaussianSplatRenderer」には対応していないので注意。
※GaussianSplatRendererがなくても表示できる

clusterワールドでの設定

clusterのUnityプロジェクトを通常通り作成する。

ここへVRChatGaussianSplattingのUnityプロジェクトで「3DGS変換したデータ」をコピーして持ってくる。

ただしこれだけだと必要なシェーダーが無くまだ表示されないので、
以下の「RadixSort」と「Shders」もVRChatGaussianSplattingのUnityプロジェクトからコピーしてくる。

準備ができたら、3DGS変換したPrefabをシーンに配置する。

あとは通常通りワールドをアップロードする。

表示できた!
デスクトップ版だけでなくVR版でも表示できた。

なお、mac, iOS, iPadOSでは描画が破綻して表示できなかった。

ELF-SRで表示する

cluster版と同様。
ELF-SRのSDKを入れたUnityプロジェクトへ以下のセットをコピーしてきてPrefabをシーンに配置するのみ。
・3DGS変換したデータ
・RadixSort
・Shders

対応Unityバージョン

新しいUnityだとシェーダーエラーになってしまった。

2021.3.4:OK
2022.3.22:OK
2023.2.20:NG シェーダーエラー