Interior architecture helpers

I’ve used the PointerLock demo to create one big walkable room, that dynamically fills the walls as an art gallery (quite primitive so far).

I’m wondering if there are any helper libraries / tools to lay out very simple interiors? I want to expand it to be huge, perhaps procedurally generated, and I’m not sure whether to keep hardcoding all these room BoxBufferGeometry’s, or if there’s a more elegant pre-existing way to notate architectures, with “room objects”. If not I’ll certainly make a system, but would rather not re-invent the wheel.

Rather than a distance-based renderer, I thought I’d start even simpler and just load the contents of the room the user is standing in.

This question is deliberately vague, hope that’s ok… my goals are also still vague as well. It’s been fun so far though!
https://scryer.studio/salon

AFAIK no, I’ve never seen something like that. What is such library supposed to do?

In the architecture space, 3D models/scenes are normally designed in content creation tools, exported and then loaded in a 3D application.

Well I’m very new to the community, so I don’t know standard ways of handling these things yet.
But I imagine making walls that are subject to collision detection, with doorways, is a frequent desire.

So you might have
scene.add(Building)
Building.add(Wall)
Wall.add(Doorway)
UserIn(Building)
etc

I’m going to try to make functions like this in any case

You can look at this simple example.
http://discourse.threejs.hofk.de/CollisionDetection/CollisionDetection.html
https://codepen.io/anon/pen/jQLGVx

I tried it myself once, a collision detection with a lot of objects can consume a lot of power.


addendum:

If you’re new, maybe the sample collection will help you.

TBH, I don’t think so. Most professional 3D scenes/levels do not consist of a collection of flat walls. The geometry is created in DCC tools like Blender and the movement of the player or game entities is restricted e.g. with a navigation mesh or a physics engine/collider system.

2 Likes