tutorials.render-test.comtutorials.render-test.com/worddocs/Normals_Projection_…  · Web...

22
Normals: Projection Mapping In this section we will talk about taking highly detailed polygon models and using projection mapping onto a lower poly model of the same shape to make it appear as though it is as smooth as the higher poly model when in fact it is not. First we need to create one of each, a low poly model, and a high poly model. While this will work with any version of these two models we will do something simple for this demonstration. Create a box and give it a height, width, and length of 75.0, and only 1 segment in each as well. This simple box will serve as our low poly model. Rename Box01 to LowPoly. Next, press Ctrl+V on your keyboard to duplicate the box. Rename Box02 to HighPoly, and then right click on LowPoly model to hide it. In your viewports only the HighPoly box should remain. Now we have to actually make the HighPoly box more detailed. 1

Transcript of tutorials.render-test.comtutorials.render-test.com/worddocs/Normals_Projection_…  · Web...

Page 1: tutorials.render-test.comtutorials.render-test.com/worddocs/Normals_Projection_…  · Web viewNormals: Projection Mapping. In this section we will talk about taking highly detailed

Normals: Projection MappingIn this section we will talk about taking highly detailed polygon models and using projection mapping onto a lower poly model of the same shape to make it appear as though it is as smooth as the higher poly model when in fact it is not.

First we need to create one of each, a low poly model, and a high poly model. While this will work with any version of these two models we will do something simple for this demonstration. Create a box and give it a height, width, and length of 75.0, and only 1 segment in each as well.

This simple box will serve as our low poly model. Rename Box01 to LowPoly.Next, press Ctrl+V on your keyboard to duplicate the box. Rename Box02 to HighPoly, and then right click on LowPoly model to hide it.

In your viewports only the HighPoly box should remain. Now we have to actually make the HighPoly box more detailed.

1

Page 2: tutorials.render-test.comtutorials.render-test.com/worddocs/Normals_Projection_…  · Web viewNormals: Projection Mapping. In this section we will talk about taking highly detailed

Right Click the HighPoly box and convert it to an Editable Poly.

Next go to your modifier tab and select the Polygon Sub Object group in your newly created editable poly.Then select all the polygons in your HighPoly Box so the entire surface is highlighted red.

--->

2

Page 3: tutorials.render-test.comtutorials.render-test.com/worddocs/Normals_Projection_…  · Web viewNormals: Projection Mapping. In this section we will talk about taking highly detailed

Find the Inset button in your Editable Poly tools under the Edit Polygon Rollout, and click the settings button next to the word Inset.

When the settings dialogue box opens make sure to set your Inset Type to "By Polygon"and the Inset Amount to 8.0.Like Below:

The polygons on each face of your box should move in on themselves creating more geometry. When it looks like above, click the ok button in the Inset Polygons dialogue box.

3

Page 4: tutorials.render-test.comtutorials.render-test.com/worddocs/Normals_Projection_…  · Web viewNormals: Projection Mapping. In this section we will talk about taking highly detailed

Next, in the same rollout of your Editable Poly tools, find the Bevel settings button.

When the settings dialogue box opens set your Bevel Type to "Local Normal" and make the Height 5.0 and Outline -5.0.

When it looks like above click the ok button.

4

Page 5: tutorials.render-test.comtutorials.render-test.com/worddocs/Normals_Projection_…  · Web viewNormals: Projection Mapping. In this section we will talk about taking highly detailed

Then repeat the Inset and Bevel steps again for the inside most polygon to add just a bit more detail.

When your box looks something like above we can move on to our projection mapping. Right click in the empty space around the box and click on "Unhide All"

The LowPoly and High Poly models should be sitting right on top of each other, select the LowPoly box by using the Select by Name tool.

This is why we named our models so we can easily select them while on top of each other in this menu.

5

Page 6: tutorials.render-test.comtutorials.render-test.com/worddocs/Normals_Projection_…  · Web viewNormals: Projection Mapping. In this section we will talk about taking highly detailed

Once your LowPoly box is selected go to the modifier tab, and add the Unwrap UVW modifier.

Once you've added the unwrap click on the Edit button down in the Unwrap Modifiers settings.

This is a very basic example of what projection mapping is and if you have a model that is something much more than a box like our example, then this Unwrap technique may need a lot more work than the one we are about to do. If this is the case I suggest looking up more information on UVW Unwrapping techniques before continuing.

6

Page 7: tutorials.render-test.comtutorials.render-test.com/worddocs/Normals_Projection_…  · Web viewNormals: Projection Mapping. In this section we will talk about taking highly detailed

For our purposes however this unwrap will be extremely simple. Click on the "Face Sub Object Mode" #1. below.

<----2.

<----1.

Then drag a selection around the entire box in the Edit UVW dialogue like above. All the faces are stacked on top of each other and should turn red when you have selected them. Once all the faces in your LowPoly box have been selected go up to the Mapping Menu, and open the Flatten Mapping dialogue settings window.

7

Page 8: tutorials.render-test.comtutorials.render-test.com/worddocs/Normals_Projection_…  · Web viewNormals: Projection Mapping. In this section we will talk about taking highly detailed

When the Flatten Mapping Dialogue Settings box opens, don't change anything and just hit OK. For this example the default is good enough.

Your Edit UVW settings box should now show all the sides of the low poly box separated out in pieces.

You can now close the Edit UVW window by clicking the X in the upper right corner.

Next we are going to add another modifier to the LowPoly box. Go to the Modifier tab and in the list find the Projection modifier.

8

