X3D areas, which are viewed as part of the page in a browser, have to be small. There is the potential for browser freezes at worst, and poor performance at best if the file sizes are too large. A single model of a sofa, for example, might be 300-500kb. Huge.
Our approach has been to simplify everything as much as possible. Save on furniture model sizes, so you have more to “spend” on avatars. All of our furniture has been redone as very simple, fat, squashy shapes with no frills. If something isn’t made to be interacted with, like a chest of drawers that can’t be opened, we’re modelling it as a flat surface, and the drawers and pulls are painted in the texture. This could be boring…or we can be as creative as possible within those constraints. The blocky chairs are skewed, all at off-kilter angles. Trees will probably be flat, like stage-prop trees. Everything will depend on the art direction…if the style is right, then it will work. If the art is wrong, then it will be boring.
This is an area where anyone who has a background in working on high-volume transactional sites has an advantage – you’re used to being as creative and innovative as you can, within the constraints of bandwidth, validation, accessibility, etc. It’s very good training. Given enough cash and manpower, working with Unreal Engine (starts at $350,000) would allow you to create literally anything in near-perfect realism. It’s much more of a challenge to be creative within a tiny, cramped box of what your technology actually allows you to do.