Imaginantia

思ったことを書きます

教養 / VR空間を作る

平然とワールドを作る人が沢山いるVRChatなわけだけど、VRChat外の人にとって「VR空間を作る」のは案外難しいのではないかと思った。 というのは、色々と見ている知っているはずのことを見てない人わからないから。 よくある話をつらつらと書きます。

Z-Fighting

これは最たるもので、「同じ位置に複数の物体が丁度存在していると明滅して目に悪い」というところ。

根本的に同じ物体が同じ場所にあるのはありえないのであって表現目的以外で存在してはいけないはずなのだが、何故かかなりの頻度で存在する。 同じMaterialならテクスチャズレ程度で済むのでなんとかなるが黒系と白系が混ざったりするともう見れない。つらい。

対策はいくらでもあるので単純にこれは起きていることに気づかないのだろうか。でも同じ場所に物体置かないよな。

片面 Mesh Collider

衝突判定というのは「内部」のある物体に対して行うというのは共通認識な気もするが、まぁその場合に片面しかないモデルで衝突を取るべきでないということに気づくのは多少難しいところがあるのであろうか。

まぁこれはVRCあるあるで、逆側から歩いていくと吹っ飛ぶ板はめちゃくちゃ大量に存在している。それくらいならまだいいけどモデルに依っては最悪埋まって移動できなくなるので悲しいね。 実際Unityは勝手にColliderをつけるのでよく間違えて置いてしまう。衝突判定が必要でない気がするなら即座に抜いちゃっていいと思う。

視差ズレ

単純な話、UnityのStandard Assetsにある水はバグる。ただそれだけなのだがこれはVRでやらないと気づかない。

一般のゲームシーンと違ってVRではカメラが2個ある為、何も考えずにエフェクトを掛けるシェーダを書くとその2つのカメラの存在に対応できていないケースがある。 例えば「カメラから一定範囲内には物が映らないようにする」のもダメ。「ポストプロセスで輪郭を出す」のも仕組み上はダメだけど遠くの物に使う分にはあんまり問題ないので普通に使われている気はする。

結局こういうのは「VRでテストをしたか」「その上で意図していない挙動になっていないかを逐次検証したか」というところであると思う。1つ目が達成されていないケースは多そう。かなしいね。

その他、常識的な話

  • 影を受けるが影を出さない物体が存在できる。この場合影としての物体の前後関係は正しく出ないからキャラクターが変に浮いたり影が透けて見えたりする。
  • ディティールはポリゴンではなくテクスチャでやってほしいしその方が「私達にとって自然」。その境界を見極めるには知識が必要だとは思う。
  • 半透明物体は基本的に完璧にはならない。床に置いたりすると「床上にある物体が床よりも下にある」ように描画されることがある。動作原理を知って対処。
  • 視界外にある物体は存在しなくてもいいので消してもいい。けどこの判定サイズが実際の大きさと違うと視界内にあるにも関わらず消えたりする。
  • 「同じ世界は複数存在して良い」。きっとVRChatに限った話ではなくて、一般にVR空間はそういうものだと思う。だから無目的で全員が同じ場所に集まると考えるのは単なる幻想。

何故なのか

仕組みを知らないとか、勉強が足りないとか、そういう話ではないと思う。一つは「起きている問題に気づかない」こと。もう一つは「意思を通す気が無い」こと。

この辺の分野は基本「やりたいことがあるから学ぶ」スタイルで良いと思っていて、そういう点では「問題が起きているから対処するために色々調べる」のが正しい姿勢ではないかと思う。 だけど起きている問題に気づかなければ永遠にそのままだよね。

そしてもしもそれを知っていたとしても「致命的でない」と判断して放置するケースがありそうな気もする。これはVRChatみたいな空間に浸かっている人の常識と外部の常識に乖離があることによる悲劇なんだろう。 通すべき意思のレイヤーはもう外部とかなりかけ離れていると思う。音量調節はいくらでもできてほしいし世界は同期せずにローカルだけで動作してほしいことも沢山ある。

きっと慣れない人は成れないのではないかな。かなしいね。でもそれは正しい姿だと思うよ。

残念ながら今の主流として存在する知識体系は「ここ」が基準であるわけで、それに寄らずに生活空間は作れない。生活する人が居ないので。奇を衒う場合ではないよな。今を認識し今を進んでほしいね。


知識体系の乖離した世界が出現した、というのは完全に技術の民主化による成果だと思う。「向こう」が勝手に与えるUIや機能だけではこうはならない。だから今の流れはなるべくしてなったのだと思う。

今でも当然ながら「向こう」が作るコンテンツは存在するけれど、この乖離世界の発展によってそれを喰い潰すようなことがあれば。それはとても輝かしい未来だなと思います。