Results 1 to 10 of 33

Thread: [Award Winner] Building a ridge heightmap in PS

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1

    Post

    Nice tutorial, thanks. I recently discovered this site and I've been excitedly playing with the tutorials here. I was following this one, trying to create a mountain range for a map I had planned, and ran into a problem.

    I had several ridges close to each other in my height map sketch I started with:

    Click image for larger version. 

Name:	ridge-sketch.jpg 
Views:	502 
Size:	14.9 KB 
ID:	2356

    Applying this method directly yielded an alienistic landscape with very smooth crater-like valleys between the ridges. This was generated using Photoshop's lighting effects rather than Bryce.

    Click image for larger version. 

Name:	ridge-alien.jpg 
Views:	1116 
Size:	44.8 KB 
ID:	2357

    I think this is due to the dilate process used with the selection contract tool. Realistic earthlike mountains have valleys that are actually surprisingly sharp (check google maps satellite images).

    The method I discovered after much button pressing was to alter the following steps:

    Quote Originally Posted by su_liam View Post
    7) Here's where that morphological Dilate tutorial comes in. A recap: Load the new channel as a selection, go to Select>Modify>Contract... I'll contract by 3 pixels, and iterate three times.

    Save you selection as a channel and take a look. For the purposes of this I'm pretty satisfied. I'm going to munge it up using steps b3 and b4 and call it good for my current purposes.
    Modify these so:

    1) After you have the contracted selection, save it as a channel.

    2) Load the channel you started the contract from. Invert selection (Ctrl-shift-I) and repeat the contract operation. Save this as a channel as well.

    3) Create a new channel, fill with 50% gray. Load the selection from the channel created in 1) above, and fill with white. Load the selection from the channel created in 2) above, and fill with black.

    4) Continue with the process, using this latest channel as the one you use for further steps.

    With this, I came up with something that had way better valleys. A sample is below. I hacked this up very quickly for this post to keep it clear. To get nice ridges for high mountains, you need to pay more attention to getting a better initial sketch or do some magic with curves and such.

    Click image for larger version. 

Name:	ridge-valleys.jpg 
Views:	1186 
Size:	61.2 KB 
ID:	2358

  2. #2
    Guild Artisan su_liam's Avatar
    Join Date
    Aug 2007
    Location
    Port Alberta, Regina(IRL: Eugene, OR)
    Posts
    798

    Default

    That's a problem I've been having with integration between mountains. It's a major reason I haven't been posting much on this lately(a little bit of my trial and ERROR process goes a long way...). I like the valleys in your modified version, but I think the mountains suffer. Although, those are terrific as hills or lower mountains.

    Curves is good for small adjustments, in my opinion, but really significant curves force too much regularity on the landscape. My opinion.

    I've been adding fractal noise with Clouds and Difference Clouds to try to disguise some of the problems, but, as I think Redrobes has noticed, this produces a lot of sinkholes, which just ruins the drainage. This is important if your trying to simulate decent erosion in less than a lifetime. And, at best, you still end up with something that looks vaguely like glacial u-shaped valleys.

    One experiment I'd like to try would be to take the heightfields resulting from both of our methods, scale them in Levels and add them together. That could either(hopefully) integrate the best aspects of both methods or (unfortunately) amplify the worst aspects of each.

    I'll try that when I get a chance. Tell you how it works out...

  3. #3

    Post

    Quote Originally Posted by su_liam View Post
    I like the valleys in your modified version, but I think the mountains suffer. Although, those are terrific as hills or lower mountains.
    Agreed, but I think part of that was due to a bad sketch in my example... Here's a part of the map I'm actually working on at the moment. I actually ended up making the sketch in two parts, one representing the major ridge areas that got a large blur moving forward, and the second representing only the ridges. That allowed me to exclude the ridges from the valley generation procedure but include them in the final result.

    Click image for larger version. 

