[CVS] mesh modifier: displace

The displace mesh modifier provides basically the same functionality as TerryNoise. But because this modifier is integrated into blenders modifier stack, it’s much more handy and realtime. Currently it uses textures as input value for the offset, but if it would use a material it could be as great as InnerWold, because of blenders node system. Maybe a few nodes have to be added.

But there is one thing missign, when you compare it to TerryNoise: the “custom noise” (a python lambda expression to define the displacement). But it’s still a very new feature in blender CVS, so maybe it will gain much more features until the next release.

Using the Displace Modifier to generate Terrains
To generate a terrain with the displace modifier, just insert a grid. I used a 100x100 grid here.


Then you have to add a displace modifier (and a subsurf modifier) as seen in the next picture.


The displace modifier needs a texture so we add a new one to the material of the mesh, but disable it. We just need it for the displacement and not as a real texture.


Now we can play with blenders various texture settings, to get a nice terrain. Wehn you change the texture, you need to update the view to see you changes by switching between object and edit mode. (2 times TabKey)



Weight-paint the Deformation
But what when we don’t want all vertices of our mesh to be displaced? Then just assign all the vertices you want to displace to a new vertix group, and then assign the group to your modifier.


In weight paint mode you can change the influence the modfier has to the mesh. Usually you want a smooth blending between 100% and 0% influenced regions. With ths knowlege, it’s now possible for us to paint a street or a river between our hills.




Discover the Terrain
As mentiond bevore, it is not possible to give a xyz-offset by a number slider. To move to a other place in your terrain when using local texture coordinates you have to move the vertices. You will even see realtime updates of the deformations!




When you choose global as texture coordinates, this will also happen when you move the whole object. But then it will not be updated in realtime. You have to switch between object mode and edit mode to see the changes (maybe a bug in this early CVS version).

But the best way to move through your terrain is by using a other object for texture coordinates.

First we insert a empty. Then we change the texture coordiantes for the displace modifier to object and enter the emptys name. When you now move the empty, you are moving through the terrain. (realtime update of the view works here) You can even rotate and scale the empty, it will all affect the texture coordinates.




Deform Objects
As the name implies, this modifiers main purpose is to deforme meshes. As already mentioned, you can use it to cerate terrains, but you can also deforn any kind of objects by deforming along the vertex-normals:


There are a lot of possible texture settings, so just experiment a bit with it to get nice terrains:










Nice tut Panzi.

EDIT: Wow 1,111th post.

Thanks. :slight_smile:

A very helpfull tut, clear and simple. Thanks for that. I like lots of examples, that make you go… hmmmmmm.

i like the vertex painting thingie…

This tutorial is perfect, thanks for your hard work!

Loop Duplicate

Really nice, thanks. And just when I was beginning to focus a bit more on landscape related stuff, too.

Thanks again.