Page 9: tutorials.render-test.comtutorials.render-test.com/worddocs/Normals_Projection_…  · Web viewNormals: Projection Mapping. In this section we will talk about taking highly detailed

In the settings below once you have added the Projection Modifier, find the Reference Geometry rollout. It is the one with the large white empty square. There is a Pick List button beneath the white area, like below. Click the Pick List button and from the resulting list menu, select your HighPoly box and add it like below.

------->

Then move to the rollout labeled Cage.

Check the box that says shaded and then move the Push amount number up until the grayed out looking force field in your viewport completely covers the detail on the HighPoly box.

----->

9

Page 10: tutorials.render-test.comtutorials.render-test.com/worddocs/Normals_Projection_…  · Web viewNormals: Projection Mapping. In this section we will talk about taking highly detailed

Make sure the cage covers all the details but be careful not to make it too large. We want as tight of a fit as possible when doing this.

When your LowPoly box's cage covers the entire high poly model as well like in the image above, open your Render to Textures dialogue box. The hotkey is 0, or you can find it in the Rendering menu.

<-----

When the settings dialogue opens look through the settings until you find the Projection Mapping area. Make sure the box marked "Enabled" is checked like below.

10

Page 11: tutorials.render-test.comtutorials.render-test.com/worddocs/Normals_Projection_…  · Web viewNormals: Projection Mapping. In this section we will talk about taking highly detailed

Then move down in the settings until you find the Mapping Coordinates below Projection Mapping.

Make sure both are set to "Use Existing Channel". This will make it render textures based on the unwrap we did earlier.If they are set to "Use Automatic Unwrap" 3DS Max will attempt to unwrap it the way it sees fit, and your results may not be what you expected.

11

Page 12: tutorials.render-test.comtutorials.render-test.com/worddocs/Normals_Projection_…  · Web viewNormals: Projection Mapping. In this section we will talk about taking highly detailed

Next move down into the "Output" rollout area and click on the Add button. This will let us choose what kind of map we wish to render.

----> Select NormalsMap from the list, and then click the Add Elements button.

12

Page 13: tutorials.render-test.comtutorials.render-test.com/worddocs/Normals_Projection_…  · Web viewNormals: Projection Mapping. In this section we will talk about taking highly detailed

The Settings will all open up, click the button with the ... next to File Name and Type to tell it where and what to save.

1. I have saved mine as the default name and made it a .jpg file in order to more easily show it in this tutorial.

2. I have also increased the size of the rendered map by clicking here 2048x2048. I can always reduce the size if need be later on in Photoshop.

At this point we are ready to render our map, make sure your renderer is set to the Default Scanline, as Mental Ray is unnecessary and tends to cause errors when doing this.

Then hit the "Render" button in the bottom of our Render to Texture dialogue.

A screen will render out similar to the one here.While it does not look like a normals map, rest assured that a normals map has been saved where you told it to in the above steps.

Go find it now and take a look.

13

Page 14: tutorials.render-test.comtutorials.render-test.com/worddocs/Normals_Projection_…  · Web viewNormals: Projection Mapping. In this section we will talk about taking highly detailed

This is a normals map. The different colors reprisent the direction that our bump map will reflect light out from the normals of our model.

Red channel in a Normals map refers to left to right, or the X Axis. Green is Up and Down or the Y Axis, and the Blue channel will be your Depth.

All these colors working together will give your models the feeling of being smoothly modeled out when in fact it is just a super fancy bump map directing the way light bounces off of each surface normal.

This is done largely in Video game due to the necessity of lower poly models, but utilizing this trick we can really make them appear to be beefed up quite a bit in a Real Time Engine or Renderer.

Lets test this out in the 3DS Max real time renderer.

At this point you can hide your HighPoly box, as we will only be working with the low poly version from here out.

Once your LowPoly box is the only thing in your viewport we can create a material that will show us the normals map in the Real time renderer.

14

Page 15: tutorials.render-test.comtutorials.render-test.com/worddocs/Normals_Projection_…  · Web viewNormals: Projection Mapping. In this section we will talk about taking highly detailed

Open up your Material Editor (M).Select an unused texture and click on the shader type button that is defaulted at "Standard" like below.

----->

Find the DirectX Shader in the list (the pink dot) and hit the OK button. If a dialogue box opens up just select the "Discard Old Material?" selection and click ok.

The Default DirectX Shader options will open up in your Material Editor.

The Default shader does not have enough options for us to be able to change the normals maps and see the results in our viewport, so click on the large button in the DirectX Shader rollout like the one highlighted to the left here.

15

Page 16: tutorials.render-test.comtutorials.render-test.com/worddocs/Normals_Projection_…  · Web viewNormals: Projection Mapping. In this section we will talk about taking highly detailed

It should take you to the location where 3DS Max is installed with the other shader choices. Find Standard FX in the list and open it.

<------

You should now have a lot more options to play with in the material settings.

Scroll through the different Parameters until you see the Normal Bump settings.

Check the box next to Normal Enable, and click the None button next to Normal.....Select bitmap from the following list and load in your Normals map from wherever you saved it.

16

Page 17: tutorials.render-test.comtutorials.render-test.com/worddocs/Normals_Projection_…  · Web viewNormals: Projection Mapping. In this section we will talk about taking highly detailed

Turn up the Bump Amount a little, and then assign your material to your LowPoly box.

The results should appear right in your perspective viewport, just as they would if this were done in a game engine or other real time renderer.

See an animated example at http://animation.diclementi.com/tutorials/normals.mov

The flat faced 6 polygonal LowPoly box shows what appears to be a smoother high poly structure. It is an illusion based on how the light reflects off the surface without the necessary actual polygons.

17