Home Technical Talk
The BRAWL² Tournament Challenge has been announced!

It starts May 12, and ends Oct 17. Let's see what you got!

https://polycount.com/discussion/237047/the-brawl²-tournament

Building modular buildings and houses questions

jordank95
polycounter lvl 9
Offline / Send Message
jordank95 polycounter lvl 9
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

  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    that really depends on what game you're making. 

    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. 
  • jordank95
    Offline / Send Message
    jordank95 polycounter lvl 9
    @poopipe these are just exterior buildings that the player runs around. No interior needed (they are separate maps that load when the player enters a building or house).

    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. 
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    I'd probably build a bunch of windows and doors and stuff and stick them to a variety of bespoke/unique house shaped meshes as a starting point.  if you need to collapse them to single pieces later that's easy
  • jordank95
    Offline / Send Message
    jordank95 polycounter lvl 9
    Ended up just building a simple modular kit. They're off the side of the road houses that players dont interact with, so I think it gets the job done and gives me variation. 
  • jordank95
    Offline / Send Message
    jordank95 polycounter lvl 9
    @poopipe another question for ya. If you build a house, a normal sized house, would you add variation to the tiling textures/trims by using RGB masks or would you vertex paint and use decals? The mask approach I can still LOD without it affecting the look, but with vertex paint, LODs will make the vert paint pop in and out. 
    Any advice here?
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    depends

    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



  • jordank95
    Offline / Send Message
    jordank95 polycounter lvl 9
    @poopipe all makes sense, thank you. 

    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?
  • Eric Chadwick
    It's all context-dependent, something you learn best by doing. My advice is to try forcing yourself to stick to a lower resolution, and fix the problems you see. You will learn how to minimize repetitive features in a texture that is tiled. You will also learn how to leverage vertex blending and other techniques like decals and prop placement, to minimize artifacts from repetitive features.

    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 
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    In this context I'd absolutely encourage investigating ways to reduce tiling with small textures as Eric suggests. learning these techniques  pays off in all sorts of ways (i recommend mocking it up in photoshop/designer, then figuring out the maths later btw).

    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. 


Sign In or Register to comment.