Archviz floorboards methods? Coming from Rhino + 3dsMax

Hi everyone!

I am an architectural designer and a 3Dviz guy who really wants to use Blender as one of my main tool!
I am now quite familar with how things work and so on in Blender.
However, there are still few workflows and habits I developed from using other software and was wondering what are some ways Blender users might tackle this situation.

Typically, if I have a spec for a floorboards with a certain size and texture or reference image samples, I would either model them as a block (instance) and distribute them with proper patterning and dimensions and bevels them either in Rhino or in 3Ds Max using plugins or grasshopper (which is like a geonode).

I can’t seem to find any good tools for getting this done the way I want and efficiently. As the rooms are normally not a simple rectangle, and I want to use multiple floorboard jpegs (e.g. multiple planks as separate jpeg files) to create natural look with bit of variations.

I am just wondering how other Blender artist does their floorboards efficiently when they have to model it based on a exact dimensions, textures and patterns.

Thank you!!

Maybe have a look here:

There where also some disscusions about using Geometry Nodes to automatically do a floorlayout with boards… like this:

Floorboard Generator - Addon (You can make various kinds of floors)

blender 3.4 works fine.
There is a problem with blender 3.5.

I don’t call myself “Archviz artist” as I’m mostly doing office spaces and with far lower requirements than your typical archviz artist. So I’m not locked to achieving a perfect look, it just has to loosely resemble the real thing. I’m using a strict rectangle only approach, where everything is controlled in the material itself using (usually) object coordinates and I will separate the object and rotate the origo if I need it to go in another direction. I control the length and width, shadow gap size for adjacent and butt, randomized lookup from a single 4k-8k seamless texture file per board which is then randomly mirrored and (just slightly) rotated. If I still see repeats (customer wouldn’t care at this point, but I do, lol), I’ll run the wooden texture lookup through a seamless blend generator as well. I typically use color derivatives that I manipulate to get the ranges I need for other purposes. Both me and “PBR textures” are completely wrong in doing it this way (why would i.e. roughness and bump be based on albedo, makes no sense),but whatever - it does create some variation with very little cost, incl texture memory cost as I’m manipulating it in the shader. Each board also get a random orientation lay (random normal), but just a very tiny amount. The random lookup is based on three brick generators. For extra optional utilities, I can do microroughness, consider all bounces to be diffuse only (can improve rendering speed), and add a topcoat layer to either per board (pre-sheened lacquer) or as a top layer (pour epoxy over floor), as well as making it transparent if viewing from the backside face (allows me to see through the floor from below while navigating camera stuff).

2 Likes

Interesting! Could you show this workflow some how?

/CG

Not so much a “workflow” as it is a complex material setup. I’ll see if I can post an example that “contains everything” (several custom node groups) wrt to the tricks I can end up with, although sometimes I simplify. You’d have to preview every step on the way just to get a grasp on what’s going on, as it’s probably not all that easy to read. And I’m gonna assume Eevee can’t cope at all, but I don’t use Eevee.

1 Like

That would be great! So that i could better understand.

Cheers!

Well, I’m at where it “has it all”, to the point where even Cycles struggles; I have no idea why, but I’m not able to add one extra color mix node at the end for the bumps. Say for use as “inherit bumps” on a topcoat shader (just mix substrate bumps with geometry/normal to soften them out, then add just whatever is required for only the topcoat). Bizarre part is that if I use a single texture, it (and also manual box mapping, but for furniture purposes covering all 6 possible box map projections) works well. But if I run the texture through a seamless randomize mixer - that has nothing to do with normals of any kind - it completely breaks apart. It also (for the furniture version) completely breaks down if I use calculated/offset coordinates for the randomizer itself, whereas basing it off object texture coordinates along works just fine. I think I’m going crazy…


Wooden Cabinet, Tiles, and Floorboards.blend (725.0 KB)

Above is what I came up with; floorboards that can also used as tiles. For improved floorboards, make the node group unique and unmute the “randomize shift” inside. Floorboards don’t use the mortar part of the shading. For improved/unstacked tiles, make the node group unique and take out the brick offsets, and obviously use a more appropriate texture rather than wood.

The credenzas uses customized box mapping, and can project any of the six boxes versions (those are just regular image based box mapping in its 6 possible orientations), by assigning a collapsedUV island to a specific region within the UV space. No “actual” UV editing required, so no UV seams, and no texture seams either.

Randomized lay orientation is done simply by modifying the normal just slightly. I’m doing too much in the image I rendered out. Make sure to check with a sharp glossy

I included a 1k .jpg version of the 4k .png wood texture I used in the image. For other wood textures, they need to be seamless, 4k or more resolution, and the derivatives needs to be tweaked on a per use basis. They are there, but spotting texture repeats is hard and certainly not in your face obvious.

2 Likes

Ah,

Thank you for sharing, looks very advanced,
I see now that you are using one seamless texture.
What I know that 3Ds max floorgenerator can do,

Is using these high quality textures where every plank is a unique texture - multi texture - and spread them out on different modeled planks. But I understand now that you are doing more of a shader trick.

This is my textures, each one is a Douglas fir plank with the same sizes, but not a seamless texture.

I still haven’t found a good generator which can take those textures and spread them out on a floor in random like this: https://www.youtube.com/watch?v=bg4UwU-n8tc

:slight_smile: Anyhow, thanks for sharing!

Cheers!

I use this approach to select a random texture, named to make it UDIM compatible, on monitors. Choose what strategy you want for randomization; position snap based for instances, object info/random for objects, or geometry/random per island for UV islands. I often work with large office spaces, and I will tilt if I see the same floorboard twice :grin: Hence my efforts to reduce obvious repeats. Although I’m fully aware my boss/customers wouldn’t spot it.

Hi! Check this:

1 Like