Using Floor Generator Script by Bertrand Benoit

Using Floor Generator Script by Bertrand Benoit

May 21, 2010  |  How-To, Scripts, Tutorials

In this how-to article Bertrand describes in detail the way he uses the Floor Generator Script using the GH House model as an example. Check Bertrand’s full GH House making of article for more information about his work.

Back in the old days, I always struggled to create hardwood parquet floors that would work in any situation. Either my texture maps were big enough to cover large expanses of floor without showing visible tiling but they would show some pixelization when zooming on individual floor planks. Or they were detailed enough to be seen up close but did not cover large enough areas, showing repetitive patterns over a certain distance.

Initially, I solved the dilemma by actually modeling my parquets and texturing individual planks, placed at random, instead of an entire floor. But this was a protracted process and it was only really workable when the floors had reasonably simple shapes (basically rectangles).

Then CG-Source came along with the 3ds Max script – Floor Generator, and a plugin – Multi Texture Map. both written by Bercon, aka Jerry Ylilammi of BerconMaps fame that do the work for you, not just faster but better and with a flurry of extra options.

cg source floor generator sample 01 528x304 Using Floor Generator Script by Bertrand Benoit

Since these free tools came out, I’ve hardly used anything else, not only for my parquets but also for all sorts of stone or tiled floor materials. I couldn’t live without them.

A side note – Good plank textures are notoriously hard to come by, so once you’ve dowloaded the free tools, do yourself a favour and buy some of CG-Source’s multi-texture maps. They are made to be used with the plugin, they are very high quality, and you’re certain to be using them over and over again.

A great thing about the Floor Generator is that it uses splines to define the area to be covered with parquet. The only restriction is that the splines must be closed (which is logical if you think of it). This means there are no restrictions on how complex the shape of your floor can be. This was a great advantage for the GH House, with its complex floor plan with few right angles. Floor Generator is also pretty intelligent. If you enclose a closed loop within your floor spline, as long as they are both part of the same spline, the script will understand that you want to blow a hole in your parquet, which is great if you have elements, such as concrete pillars (or tree trunks in the case of exterior wood decks), that must go through the floor.

Because I didn’t want to settle on a POV until I had finished texturing the house, I decided to cover the entire floor area of the GH House with parquet. The first step was to select and isolate all the floor elements, convert them to editable polys, and break them into workable bits (Floor Generator can be a bit slow when building very large areas of parquet, so better to split your floor in separate splines – one for each room for instance).

Then, I selected all the outside edges of each of these elements and converted them into splines (Edit Edges → Create Shape From Selection → tick “linear”).

floor generator Splines 528x350 Using Floor Generator Script by Bertrand Benoit

Make sure all splines are closed, otherwise Floor Generator will not be able to use the spline as guide. At this stage, I deleted the poly objects, which were no longer needed.

Having selected one of the splines, I ran the Floor Generator script and pressed the “Create” button. A generic floor appeared. I also pressed “Interactive Update” to see my setting changes applied in real time.

The first setting regards the size of the planks. For the length and width, I simply used the number of pixels of one of my plank maps (here 1,500×70 pixels), to make sure they would not be distorted in the image. It’s better if all your planks have the same size, as the maps will be distributed randomly, but the script lets you specify the minimum and maximum length and width of the planks if you want more variation.

The initial floor showed planks that were way out of scale. You can adjust the scale of your parquet by tweaking the “Scale %” value in the “Variation Per Board” section of the script. Here, I found a value of 30 per cent of the map’s scale worked fine. I left all other values at default because I wanted a very neat, new and flat floor. If you’re working on an older floor or some slightly disjointed tiles, the Tilt value works miracles by applying micro-level random rotations to the planks that give some relief to the floor and make it look more realistic as it catches the light.

The following image shows my settings applied to all the spline objects. The only variation I made was to change the “Direction” value, which rotates the floor, to make sure the boards were all aligned with the general orientation of each room.

floor generator Parquets 528x350 Using Floor Generator Script by Bertrand Benoit

Now that you have your floor, the next step is material creation. (MultiText.jpg) shows the texture maps I used for my floor (well, just four of perhaps 20 different plank textures), each saved as a separate .jpg image. IMPORTANT: If you are using my settings, make sure your plank or board images are HORIZONTAL.

floor generator MultiTex 528x42 Using Floor Generator Script by Bertrand Benoit

In the next image you can see an example of Floor Generator material (to be applied to the “FloorObject” created by the script, not to the spline object).

floor generator MatExample 528x391 Using Floor Generator Script by Bertrand Benoit

For the diffuse colour, I loaded all my maps into a Multi Texture. By the way, I retained the filtering in this example but it’s never a good idea as it will make your floor look blurry when seen at a grazing angle. Better to tick “None” in the filtering section.

The Multi Texture map lets you apply random variations to your texture. In this case, I just introduced a very slight Gamma variation (of 0.2), so that some boards would appear slightly darker than others. But you can also modulate the hue and the saturation.

The reflection, reflection glossiness and bump maps are all copies of the diffuse map but with Saturation brought down to zero (grayscale) and some variations in the gamma. Here, there is no recipe but only trial and error until your reflections look good. The image also shows my settings for the main floor material.

Do not worry if only one of your selected textures appears in the Max viewport. At render time, the script will load all the images in the Multi Texture map and distribute them randomly.

