I have some houses that Im making and Im making a kit for those houses so I can make a bunch of different variations.
Though I need to make a few houses that are unique looking. Would you still make a modular kit for these unique houses, or just build them bespoke as one big mesh?
Replies
large open world - you're better off building the houses as one lump (be as modular as you like offline) and figuring out a system that lets you swap interior decoration/furniture etc. parametrically. its much easier to handle lods and a lot less work to populate your world
normal sized competitive FPS - use smaller modules, it works better for occlusion/culling, you have more granular control over lodding and you can be more flexible with the human scale layout while designing your maps.
Some of the houses are just background houses too that the player wont even get close to. But the more bespoke houses are the one the player will be walking around.
Any advice here?
Traditionally people will use a hybrid solution where their vertex color mask is modulated with a tiling noise texture - often world space - to allow for variation based on position and if you can afford it, uniquely modified vertex color. That usually holds up fine under lodding - and if not, you just fix the lods so it does.
This is probably your best option unless you have a clear bottleneck (eg. you're already trying to shove 2gb of geometry up an xbone and there's no time to fix it)
I'm not a fan of decals in general (from an art pipeline management perspective).
- projected decals are inflexible, great for signs/graffiti etc on flat surfaces but otherwise, complete ass.
- geometry decals are plagued with sorting/parallax issues
both are unreasonably expensive and a huge pain in the arse to manage through iteration on the artwork
Another question I was going to make a new post about, but it's related to this a bit. When making tiling textures like wood or a trim sheet, I've mostly always authored those at 2k because that works with my texel density which is often 512 or 1024 per meter for things Im working on. Often I see people using 512 or 256 tiling textures and just tiling them more, but in my experience that just creates more obvious tiling on the asset. With a 2k tiling texture it's less repeated tiling. Can you help me understand when and how to use smaller tiling textures, or am I approaching it correctly?
Edit: this is a great example of reducing tiled artifacts, by using a blending technique. One of the many things to try, depending on the constraints and situation. https://docs.unrealengine.com/udk/Three/TerrainAdvancedTextures.html#Multi-UV Mixing: Reducing tiling through scalar mixing
but
That particular example.. not sure I'd recommend it today...
Using a rotator like that is computationally expensive (for a 90 degree rotation you can just swap axes instead and that's basically free but arbitrary rotation is not).
- It should be a good trade-off if you're memory bound
At the time UDK was current machines had relatively little vram (<1gb), games were running at relatively low resolutions (<=720p) and we were using much less complex shading models (static lighting, blinnphong etc.) - generally speaking, you ran out of memory long before you ran out of processing power and it made sense to trade off in that direction.
In a more modern scenario we have a lot more base memory combined with sophisticated streaming tech and much more complex shading models at much, much higher resolution. With this in mind, it makes sense to lean more towards solving your problem with vram than it does to solve it by adding per-pixel complexity.
Obviously you don't know unless you profile and in this context it probably makes absolutely no measurable difference (rendering the last 3 paragraphs redundant) but this is the internet and tradition dictates that hairs must be split.