CSS Menu Buttons Css3Menu.com

goto AutomaticCourseGeneration for a faster simpler method

3D Model Course Designing with 3dStudio Max

3dsMax Tutorial Part 2     3dsMax Tutorial Part 3    3dsMax Tutorial Part 4     3dsMax Tutorial Part 5

Water Reflection Models

Tutorial 1

Hi ! and welcome to the wonderful world of 3D model golf course designing in 3dStudio Max.

The GGS-ProX graphics engine can render full 3d Golf Course Models and/or Overlay Surface Models that will enhance your existing courses made using a large main texture map.

This tutorial will take you through the steps required to make both complete 3d Golf Course Models and Overlay Surface Models. 


The two screen shots above show the increase in the level of detail that you get using a 3d Modeling method compared to the single large texture map method. Texture borders are now clearly defined and come with surface transition borders. Terrain has far higher resolution where it's required and course hole loading time is faster.


Before delving into the details, a quick overview of the concepts and methods used to make 3D golf courses for GGS in 3ds Max.

The objective is to make a fast real time renderable 3D model consisting of  number of interconnecting textured surfaces to represent the various surfaces found on a golf course hole. These are Greens, Fairways, Rough areas, Sand bunkers, Water ponds and streams etc, etc...

Some of these surfaces have borders such as Greens and Sand bunkers that have a fringe and Waters ponds that have a banking. One thing they all have in common though is that they all have adjacent surfaces. ie a surface will not stand alone in space, it will always be connected somewhere along it's borders to another surface. ie A green or sand bunker will be surrounded by a fairway and/or rough, a fairway by rough, rough by high rough etc...

Baring this in mind, when we create a surface object we have to make provision for its surrounding surface.

The method I have devised in 3ds Max to accomplish this is to first create a base default surface for the entire course hole and then merge all other objects into this base surface. This base surface is usually rough and/or high rough and the other surface objects cut-out and replace areas in this base surface. 

To do this I use a copy of each surface object's outline that will be used as a cutout template.

Surfaces are drawn in 3ds Max using various 3ds tools in the Top view window using a course hole layout image in the view's background as a template.

The terrain height and contours can optionally be made directly in the 3d model or the model can be left flat so that GGS will internally apply the terrain height displacement using a gray scale height map.  


Step 1. If not already done, create a new 3dStudio Max model by selecting the file, new option in the top menu and save this to any appropriate name of your choice.

Step 2. The first thing we need to do is load a template of the course hole into the Top Viewport background. This is done by selecting the Top View (just click in the viewport  window) and press the Alt/B key combination.

This is the basic course hole layout SurfaceObjects image file created in the normal manner with Photoshop 

You can either load the SurfaceObjects bmp file or - as I have done here - load the main texture bmp file. However, this is not the original texture file but a scaled down version. The file size must be the same as the surface object file (ie 1024*2048 or 1024*2560 for long holes). The advantage of using the main texture file is that we can see exactly what the is being shown when rendered in GGS whereas the surface object file might deviate slightly.

Use the Files... button to select the bmp file and select the Match Bitmap radio button. All other buttons should be set as shown above.

Step 3. Create a plane the size of the course hole map.

To do this, select the Create button on the top of the right hand menu, then select the Geometry button below it. 

Open up the Keyboard Entry roll-out and enter the dimensions of the course hole (1024*2048 or 1024*2560 for long holes) then press the Create button.

Step 4. Align the plane with the background image. To do this first maximize the Top viewport window (use the Maximize button on bottom menu far left) and then using the Zoom mode (select the Magnifying glass on bottom of right menu) make the background image as large as possible within the limits of the viewport window. Use the Pan button (hand image button) to move the image.

Now open the Viewport background window again (Alt/B key) and switch off the  Lock Zoom/Pan option. Close the window and using the Zoom and Pan buttons to align the plane to the Background image. When aligned, open the background window again and switch the Lock Zoom/Pan option back on.

Note: This, for some reason, is a bit fiddly in 3dsMax. Maybe there's an easier way to align or set the background image to the Plane size but I I haven't discovered it yet. After all the plane and image are the same size. However, it's important that the alignment is as exact as possible as this will determine the final rendering position later in GGS. 

