Using Floor Generator Script by Bertrand Benoit

0
May 21, 2010 |  by  |  How-To, Scripts & Plugins, 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 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 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 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 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 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.

34 comments
Carlocki
Carlocki

Betrand where did you started for your plank.jpg, from real photo you have done?

ronenbekerman
ronenbekerman moderator

FloorGenerator script is long needed an update, and it seems someone is doing just that... Follow Sander's thread on the forum where he shares his progress on this. Not sure where this can go and if he can share it as is or have it commit to the original code on CG-Source. In any case - this is GREAT and should be provided to all in the end (Free or Not) 

http://www.ronenbekerman.com/forums/modeling/4146-floorgenerator-script-update.html

http://www.youtube.com/watch?feature=player_embedded&v=1-Jm9Bq07_M

fede b
fede b

hi,

how can i use the multi texture with maxwell render? 

DarrenVazirani
DarrenVazirani

Quick question gents, has anybody tried using Multitexture with VrayRT? Floor Gen geometry is visible, but when using RT it renders out white. Switch back to standard Vray and it renders fine. I'm using Vray 2.20.03 in Max 2011 x64. Appreciate any help. Thanks in advance.

Parquet Flooring
Parquet Flooring

Awesome flooring pictures. The trend of house flooring has been changed into wood flooring. Old designed floors can be easily renovate by the latest designed wood floors. Parquet Flooring is one of the beat way to improve your residential more attractive. In your blog I like the 2nd one floor design the most. thanks for these beautiful flooring pictures.

EtorAdamaley
EtorAdamaley

I am having issues getting Floor Generator to work with 3Ds Max Design 2013 x64. Is it not compatible with this version? Is there some kind of workaround? The script starts up ok, but when I click create, it creates a "Floor_Object_00x", however there are no planks/tiles withing the editable spline shape. Nothing is created. Some help will be appreciated.

lilahund
lilahund

It's a nice script, but acctually Max is always chrashing when I'm using the high rise mappings.  I hardly can handle a scene lagerer than 10m x 10m (floor area). and my pc is not too bad equipped...any ideas what i'm doing wrong?

Rendell
Rendell

As usual, great Tutorial Ronen.You mentioned the tiled walls were also created with FloorGenerator.  Correct me if I'm wrong, but is this the process you take? create horizontal plane - create desired tiled panels with FG - then rotate plane 90" vertically (representing a tiled wall). This works fine for me, however once rotated, its impossible to re-edit wall with Floorgenerator. Am I going about it the wrong way?

Regards

Rendell

plumber
plumber

Hi,

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

ElGrecus
ElGrecus

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.

Boris Quezada
Boris Quezada

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.

ludo
ludo

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

mya
mya

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

Dhaval Mistry
Dhaval Mistry

Hi Tanveer,

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

Mike_VIZ
Mike_VIZ

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

Tanveer
Tanveer

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

peter cann
peter cann

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

San
San

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

MA
MA

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

Louie123
Louie123

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

s_valentin
s_valentin

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 ;)

Alex
Alex

This plugin is really hot..Thank you ;)

JaviPintor
JaviPintor

WOW! This was a busy week, eh?

Nice tutorial for a great plugin.

fede b
fede b

and also where I have to put the multi texture .dll ??

ronenbekerman
ronenbekerman moderator

 @Rendell Hi, late reply - I know ;) Rotating the walls, thus making them 'Floors' is the way to go. No workaround to this so far that I know of.

BishBashRoss
BishBashRoss

 @Rendell I've not had time to test this but have you considered creating an instance of your 'floor panels' and rotating that, then referring to you original if you need to edit.

bear75
bear75

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

Stef
Stef

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

Rendell
Rendell

 @BishBashRoss Thanks for the reply - Tried this earlier, unfortunately this doesn't work with FG. Also tried instancing a variety of selections seeing FG produces (another) tiled object i.e plane_obj + the FG tiled_obj.I would assume, seeing Ronen 'liked' my query (but no reply), that my original procedure is perhaps how he produced his walls. So unless someone has a better and simpler idea, preparing/multi-texturing your wall first is vital before rotating it.

Tmbr
Tmbr

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

bear75
bear75

I wrote to [email protected] and some days ago Thomas Suurlan from cg-source.com sent me multitexture_2012 and it seems to work fine!

Recent Posts
Creating Ceilings with RailClone

Creating Ceilings with RailClone

10/29/2014  |  4 Comments

iToo Software has released a new episode of their regular Tips & Tricks tutorials. In this 5 minute video they... more

Goldstein 2001 Matte Painting Giveaway by Carlos Mazon

Goldstein 2001 Matte Painting Giveaway by Carlos Mazon

10/28/2014  |  1 Comment

The image "Goldstein 2001" was a quick personal project by Carlos Mazon done for fun that took him around 3h... more

SOA #AcademyDay5 - Interview with Peter Guthrie

SOA #AcademyDay5 – Interview with Peter Guthrie

10/23/2014  |  1 Comment

I'm happy to share today this mini-interview with Peter Guthrie. This is the fourth year Peter and I attend this... more

SOA #AcademyDay5 - Interview with Juraj Talcik and Adam Hotovy about Corona Renderer

SOA #AcademyDay5 – Interview with Juraj Talcik and Adam Hotovy about Corona Renderer

10/22/2014  |  3 Comments

Keeping up with publishing the interviews made during SOA #AcademyDay5, I'm publishing the second interview with Juraj Talcik and Adam Hotovy.... more

Making of Barts Square by The Boundary in collaboration with Iain Banks

Making of Barts Square by The Boundary in collaboration with Iain Banks

10/22/2014  |  No Comments

I've featured the Barts Square project back in August this year, and this week the making of this project was... more

PETER GUTHRIE HDRI Skies Submitted Image Winner / Maciej Kozlowski

PETER GUTHRIE HDRI Skies Submitted Image Winner / Maciej Kozlowski

10/18/2014  |  No Comments

Congratulations to Maciej Kozlowski for winning the second stage of the August 2014 PETER GUTHRIE HDRi Skies giveaway! During the month of... more