PDA

View Full Version : Displacement Maps using Procedurals



gatesoffire1178
11-15-2005, 07:37 PM
I'm creating a scene where I have mountains and below that I want a fairly flat valley and am trying to use procedural textures, since I'm not able to presently get a displacement. How would I be able to do this. I ca make the valley and mountains but how can I bring those together? Please help.

Francesco

theo
11-15-2005, 08:18 PM
You might want to experiment with weight maps.

I use inverted maps sometimes set to the alpha blending mode with of course the obvious Input parameter as Weight Map with the also obvious Weight Map name of said map chosen for each gradient layer. Then you will want to tweak the map with the gradient tool to ease in or out what areas the map will affect.

Start with a flat subdivided surface. Create two separate and distinct weight maps, one for the vally and one for the mountain area. Name them accordingly.

Use texture displacement on the model in your new scene. Add two layers and choose gradient for the Layer Type. Then follow the info in the top paragraph. In my expereince the gradient tool is what will bring your maps to life. Mess around with the blending modes which can be fun also.

gatesoffire1178
11-16-2005, 06:49 AM
If the weight maps are seperate and distinct wouldn't the mountains and valley not be connected, which is what I am striving for?

Francesco

theo
11-16-2005, 07:17 AM
Gates-

You will have to define "not connected".

Are you referring to separate polys working together to create this landscape?

gatesoffire1178
11-16-2005, 01:50 PM
What I mean is that the mountain range flattens out into a valley. I mean connected with that the valley is attached to the mountain range as in it is one figure and not two seperate ones.

theo
11-16-2005, 02:35 PM
What I mean is that the mountain range flattens out into a valley. I mean connected with that the valley is attached to the mountain range as in it is one figure and not two seperate ones.

You can still do this with one weight map or two.

The map for the valley just gives more control possibilities just in case you want some light surface undulations from another texture.

gatesoffire1178
11-17-2005, 05:10 PM
Thank you so much for help Theo, I really appreciate it.

theo
11-17-2005, 05:34 PM
My pleasure.

theo
11-19-2005, 01:15 PM
Hey Gates,

One item I should have mentioned as well as an alternative to displacements is just to use Hypervoxels. This obviously will depend on your scene needs but it will in a lot of cases beat the heck out of displacements.

I threw a super-quick example image together for you below illustrating this:

automan25
11-23-2005, 08:13 AM
Can you post the steps for creating a landscape with hypervoxels?

lardbros
11-23-2005, 08:42 AM
Woweeee, i have never seen anyone do that?! Brilliant idea, so long as you make use of your 999 free render nodes. Looks bloomin' ace though!!!

theo
11-23-2005, 08:42 AM
The steps are next to nothing in terms of procedure. The challenging part is positioning your points.

Since this particular method uses the "Y Distance to Particle" gradient under the strech option you need to be sure you position enough points in the plane where there is the least amount of hyper-stretching. Check the maintain volume option and mkje sure you have a high size variation percentage.

I have built items using this method by joining hypervoxel-based objects with different stretch gradients. I cannot show them here because those are for some inside corporate work.

Make sure a hypertexture is added, FBM was used for the quickie land above, and finish off with the appropriate surfacing including additional bump texturing.

Pretty simple stuff really. Final tip though: for this method you cannot just throw a model together by bevelling and smooth-shifting and all that because you will get massive point accumulations where they are not needed which kills the joy of using this method due to rendering bottlenecks. I need to expand on that last sentence: you can build your object typically but you must be prepared to heavily edit point locations.

For example: the points being stretch on the Y axis don't need to be right on top of each other rather space them out quite dramatically because the gradient-stretched Voxel, if done properly, will fill in the empty space quite nicely.

If the entire Voxel shape is cloned the hit on rendering is surprisingly low.

theo
11-23-2005, 08:45 AM
Woweeee, i have never seen anyone do that?! Brilliant idea, so long as you make use of your 999 free render nodes. Looks bloomin' ace though!!!

Rendering flies with this method if you follow the steps outlined in my other post.

The point count would shock you- 194 points per mountain!!! The mountains have been cloned and are the same exact mountain.

You could do this on a low end computer!

Interesting as well is the speed of production. Just slap some point together with a thoughtful approach to your stretch gradient- apply Hypervoxels, tweak some settings and you have a gorgeous object.

gatesoffire1178
11-26-2005, 01:11 PM
That's awesome Theo. I have also ordered the Vue/ Lightwave package to help me. I really appreciate your help, wasn't aware hypervoxels could do that.

StevenDS
11-26-2005, 02:13 PM
Theo,

Can those HV mountains cast shadows? Um, can you turn on self shadow and get a good render?

-S

theo
11-27-2005, 01:49 PM
Can those HV mountains cast shadows?

Nope, which is why use of this technique falls into a pretty narrow category. This is still a very, very useful way of working with odd-based organics though in my opinion.


Um, can you turn on self shadow and get a good render?

Steve the image above is using self-shadow. The render took 55 seconds at 800x600 with antialiasing set at 1 pass and Reconstruction set at Box (Sharp) on a dual Xeon box. Which, in my humble opinion, is flat-out impressive.

By the way, you do realize that self-shadow is different from shadow-casting?

StevenDS
11-27-2005, 10:35 PM
Thanks for the reply!
The reason I ask about shadowing, is because I'm having issues with hypervoxels and self shadowing, as in this post:
http://vbulletin.newtek.com/showthread.php?t=42903
I was just wondering if you were able to use self shadowing hypervoxels.

:)
-S