That’s it. If you’ve followed this to the letter and press render, you should see a beautiful floor appear. You should play with the other values in the script to obtain different looks. In addition to Tilt, you can also slightly rotate the floor boards, change the offset value for the rows, draw a bigger bevel around each plank, or add some space between the planks, etc. You could also make the planks have zero thickness (mainly if your viewport gets too slow or you’re running out of RAM to render).

The following images show what you can achieve with home made floor textures, CG-Source textures, or stone and tile textures.

floor generator Test5 150x150 Using Floor Generator Script by Bertrand Benoitfloor generator Test4 150x150 Using Floor Generator Script by Bertrand Benoitfloor generator Test3 150x150 Using Floor Generator Script by Bertrand Benoitfloor generator Test2 150x150 Using Floor Generator Script by Bertrand Benoit


Subscribe to the Blog

Choose one or more of the options below to get updates about spotlights like this as they are made available.

For more information about this blog, go ahead and visit the .


Post comment as twitter logo facebook logo
Sort: Newest | Oldest
plumber 5 pts

Hi,

How diffuse maps distributed randomly finds its own bump, reflection ect versions distributed randolny too? Imean how do they find their clones?

ElGrecus 5 pts

For the three multitexture maps other than diffuse, do you have to create copies of each texture in Photoshop? If you're using 20 diffuse textures, that makes 80 total. Is there a way to place the diffuse multitexture map into the other three slots and use the saturation to create some of them? I guess you would need an "invert" option and "contrast" to do it right. If you do create 80 maps, how does the plugin associate the correct diffuse map with the correct bump or reflect textures? Thanks for the great tutorial.

Great plugin, but doesn't seem to work in 3ds max 2011 x64 (it drap te boards outside the closed spline). In x32 version no problem at all, really easy to use and natural results.

Do you know if "Floor Generator" work with Max 2012?

it doesn't work with max 2012.
i/ve just sent an e-mail to the author asking for support...

Floor generator works just fine with max 2012, but multi texture map doesn't have version for 2012.

I wrote to jerry.ylilammi@gmail.com and some days ago Thomas Suurlan from cg-source.com sent me multitexture_2012 and it seems to work fine!

hi, ronen your website is very great
and thanks for the tutorial.

i have a problem too
i couldn't generate a rectangular floor which has a circular gap in it.
any help?

cheers

Hi Tanveer,

copy that MultiTexture_max2010_64.dlt file in plugin folder in max root directory.

Hi Ronen,

Thanks for the tutorial, it's fantastic.

But how can I make my multitexture jpg, into Maxwell render material? Maxwell can't load a multitexture script.

Hope you can help me!

Cheers!
Mike

Hi Bertrand,

I have the same question how do you load .dlt (Multitexture Map) in material slot? Or is there other way of applying this map. Your help would be much appreciated.

cheers

Can anyone tell me how to load the multi texture plugin, says its there but not showing up in the material editor, Im running Max 2011, is that the reason? thanks Peter

Where to put MultiTexture_max2010_64.dlt in 3ds max? It is not showing in my materials :( Thanks..

Hi, just put it into your max plugin folder. The multitexture map will then turn up in your material textures.

@s-valentin - that material editor is node-joe

I love to learn this stuff. Coz on my college days they only teach us a basic type of rendering. And this site was inspired me a lot. Thanks

Hello, thanks for this great tutorial, it spared me of lots of useless work so i guess i owe you a keg'o'beer or something :)

I have one question though... what is that material plugin you use, it seems a lot easier to use than vray standard (not that it's any pain using it, it's just annoying).

Thanks.

PS: Awesome portfolio ;)

This plugin is really hot..Thank you ;)

WOW! This was a busy week, eh?

Nice tutorial for a great plugin.

Trackbacks

  1. [...] The floor and walls of the bathroom was done using Floor Generator plugin, it is fast and really easy to use. And you can find more information about the use of this script at using Floor Generator script by Bertrand Benoit. [...]

  2. [...] más detalles sobre el uso de estos scripts de comandos, echa un vistazo a la forma de usar el script Floor Generator en el render [...]

Recent Posts
CityLIFE Challenge Winners Announced

CityLIFE Challenge Winners Announced

02/03/2012  |  41 Comments

I’m happy to announce that the Winners of the Third Architectural Visualization Challenge – CityLIFE, have been Selected! I would... more

Render vs. Photo / KUU xcoma bar

Render vs. Photo / KUU xcoma bar

02/02/2012  |  20 Comments

Forum newcomer, Federico, posted a very nice photo-matching work based on a photo of the xcoma bar by KUU in... more

Peter Guthrie's Teglverksgata 2 Visualizations

Peter Guthrie’s Teglverksgata 2 Visualizations

02/01/2012  |  32 Comments

Peter shared a new set of renders for a residential project on the northern edge of Oslo's Sofienberg park by... more

2011 Forums Summary Winners!

2011 Forums Summary Winners!

01/30/2012  |  22 Comments

The first month of 2012 on the forums was about summarizing your work during 2011. I asked all of you... more

65 Free Cutout People by xoio

65 Free Cutout People by xoio

01/30/2012  |  9 Comments

Studio xoio previously shared 19 free cutout people they made, and today they release 65 more. This time they used... more

Black Living by blackhaus

Black Living by blackhaus

01/23/2012  |  20 Comments

blackhaus shared their latest Black Living Set scene images on the forums, and although it is black by black, it... more