far like the future, bright like the soul

trans programmer & gamedev, occasional multimedia creator, amy rose kinnie

nd/adhd/(possibly) autism

<3 @fiffle & @milly

this

This


email
amywrightmail (at) protonmail (dot) com

ompuco
@ompuco

Back in October of 2020, I was once again procrastinating working on visuals for my good friend @ivyhollivana's DJ set, this time by deciding one evening I would just go ham on porting the hot topic at that moment in time into VRChat:

I did this simply because I knew I could, at least with my esoteric knowledge of such things as the GPU debugging software RenderDoc & writing mesh generation & data parsing scripts within Unity, and I felt I was really in an ideal position to take advantage of this thing I already thought was incredible: that god damn house.

Screenshot from the initial dumping stage in RenderDoc, grabbing vertex data from the WebGL instance in Chrome.
I also felt like if someone else were to do it, they'd likely either mess something up with either the visual representation or make traversal more of a nightmare than it should be.
(I'm looking at you, VRChat photogrammetry worlds where people genuinely thought they could just use those nightmare meshes as colliders which would get players stuck all the time hhghghghgh)
My hand-authored collision meshes over the render meshes.
[Preview of the collission meshes I authored based on the floorplans themselves, something I believe to be a massive quality-of-life element to making this sort of world thrive in spite of the nauseating space & topologically-nightmarish low-res reproduction.]

So on the evening of the 27th, I went into full workforce mode to capture the magic of that house, with the fear that it could have been delisted & lost forever at any moment. A lot of things, like actually dumping and working with the GPU data to produce an identical mesh, was stuff I'd never actually done before but at least understood it in principle, and this project ended up being an excellent practice.

This is fine.
Over that process, I became uncomfortably familiar with the nightmarish layout of it all, and found myself increasingly uneasy as I was able to locate & recall impossible-to-see details in dozens & dozens of sections. I had become disgustingly familiar with the space, as if I had been living in the filth myself.

The result, while absolutely nauseating to exist in (especially in VR), was exactly what I had envisioned, and I'm still so incredibly proud of it.

I hope you enjoyed seeing a little bit about this insane little project I took up for an evening. Feel free to ask questions in comments, I'm always happy to talk about it!

Tweets from the creation process & more after the break:


People would occasionally cite my port in VRChat when writing about the space, even mentioning the game I had just finished working on at the time, leading to my former employer messaging me out of nowhere with chaotic confusion seeing his game being mentioned in these articles (and soon after, a similar fascination with 8800 Blue Lick Road as I had).

Shortly after, I also decided I would use it as the stage for the VJ set I had been procrastinating working on to create this, and it worked out wonderfully:


You must log in to comment.

in reply to @ompuco's post:

Incidentally when I found this world through your profile and was wandering around in it I was like "oh, this is like that one weird Zillow listing" but I didn't realize at the time it was literally photogrammetry of the same listing. Incredible

Ah yes, the strange video game from two years ago. You must find the bathtub!

This gives off unfortunately familiar vibes. It makes me think of that Ikea SCP, or the Library of Babel, but with all the weird mixed business of selling odd doodads and unknown DVDs, with a bit of crime on the side. That bathtub must have been a baptism font originally. This house used to be a lot of different things, and there's hints of it everywhere. Anomalous, cursed house.

Same, though I wouldn't be able to do it without taking a vast amount of artistic liberty to combine it all. I always end up having to mention it and do a bit of storytelling to get the full picture to people I'm showing the world to.

The panorama textures, while they do have minimal meshes for transitions, aren't usable as a contiguous 3D environment, and I didn't want to misrepresent the original data nor did I have too much time to try redoing textures & UVs from the dollhouse mesh.

At some point, it would be rad to see if it's possible to easily reproject some of those panorama textures over the existing texture, though I would likely need to make new UVs & split textures since the low res texture used in the current version is already surprisingly large (it's a single texture used over the entire mesh with no repeat spaces). Though I have no idea when I'd ever have the energy or heart to return to this to do it. 😩

I'm curious how there was even any mesh data to extract; like I can understand how you can attach RenderDoc to a browser and it'll end up attaching to whatever ANGLE (I assume) is up to

But they did like, actual photogrammetry for the house? It's not just a cubemap at each spot?

The mesh here is the full 3D one you can see and orbit around in the Matterport viewer under the UI option titled “Dollhouse” view. It’s commonly available in Matterport scans to allow users to view a building in full 3D & also take floorplan measurements, and it’s very easy to have the whole thing in view & capture all verts at once from within RenderDoc (which is easy to get the pre-matrix-transformed mesh data from in this instance).

It’s completely separate from the panoramas (which are indeed also meshes, albeit non-continuous across each other & not really usable for my purposes), but the dollhouse view does have severely limited fidelity despite its advantages.

Also to note: if you ever went on the original tour, you could see the panoramas shift & displace during transitions based on the photogrammetry data (a la Google Street View). It looked wild and does offer quite a bit of subjective spatial fidelity when traversing via panoramas, making the place feel even more horribly real when it was still up.