Name:	ridge-sample.jpg 
Views:	930 
Size:	38.2 KB 
ID:	2359

    I'm still not 100% happy with the hand drawn bit, but it's getting closer.

    Other than the part of the process I described, I'm following your tutorial pretty much as written, including the noise bit.

    The problem with having access to Photoshop alone is that not having any realistic erosion puts a limit on how far you can go with this without having to draw a lot of minor ridge areas by hand.

  4. #4

  5. #5
    Guild Artisan su_liam's Avatar
    Join Date
    Aug 2007
    Location
    Port Alberta, Regina(IRL: Eugene, OR)
    Posts
    798

    Post

    I've been playing around with a variation of my previous method. It's not perfected, even to the standard of my previous tutorials, yet, so I'm not going to give a detailed method yet.

    Basically, I created a top layer named Peaks. I filled this with solid noise(in this case Clouds followed by several iterations of Difference Clouds; still lazy) in a greyscale range from about 175 to 255. I'd like to do this in 16-bit, but I'm not sure any of the tools, even in CS, actually produce 16-bit variations. I put a black Layer Mask on this and drew in peaks using reasonably thin lines and a bit of Brush-Fu.

    Below that, I created a Valleys layer. Same solid noise method, only with a greyscale range of about 0 to 80. This time I drew valleys in on the black Layer Mask using a dendritic method.

    On the bottom, I created a Midrange layer. No mask this time as it's the base. I did solid noise at about a 88 to 168 range.

    I applied a variation(that still isn't quite working for me) of the Ridge method I outlined at the beginning of this thread on the Layer Masks. I also tried to apply some of Gecko's idea for valleys from memory.

    If I can perfect this method it looks like it will be a better, if more labor-intensive, way of hand-designing heightfields(given a limited set of tools). I'm hoping having a greater number of narrower(and more varied because of the clamped snoise) terraced greys will make it easier to blend together with lower blurs and narrower spatters. This should make it easier to maintain a desired geometry without having it melt away into a blurred, noised-out mess.

    While I think this might be passable, in itself, I think it also might be a good start for a faster erosion stage.

    For the moment I'll put up the resulting HF and a Gradient Mapped and Lighting Effectsed image. I have a Bryce render baking in the oven right now.
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	trilayer.jpg 
Views:	265 
Size:	342.8 KB 
ID:	2427   Click image for larger version. 

Name:	trilayerHF.png 
Views:	4185 
Size:	1.73 MB 
ID:	2428  

  6. #6
    Guild Artisan su_liam's Avatar
    Join Date
    Aug 2007
    Location
    Port Alberta, Regina(IRL: Eugene, OR)
    Posts
    798

    Post

    Quote Originally Posted by Gecko View Post
    Nice tutorial, thanks. I recently discovered this site and I've been excitedly playing with the tutorials here. I was following this one, trying to create a mountain range for a map I had planned, and ran into a problem.

    I had several ridges close to each other in my height map sketch I started with:

    Click image for larger version. 

Name:	ridge-sketch.jpg 
Views:	502 
Size:	14.9 KB 
ID:	2356

    Applying this method directly yielded an alienistic landscape with very smooth crater-like valleys between the ridges. This was generated using Photoshop's lighting effects rather than Bryce.

    Click image for larger version. 

Name:	ridge-alien.jpg 
Views:	1116 
Size:	44.8 KB 
ID:	2357
    Here's a real life shaded relief by Tom Patterson of shadedrelief.com



    Of course, this is from the Grand Tetons, so it doesn't do much to refute the "alienistic" statement.

    I finally managed to get a "16-bit" version of my heightfield into Bryce. B6 doesn't seem to like 16-bit tiffs or pngs from PS CS. It seemed to do pgms okay, but I couldn't figure out how to convert photoshop output into pgm. The method outlined in shadedrelief required an app called bsmooth. I refuse to pay as much for a Classic app that hasn't seen any changes since 2001 as I paid for Bryce 6, and the trial version is limited to 196x196(?)! Then I found the CartoPGM PS plugin on reliefshading.com. So here's the result...
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	trilayerPGM16.jpg 
Views:	665 
Size:	91.2 KB 
ID:	2451  
    Last edited by su_liam; 02-22-2008 at 03:23 PM. Reason: Missed a letter...

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •