AREA forums upgrade
Read more about the planned upgrade of our forums
  • 1/3
You are here: Forum Home / Autodesk 3ds® Max® / Modeling / Topography Contours
IMPORTANT ANNOUNCEMENT ABOUT AREA FORUMS
  RSS 2.0 ATOM  
3 pages: 1.2.3 first last

Topography Contours
Rate this thread
 
14073
 
Permlink of this thread  
avatar

Better late then never:)

I used maxscript to quickly extrude each spline and give it a grey color it based on its height.
Did a 2048x2048 render from top view and tweaked it in PS.
Created a plane 1000x1000 with 100 length and width segs.
Used the image as a displacement map - using the Bitmap options to “place” it on the plane.
Knocked up the Displacement Value to 170
And Viola!

The red lines are your unmolested splines - to see how close i got - texturing is another story :P

Edit: There are a number of ways to control the height and ‘sharpness’ of the mesh.
1) Displacement Map Value Spinner
2) Bitmap Output Amount
3) PhotoShop to blur the image a bit or keep it sharp

There were a number of problems with the splines, some were open some had multiple knots and segs sitting on top of one another as well as some strays.

Im working on a script to do what the CrossSection mod should, or at the very least make the above process automated - I’ll keep you posted :)



Max 2009, 2010 32/64
VistaP 64 SP1
Intel Q9550 8GB
ATI 4870x2
Patriot 128GB SSD

Attachment Attachment
Attachment Attachment
Replies: 0
avatar
  • Don Gray
  • Posted: 07 July 2008 09:08 AM

Quite the solution!
But, as I look at it, some areas that should be terraced are smooth,
might prove problematic for the poster since he is in need of an actual fit.
Don



Max 2014 64
Windows 8 64

My Game Blog

Replies: 0
avatar

I agree Don.  There are several factors at work here though. First is that after I made the grayscale map I blurred it in photoshop and and then saved over the original (at the time it was late and I had already deleted the extruded model :P ) preventing me from testing with no blur.
Second, is the granularity of the contours. If I’m reading it right, each line represents a 2 feet in height, which is not the most accurate.
But what the poster is really looking for is a working modifier that will interpolate between the lines - after I go through and clean each line (I’m sure there are errors on at least half of them) I’ll see if it works any better.



Max 2009, 2010 32/64
VistaP 64 SP1
Intel Q9550 8GB
ATI 4870x2
Patriot 128GB SSD

Replies: 0
avatar

Just a thought - pure speculation. You know the “Section” shape? Creates a cross-section spline from a mesh? Well, what might work well in this case is an equivalent which would work just on the existing contours but ignoring the existing vertices. If that could be automated to work across (and along) the existing splines (i.e. the XZ and YZ axes) it would create a spline cage which the Surface Modifier would accept (hopefully).

Just thinking out loud - I’ll go back to sleep for a while now…



Max 4.2 through 2014, Composite 2014.
XP-64 (SP2).
nVidia 9800GTX+ (512MB) (Driver 314.22).
i5-3570K @ 4.4GHz, 8Gb Ram, DX9.0c.

Replies: 0
avatar

Extreme elevation changes always mess up the terrain modifier. I’ve frequently had to break the model up into sections to get a decent mesh.

One thing that can help is to apply the Normalize Spline modifier to help get a more regular vertex spacing on your splines. You have to watch for a couple of things with the NS modifier. First, it can mess up sharp curves, you may need to do some editing after applying the modifier. Also, if you have a lot of splines, the default settings of the modifier can kill Max easily. I would create a temporary spline, apply the modifier, and reduce the settings before applying the mod to the actual contours.

You are NEVER going to get a clean Terrain mesh from complicated contours without some adjustment and manual editing.

JH



Max Design 2012, Win 7 Pro 64, 6x2.8 Xeon, 12 GB RAM, Quadro 5000

Replies: 0
avatar

I’ve had no success with the CrossSection Modifier - even with clean lines and even number of verts I think the overall eradicate shape of the splines from one to the next is much for it.

As for the Section Shape, good idea - but I’m not sure where it would fit in. It won’t do anything with the original splines and using it after extruding the splines will yield the same thing. But you could be onto something, having that cage could come in handy… (me goes back to drawing board :) )

The Displace modifier on a plane seems to be giving the best results and the ability to have a low res veiwport version and super high render time version using the planes Render Multipliers options. Even on my lowly P4HT it took seconds to subdivide to 1M polys and render in the scanline. Throwing an Epoly on, and a some good Epoly tools and your good to go.



Max 2009, 2010 32/64
VistaP 64 SP1
Intel Q9550 8GB
ATI 4870x2
Patriot 128GB SSD

Attachment Attachment
Replies: 0
avatar
  • stusic
  • Posted: 08 July 2008 11:26 AM

MeltingPoint 07 July 2008 11:44 PM


The Displace modifier on a plane seems to be giving the best results and the ability to have a low res veiwport version and super high render time version using the planes Render Multipliers options. Even on my lowly P4HT it took seconds to subdivide to 1M polys and render in the scanline. Throwing an Epoly on, and a some good Epoly tools and your good to go.

Wowza! Yeah, that’s right on. I’m working on it now, but I did a test and it works well, definitely well enough to use. I’ll post an update later.

THANK YOU. THANK YOU.



Replies: 0
avatar
  • Filet
  • Posted: 08 July 2008 11:57 AM

I was wondering how the Maxscript mentioned above would work on open splines.  I think Ive seen a Maxscript assign rgb values by relative height, but I am not sure how to create this script.



Replies: 0
avatar

Hi Filet - I’m a VB programmer just getting the feel for maxscript, so these may not be the best way to do things. For the the color based on height:

candidatesArray = for o in Selection where classof o == SplineShape collect o
for i in 1 to candidatesArray.count do
(
    
zPos candidatesArray[i].pos.z
    candidatesArray[i]
.wirecolor color zPos zPos zPos

)

This works on the current selection(s) that are splines and applies a grey value to the “Wireframe” color of the object.
As for working on open splines - you can test each spline with isClosed and close open splines with… close :)



Max 2009, 2010 32/64
VistaP 64 SP1
Intel Q9550 8GB
ATI 4870x2
Patriot 128GB SSD

Replies: 0
avatar
  • stusic
  • Posted: 09 July 2008 12:23 AM

Here’s a small sample of what I’ve done using the displacement modifier. It’s still got some work to be doen on it, but it gives the general idea.



Attachment Attachment
Replies: 0
3 pages: 1.2.3 first last