Jump to content

Procedural Panel Modeling


nisus
 Share

Recommended Posts

Hi all,

 

I got a serious mapping-problem: I am texturing a new residential project (160 appartments) with a facade of over 100m covered with panelling/plates of all different sizes. I don't have a straightforward idea on how to map the damn thing, so your advice is very welcome.

 

Here are some thoughts on the subject of Procedural Panel Modeling:

 

Mapping the facade in one piece with a bitmap is fairly impossible because of the gaps between the plates: these should be at least one pixel and represent 0.5cm in real world measurements, which means that my map would be around 200.000pixels in width. Impossible, like I said.

 

Mapping the facade in different pieces is rather sluggish: I'll have to make a lot of different maps (diffuse, bump, shininess, mask: 4 maps per piece), divide the geometry in separate pieces, map every bit of geometry. Even with a lot of time (which I don't have of course) this whole idea sucks because eventually I'll make a color-study and to do so I'll still have to be able to change the color easily.

 

The closest idea to a possible solution is the use of an advanced brickmap-material, stack bond of course.

Using a brickmap in several map slots one can easily setup a realistic material with different random tileable maps for diffuse, bump and shininess. Using a slightly deeper material, one can easily avoid tiling over large distances (even 100m). To do so use a mix-map with two different seeds for diffuse color/bump/shininess and a slightly changed tiling mask (another brickmap in *B/W using color variance). Changing seed for diffuse/bump and shininess makes sure one brick does not repeats itself over very large distances.

As this method is very flexible for procedural non-tileable masonry/brick-textures, it's great for modular panelling too, especially because the gap-size is very easily adjusted (afterall it is a procedural material!).

 

Unfortunately there is no straightforward way to setup gaps at a variable distance to each other.

If this were possible, texturing advanced panelling wouldn't be such a pain in the arse: so

does anyone knows a way how to achieve this? Can a script handle this? Does such a script exists already? Can someone script this? (I'm not into scripting materials)

 

To give you a better view of what I want to achieve, pls check this link: http://www.ams.be/cg/AMS_nisus_ProceduralPanelMapping.jpg

 

- You'll see a basic brick material with the superb gap-settings and the color variance (great to use in bump and shininess).

- You also got a hint of a small part of the facade and the different sizes of the panelling (The back-facade is even worse because it's totally made up of continuous panelling)

- In the scaled material preview, you'll get a hint of wat I really need: adjustable distances between gaps, based on the size of the mapping.

A solution to achieve this might lay in an advanced use of the gradient map, but the gapsize-feature still has to be present of course.

 

So what do you think? Is it possible to script this? Is worth a challenge?

 

Some extensions on a possible plugin might be adjustable distances in both X and Y direction.

 

rgds

 

nisus

 

*B/W: black/white = grayscale

Link to comment
Share on other sites

why don't you draw a quick black&white mask of the gaps in photoshop (or autocad 2 photoshop)?

it doesn't have to be huge, since its only the mask...if parts of the facade are repeating you could make it tileable...

you could also use 2 overlapped gradient maps as a mask (one for vertical, one for horizontal gaps).

its not easy to use world-distances with the gradient map though...

 

edit: you cannot easily make scripted maps, the only way is extending existing map types (changing the interface, controlling parameters)

you could write a script that creates bitmap mask files based on parametric input...

 

[ August 09, 2002, 09:39 AM: Message edited by: Marc Lorenz ]

Link to comment
Share on other sites

Hi all,

 

Quizzy:

Modeling the panels is what I used to do, but face count is a serious problem in this huge project. The modeling is already finished (by a freelancer) and we do not have the time to change it anymore.

 

Mark:

1) as I explained before, the difference between the overal size and the gapsize is too big. I really need a very highres image. True, I can make it one pixel wide (like combining gradient ramps) but 200.000 pixels is still a lot. If I make my map only 20.000 pixels wide, my gaps won't be 0.5cm but 5cm, which is way too much.

2) can't the brickmap be extended? (their is an option for combined/fine stacking build into the map... so maybe? no?)

 

Anyway, tnx a lot guys! I'll talk it over with our client, maybe it's not necessary to map it 100% correct, because these things might change while constructing... Fingers crossed ;)

 

rgds

 

nisus

Link to comment
Share on other sites

>>can't the brickmap be extended? (their is an option for combined/fine stacking build into the map... so maybe? no?)

 

if you can't do it manually you can't script it...

maxscript allows massive shortcuts, but you usually can't extend functionality with it.

 

i think the best way to make it is modelling it(maybe with a simple script that copies instances of boxes along a path/area).

i don't think that polycount is a great issue, especially with instanced primitives. each brick would be 12 polys.

with my last project i instanced thousands of planes for a structured element, there was almost no speed hit with rendering. current generation renderers greatly improved hi-poly rendering.

Link to comment
Share on other sites

Hi mark,

 

tnx for the info on material-scripts (not my cup of tea)

Modeling: 10 faces per panel should do the trick (i don't need the back-side), but the rework is tremendous.

 

current generation renderers greatly improved hi-poly rendering.
--> i guess max3.1 is not current generation ;-p

 

Anyway, I just discovered a major error in the design of the panelling so I guess I can fake dimensions a bit ;)

(The front panels are 65cm wide, the back panels only 59cm... gonna end up with some interesting corners... NOT!)

 

rgds

 

nisus

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...