Wednesday, November 4, 2009

Introduction to 3ds Max 2010 - High Poly Modeling

Quick, free tutorial video I shot awhile back on the subject. You can see my full tutorial at 3dmotive, but here's a brief overview of the tools for the sake of my class:

Wednesday, October 28, 2009

New video blog - Basic normal map projecting - Lesson 1

Check out the video for the basic introduction to the baking process for normal maps.  I cover the entire process from start to finish for baking high poly geometry normal map information down to a low poly.

Sunday, October 4, 2009

Getting started with UDK - Bringing your mesh into the Engine

First and foremost, make sure you have downloaded the latest version of UDK.  It is free of charge, and can be found here:

Next, our good friends at have provided an in-depth tutorial for the basics of importing content into UDK.  You can find the (free) video tutorial by following this link:

If you have questions, don't hesitate to ask!


Using and installing the Normal Map filters for Photoshop

For those of you using Photoshop, click here for the link to download and install the nVidia Normal Map filter.

Once installed, you should be able to run the filter in Photoshop as needed.  Here are the basic settings that I use to get started with normal map settings.  Feel free to adjust them as needed.

You can also download the xNormal filter here -

Once you are inside of Photoshop, you will find the xNormal filter under Filter > xNormal > Height2Normals.  Here are some of my basic settings for "average" hand painted normal map stuff.  When playing with the amounts in xNormal, don't forget to keep clicking the "Update" button to see a preview of your changes.

Monday, September 28, 2009

Your Portfolio Repels Jobs.

If you are interested in setting up a portfolio or are currently wanting to improve your chances of landing a job in the Gaming Industry, this thread is required reading:

Script - Explode Elements back into individual meshes

Ever find yourself having attached a bunch of stuff together and wanted to go back and re-explode the mesh?
Do you hate having to find each individual Element and clicking "Detach" a thousand times?  This script fixes that.
  • MAXScript > New Script.
  • Copy / Paste the text below into the blank page.
  • Press Control +A to select all of the text.
  • Left-Mouse click and drag this into your custom Toolbar.
  • To rename your button / change the icon, Right Click the button > Edit Button Appearance...
  • To use - Select your mesh, and press the tool button and then press Detach! which will break all of your elements back into individual objects.
  • Rejoice and be glad.


rollout rolTest "Detach Elems"
   button btRun "Detach!" width:90 align:#center offset:[0, -2]

   function detachToNodes oPoly =
       if (classOf oPoly != Editable_Poly) then
           throw "Wrong input in function: detachToNodes()"
       local iNumFacesLastElem = 0
       local baElemFaces = #{}
       local sName = ""
       while (true) do
           baElemFaces = polyOp.getElementsUsingFace oPoly 1
           sName = uniqueName
           polyOp.detachFaces oPoly baElemFaces delete:true asNode:true name:sName
           if ((polyOp.getNumFaces oPoly) == 0) then
               delete oPoly
           if (keyboard.escPressed == true) do
               throw "** escape key pressed **"

   on btRun pressed do
       local currSel = selection as Array
       for obj in currSel do
           if ((classOf obj) == Editable_Poly) then
               detachToNodes obj
) -- End Rollout

createDialog rolTest 96 27 style:#(#style_toolwindow, #style_border, #style_sysmenu)

Setting up your prop for a decent render

If you want to showcase your model with a render from 3ds Max, there are a few things you can do to improve the overall quality of the render so that it doesn't look so bland.  These are some basic suggested settings that should get you started.  Once you are comfortable with these settings, feel free to tweak them until you get something that works for you.

1.  Start by changing the render filter to Catmull-Rom, and turn on the Global Supersamplers.  (F10 to bring this menu up, under the Renderer tab)  The settings below are the settings I generally use:

 2.  Next up, lets create a ground plane so that we can get some shadows for our object.  Start by creating a Plane, and place it directly underneath your prop.  It doesn't matter how many iterations or edges it has, and the size only needs to be a bit bigger than the object, so that any shadows that are cast onto it can fit.

