ZBrushCentral

just painting a bump map ...

The BumpViewerMaterial is included with Zbrush2. Load it from the materials folder.

If you are using Zbrush 1.55b the material can be found here And a nice example by SkyCastle here.

There is some bump mapping info in the Z2 Help script under Modelling 3D Objects :small_orange_diamond: Textures and Texturing :small_orange_diamond: Bump Maps.

hey, thanks TVeyes, I can’t believe I’m painting bumps. can anybody explain how and why this material works? So much of the materials is undocumented.

The difference between a displacement map and a bump map is the way that it is used by your rendering engine. In fact, in ZBrush if you apply a displacement map and don’t activate the Mode switch, then it displays as bump instead.

This means that with ZBrush 2 the best way to paint a bump map is to sculpt a high resolution version of your model and then create a displacement map. You can use it in the bump channel in your rendering engine for extremely high quality results.

Thanks for bailing me out TVeyes!

GM770: Material modifiers add/subtract from the RGB of Pixols and if the modifier is at its max value it can completely replace the visible color. If you switch to Fast or Flat render mode you can see the texture is still there it is only when the material is calculated it can override the pixols RGB (Preview & Best render modes).

The BumpViewerMaterial simply has Reflection set at 100 and the Reflect Curve at max values. The pure white 256x256 texture in the Material Texture slot is used for the Reflection. As the reflection settings are at their max they override the colors of the texture. It is reflecting pure white from all angles. The bumps are still there because the Color Bump modifier is calculated from the RGB value of the pixols not the material shaded RGB values.

You can get the same bump viewer effect by setting Colorize Diffuse, Colorize Specular and Colorize Ambient to 100 and selecting pure white for the Diffuse, Specular and Ambient color modifiers. (Note, you only need to set the Colorize modifiers if their corresponding shading material modifier is >0)

Aurick if you are rendering with displacements I do not think it is a good idea to also use the displacement map as a bump map. They should be kept seperate and unique IMO. The bump map should describe smaller details. I don’t think that was what you meant though :slight_smile: Just clarifying.

Thanks a million for your help TVeyes, I can’t wait to be at home to test it !

I wasn’t referring to using the displacement map as a bump map in addition to displacements. My post was to say that if your rendering engine doesn’t support displacement mapping, you can use the map for bump instead. There is literally no difference between a displacement map and a bump map. The only difference is in how that map is used by your rendering engine. So if you need to create a bump map, the same techniques apply as for creating a displacement map.

Now let’s say that your rendering engine does support displacements, but not sub-pixel displacements. In this case, you could create two displacement maps. The first map would be for the difference between the lowest subdivision level and the highest. This would give you the finest details, and would be used in your bump channel. Next, delete a few of the highest levels and create another map. This one would be used for displacements. It will make broad changes to your model’s profile while the first map (the bump map) provides the additional fine detail.

Either way, the bump viewer material has by and large been replaced by the technology in ZBrush 2. It IS still a viable way to work, but the displacement-as-bump-map approach is more efficient. After all, it’s easier to simply sculpt the exact detail that you want than to guess at the amount of greyscale value you need for a particular effect. Of course, if your system won’t support the high number of polygons necessary to create a high quality difference map, then the Bump Viewer material would be the best approach after all.

Thanks for the further explanation Aurick. Very good and succinct :+1: I still have a fondness for the bump viewer material though :slight_smile:

Cheers BazC and Paq. Paq, if you use an RGB value of 128,128,128 for the base texture you can easily split the final bumpmap in two parts, positive and negative. When you are finished painting the bump map convert it to an Alpha (Texture : Make Alpha) and load the NegativeDisplacement and then PositiveDisplacement alpha adjust curve, while exporting the alpha after each alpha curve adjustment.

Just an idea. All depending on your application you can do some nifty tricks with seperate bump maps.

<BLOCKQUOTE>quote:</font><HR> if you use an RGB value of 128,128,128 for the base texture you can easily split the final bumpmap in two parts, positive and negative. <HR></BLOCKQUOTE>
generally speaking, bump maps automaticly are positive and negative from 128 grey. Also render engines don’t support 2 bump-maps. How would this be useful?

It’s always cool to find little tricks like that.

<BLOCKQUOTE>quote:</font><HR> Also render engines don’t support 2 bump-maps <HR></BLOCKQUOTE>

The end result is always going to be 1 bump effect…unless parallel universes exist :wink:

<BLOCKQUOTE>quote:</font><HR> How would this be useful? <HR></BLOCKQUOTE>

Control and adjustability. You can create variations of your initial bump map, reduce the effect of high areas without affecting the low, animate bump maps. There are many more uses.

Variations of the initial bump map (top left):

Controling shading propertives (No texture map):

You could also use the divided bump map to control where hair/grass is applied and it will fit without any extra work. I used LightWave for the above pictures but most 3D programs can do the same.

very insightfull TVeyes! excelent pix to go along with the idea too. Can you explain better on how you did the last 2. (additive, additive+inverse)