If you are only creating a surface overlay to enhance you your existing course hole made with a large main texture map then you should now delete the plane object. (Select the object and press the delete key)

Step 5. Create the base default surface.


Set the Length Segs to 64 and the Width Segs is to 32. 

This creates a rather low resolution polygon object but we shouldn't normally need any higher resolution objects outside of the main playing area.

You can change this resolution by entering different grid segments if you want but bare in mind that the higher the resolution the higher the rendering time will be. If too high then rendering in GGS will be sluggish and slow. It's best to keep the polygon count as low as possible - here it's 4096 .


After having set the Plane Length Segs to 64 and the Width Segs to 32, right click on the object and from the roll out select the Convert to Editable Mesh option.

Select the "Face" option in the Selection rollout and delete all faces that are covering surface objects. Drag the mouse over these areas and press the delete key to clear the areas.

Step 6: Create the default rough area

Step 1. Select Splines from the Shapes combo box. Select Line or NURBS Curve. In the Rendering roll-out, set the Enable in Viewport, set Rectangular and set Length and Width to 0.

Step 2. If you have select Line then, in the Creation Method rollout, set the Initial Type to Smooth. If NURBS curve set to Point Curve.

Step 3. Move the mouse cursor to any inside perimeter point on the plane and in an anti-clockwise direction click points around the planes perimeters. As you do this you will see a nice curved line following the cursor. Where the perimeter is a slow curve you can click a point at the next curve increase. More points will be required on tight curves.

Step 4. When you have completed the curve and reached the starting point of the curve again a  message box will appear asking you to Close Curve? Select Yes.

Step 5. Name the object from it's default "Line01" or "Curve01" name to "Rough"

Step 6. Select the Modify Tab, open up the Modifier List combo box and select Extrude form the Modifier list.

Step7. Set Capping to Grid and Amount to 0

Step 8. Right click on the object and select Convert To: Convert to Editable Patch

Step 9: Remove non required backface polygons

Using this method we can create any surface shaped object . The only problem is, although the objects are flat, they still have two sides. Top and under sides.  If we leave the object as it is we will be wasting valuable rendering time rendering the under side of the object that will never be seen.

In order to remove the underside polygons - which are  known as Backfaces - select a Bottom viewport (right click in the top right hand corner of the viewport and select Bottom)

Select the object and then the Editable Patch from the Modifier list. Select the Patch (or Face if its an Editable mesh ) button and click the Ignore Backfacing option on.

Select all the faces in the object - they will show up red - and then just press the delete key. Doing this halves the number of faces in the object.  


Your rough object should now look something like this.

If the grid doesn't show then open up the Object Properties window (right click on the object to access the properties window or use the Display tab). When open, switch the Edges Only option off in the Display Properties. 

Step 10. Increase the grid resolution. 

The rough polygons should be a little smaller than the Plane polygons. When first creating the Rough like this they are probably quite large. In order to increase the grid resolution select the entire Rough area (mouse drag) with the Face button on and press the Subdivide button. Only do this once though otherwise too many polygons will be generated.

Now we are ready to draw the surface objects. 

A surface object is any separate area surface or line/border -  ie. Green, green fringe, bunker, footpath, fairway, pond etc... whereby each surface object can have a specific and separate texture applied to it.

Area objects are areas such as greens, bunkers, fairways and ponds.

Line/Border surfaces are lines with a specific width such as footpaths and fringes.

Go to 3dsMax Tutorial Part 2 here


You can increase your work efficiency dramatically by assigning keyboard short-cuts to most of the above operations. So instead of always opening the Modifier List box to - for example - select Extrude or Convert to Editable Patch, you just need to press a key.

Goto the Customize / Customize User Interface to make these keyboard assignments.

I have the following: E = Extrude, C = Convert to Editable Patch, shift/C = Convert to Editable Mesh, U = UVW Map, shift/U = Unwrap UVW, M = Material Editor, H = open Select object list.

Make regular backups: It's very easy to make a mistake without knowing it until it's too late.

Use the "File/Save Copy As..." at regular intervals. It automatically adds a number to the file name so it's just a mouse click. This allows you to recover work that might have been deleted or corrupted at some time in your model without you noticing it.

I backup every 30 minutes or so.