3.  Once you have made the plane object, choose an empty Material slot in the Material browser, click the "Standard" button and change this to "Matte/Shadow", and apply this to your ground plane.  This material tells the ground plane to receive shadows, but will not be seen once we go to render the scene.

4.  The next step is to create a Light to shine on your object.  Under the Standard Lights, create a Target Directional Light and aim it at your prop.  Here you can adjust the color, multiplier, (which is the light brightness) as well as the Hotspot and Falloff settings.  You want to ensure that the beam fully covers your object.  These are my settings for my light:


5.  Once I have created my first light, I generally like to copy that light and have it pointing somewhat in the opposite direction.  (Select the light, and hold down Shift and drag it across to copy it)  This will ultimately be used to offset the light intensity and keep us from having pure black shadows.  This is a basic 2-point light setup.

6.  Once the two lights are in place, I will open the Light Lister (On the main Tool List, choose Tools > Light Lister)  From here, I can manually adjust my lights without having to go back and forth in the scene.

7.  With the light lister open, I will adjust a few things - I turn Shadows on for the primary light and increase the Map Size resolution, ensure there are NO shadows for the secondary light.  Also, you want to change the multiplier so that they aren't casting the same amount of light.  I generally do at least half brightness (or less) for the secondary.  I also give my lights a little bit of subtle color (don't over-do it!)


8.  That's it!  Frame your object and render.  Feel free to adjust any of the light brightness or colors to improve your renders...but you should have a nicely lit object in your scene with shadow casting.

Wednesday, September 23, 2009

Floating geometry VS. Closed geometry - Example triangle counts

3ds Max Workflow Video Tutorial 1

This is a tutorial video I made awhile back with a few tips and tricks to the interface for 3ds Max.  If you're looking for great 3ds Max tutorials - I cover a lot of this in my workshop document below, but if you prefer to watch a video instead, here you go!

3ds Max Workflow and Interface Tutorial Pt. 1

Monday, September 21, 2009

Create a simple Wireframe render for your 3d asset

1.  To begin with, save your scene as something else.  Call it "Wireframe_Render".  If something breaks, you can always go back.

2.  Select everything in your scene, Right-click > Convert to Editable Poly.

3.  Start by attaching all of your pieces together so that you have only 1 mesh.  You can do this easily by selecting any piece of your object and using the Attach function.

4.  Once everything is attached, create a new flat gray-shaded material and apply it to your object.  Give it a little specularity if you want for flavor.  To do this, open the material browser (hotkey M) and with your object selected, click the Assign Material to Selection button.

5.  Make a copy of your object and name it Wireframe_Object or something that you can remember.  To quickly copy your object, press Control + V with your object selected.

 6.  With your Wireframe_Object still selected, apply a Lattice modifier to it and adjust some of the parameters.  See the screenshot below for my settings.  (The Radius amount will differ depending on the size of your object)

7.  Apply a simple black material to your Lattice object, pose and render your image!  (Hotkey to render is F9)

Hope that helps!

Sunday, September 20, 2009

Free texture downloads! Visit these sites daily!

For your daily dose of free textures, visit these sites!

Mayang's Texture library

Keep in mind there is a daily limit on how much you can download, so get into the habit of getting all you can each day to build up your texture library!

Mental Ray - Ambient Occlusion walkthrough - 3dsMax 2011 and earlier

The entire AO baking process can be seen from the 3dmotive YouTube Channel here:

Click me!

When finished, you should have an AO map that looks similar to this one:

If it still doesn't work after watching the video, email me your questions and cite specific points in the video that don't make sense.

Photoshop "base" brush set

Here is a link to a Photoshop brush set I have collected over the years. It has a lot of good scratches, stains, and grime brushes all in one set.

To install, simply drag and drop this into your \\Program Files\Adobe\(Photoshop Version you have)\Presets\Brushes folder, and open it like you normally would in Photoshop to use the brushes.


Modeling for Games - Week 1 Workshop notes!

For those of you interested, you can download the workshop notes that I cover Week 1 here!

Modeling for Games - Fall 2016 Syllabus

You can download the class syllabus for the Fall 2016 semester here! Click me!