As far as I can tell, the 1st 2 are a standard bump-map, 1 is positive, the other negative. any details on this would be great, since the idea is new to me. (using 2 ends of a bump map)

Ignore the additive/inverse +additive description, I was in a bit of a hurry.

This should explain it more clearly. However, the way your render app blends bitmaps may be different. In LightWave the top one is additive and the bottom subtractive. You could use photoshop to create the same effect but you will loose the control and possibilities 2+ maps give you.

There are more combinations/blend modes that will give the same effect. The above two is just what I settled on.

<BLOCKQUOTE>quote:</font><HR> As far as I can tell, the 1st 2 are a standard bump-map <HR></BLOCKQUOTE>

Yeah, I was in a hurry :slight_smile: Just close your eyes and imagine the second picture is subtracting the positive without affecting the negative :wink:

that helps to explain it much better. Next step would be to try it in either Max or trueSpace. (I haven’t gotten the hang of LW yet)
<BLOCKQUOTE>quote:</font><HR> Just close your eyes and imagine the second picture is subtracting the positive without affecting the negative <HR></BLOCKQUOTE> :eek: Ahh, got to go now, my eyes are bleeding. What did you do to me? :smiley:

can someone please save a zscript on how to make such or siml;ar bump maps, please i beg you!

The effect I showed in the above pictures are the result of the render engine, in this case Lightwave, and cannot be shown in the zscript. But the bump maps themselves are quite simple to make.

It is best if you create special alphas for the various shapes but you can get similar results by using the default zsbrush alphas and the various settings in the alpha palette.

I recorded 3 scripts. The first shows how to set up your object for bump mapping and is annotated. The other two are just some bump mapping examples.

I would have used my own alphas for this as it would be quicker, but the filesizes would be too large to upload. The scripts were recorded rather quickly so please excuse any holes in the explanation.

Anyway, I hope the scripts are of some use.

thank you so much for this, lots of things started to make sense now.
Stupid questions tho: You add the bump using color instead of zadd or zsub, two diff. shades of gray. What is the difference between this and zadd/zsub? And wuth the gray, should i just set two colors and simply just “switchcolor” every time i need to reverse it?
Also in the 3rd script, you not using PM to add bump, you just switched tools and started paly around with the alpha, i should use PM if i want the sphere to stay as 3D tool when applying alpha bump, right?

Thank you again, this is helping alot.

All three scripts use Projection Master to add the greyscale colors. As soon as I switch tools I have dropped my 3D tool(object) with Projection Master. I did not write notes for the last 2 scripts, which is needed to indicate I dropped/picked up with Projection Master.

The colors I used range from RGB 1,1,1 to RGB 255,255,255. I simply picked light values to raise the bump and low values to lower the bump. You can start with a texture map of RGB 0,0,0 and only paint raised areas if you wish. How your render engine uses the texture map is down to its abilities and what settings you apply. Try Marcus_Civis’ Zswatch 3.1 script for changing colors.

Why use RGB only and not Zadd/Zsub? There are a couple of pros and cons.

  1. Drawing detail as a texture map, in this case a bump map, is nearly always going to be easier on your computer. You do not need to subdivide your object as you are simply painting the detail, not modeling/displacing the geometry to create detail.

  2. To get optimal detail from Zadd/Zsub your object needs to be sufficiently subdivided. Increased polygon density in detail heavy areas is a must. But sometimes you just cannot subdivide enough and then a bump map comes in handy for that extra detail. Back in Zbrush 1.55b we were limited to around 500.000 polygons so a bump map came in handy for the finer details. See SkyCastle’s Hand for an example.

  3. Painting a bump map in Zbrush will result in a 8 bit texture. Generating a displament map from modeled detail (Zadd/Zsub) results in a 16 bit texture. If you need the extra fidelity and your render engine supports it a displacement map used as a bump map is preferable.

  4. A bump map is ok but a normal map is better. A normal map is calculated from the same geometry as a displacement map (Zadd/Zsub).

Basically it all depends on your needs.

Also check Aurick’s post in this thread.

Perhaps another related thread to checkout is Grub’s tutorial >> HERE <<

Sven

Thank you TV, you have cleared out the mass(some of it) in my head. this is exactly what i need, cause my PC cant handle tools with more then 1mil polyes and even then its slow, freezing up and might crash.

Amount of polygons on the model still should be pretty high, right? Enough for the model to look good enough without the details, correct?

You need as much geometry as the job calls for:) Where is the model going to end up when finished? If you are going to stay within Zbrush there are more options available to you such as drawing with 2.5D pixols directly on the dropped object.

For a displacement map you still need a fair amount of polygons, at least 500.000 - 1 mil. all depending on the initial polycount.

There is also the possibility of breaking the model down into smaller pieces in order to subdivde each piece further for more detail. But that is a more involved process. Check the Making of Lord of Darkness by Tony Jung on CGtalk for more info on that.