Mapdev:howto height blender: Difference between revisions

From Spring
Jump to navigationJump to search
m added rendered examples.
Flozi (talk | contribs)
m recategorise -> Map Dev (also, category at _bottom_ of markup)
 
(11 intermediate revisions by one other user not shown)
Line 1: Line 1:
= preparation =
= Creating a Heightmap in Blender =
things to decide before beginning
= [http://www.youtube.com/embed/7f2tYgyF0W8 Video] =
* how large do you want the map to be?
== Video Script ==
1. Delete Cube and Light


blender can render images as large as your ram allows.. ive found that on a system with 4 gig of ram i can render easily and reliably a 2049x2049 height map, transalted into game units thats a 32x32 map size. more ram would allow larger maps, not sure what Spring's upper limit is.
2. Create Terrain Mesh
- add plane
- enter edit mode
- scale plane to size you want
- subdivide plane to match grid
- enter object mode


rendering the texture map is a different story, its pretty difficult to render a 16384 pixels square map so i will leave that for another tutorial. It's Doable, but needs to be done in segments and stitched together later.. anyway.
3. Add Multires Modifyer
- set subdivision to simple
- subdivide until level 6
- set preview level to 6


== Begin ==
4. Sculpt Terrain Mesh
# open up blender
- enter sculpt mode
# delete the default cube and the light, since they arent used
- set transform locks
- sculpt
- enter object mode


== Add a Plane ==
5. setup camera
The plane is 2x2 units by default, so scale it up to the size you want.
- select camera
lets make an 8x8 map 8x64 = 512 units. 2*256 = 512.
- set position and rotation
- change to camera view
- set camera to ORTHO
- set scale


Add another plane to use for the water reference,scale it up roughly, and make it be on another layer so you can turn it on and off easily.
6. Setup Render
- set render dimensions
The height map resolution is defined as SMU * 64 + 1, see [[Mapdev:height]]


== Render Settings ==
7. Setup compositor
FIXME- need discussion on non square maps, pretty sure the largest dimension wins. anyway...
- change space type to node editor
# change the render to cycles
- select compositor nodes
# change render resolution to 513 and the percentage to 100%
- check use nodes
- redirect Z
- add normalise
- add invert
- render
[[File:Blender-node000.png|600px]]


== Camera Settings ==
8. Colour Management
# move camera to 0,0,[higher than maximum terrain height], and rotation to 0,0,0
- set display device to none
# adjust clipping to be 0, [very large]
# change camera to orthographic
# Set orthographic scale to 512


== Shading ==
9. Save
# Select default new material
- set type to tiff
# change it to nodes
- set BW
# change type from diffuse BSDF to emmission
- set depth to 16bpp
=== Height ===
The image below shows the node setup I use to render a height map.


Once you are finished sculpting you will modify the add value and the divide value based on your completed terrain.
==Additional Information==
* Need discussion on non square maps, camera settings for altering which dimension gets priority when rendering.
* Consider using this type of material to help understand your sculpting
[[File:Blender-node001.png|600px]]
* if your ram doesnt allow rendering large maps due to image dimensions, consider the render regions add on.


* The Add node is used to raise the terrain height values to compensate for being negative z values or under water in this setup. it will have to be manually set
* The Divide node is used to give maximum precision of black and white values and should be the maximum z dimension of your terrain, found in its transform properties.
[[File:Blender-node000.png]]
=== Incline Map ===
The below image shows the node setup I use to do two things.
# Check while sculpting if terrain is walkable or buildable
# Generate helper map for Splat detail textures.
to use for terrain build/walk checking connect the true normal to the cross product instead of the normal,it will show the face normal rather than the smoothed normal.
the colour ramp will probably need adjusting depending on your needs.
[[File:Blender-node001.png]]
=== Examples ===
=== Examples ===
height map
Height map [[File:Blender-screen-000.png]] Visual of build/walk [[File:Blender-screen-001.png]] Detail distribution [[File:Blender-screen-002.png]]
[[File:Blender-screen-000.png]]
[[Category:Map Dev]]
visual of build/walk
[[File:Blender-screen-001.png]]
detail distribution
[[File:Blender-screen-002.png]]
 
== Sculpting ==
# subdivide the plane to create the exact number of verts that you will see in game
w+enter 9 times
2,4,8,16,32,64, 128, 256, 512
# pull out the sculpt mode and set up the restriction to only transform on the Z Axis
# sculpt away
 
== Render ==
# happy times!
 
== FIXME ==
* make the height map node properties driven by the terrain values.. so no manual adjustment is needed after the fact.

Latest revision as of 01:31, 22 February 2014

Creating a Heightmap in Blender

Video

Video Script

1. Delete Cube and Light

2. Create Terrain Mesh

- add plane
- enter edit mode
- scale plane to size you want
- subdivide plane to match grid
- enter object mode

3. Add Multires Modifyer

- set subdivision to simple
- subdivide until level 6
- set preview level to 6

4. Sculpt Terrain Mesh

- enter sculpt mode
- set transform locks
- sculpt
- enter object mode

5. setup camera

- select camera
- set position and rotation
- change to camera view
- set camera to ORTHO
- set scale

6. Setup Render

- set render dimensions

The height map resolution is defined as SMU * 64 + 1, see Mapdev:height

7. Setup compositor

- change space type to node editor
- select compositor nodes
- check use nodes
- redirect Z
- add normalise
- add invert
- render

8. Colour Management

- set display device to none

9. Save

- set type to tiff
- set BW
- set depth to 16bpp

Additional Information

  • Need discussion on non square maps, camera settings for altering which dimension gets priority when rendering.
  • Consider using this type of material to help understand your sculpting

  • if your ram doesnt allow rendering large maps due to image dimensions, consider the render regions add on.

Examples

Height map Visual of build/walk Detail distribution