Friday, November 25, 2011

An experiment on procedural terrain generation

I experimented on procedural terrain generation.

Terrain generation using perlin noize is a popular technique.
I built the ICE Tree using this technique.
I generated the terrain shape by adding noises of large scale, mid-scale and detail.
The key of this ICE Tree is Exponent node.
Squaring the noise value, it comes to be visible like a mountain. 

Download sample scene -> here

Sunday, November 6, 2011

Procedural Rock

I found a very wonderful tutorial about creating procedural rock for 3dsMax.
http://saschahenrichs.blogspot.com/2010/03/3dsmax-environment-modeling-1.html
I tried it using Softimage ICE.

This is the ICE tree completed. Download this sample scene -> here

1.
Create a cube. 
 - Subdivision values : about 50 - 100
Because of setting higher subdivision values last, you should not freeze the geometry operator.
Then, create a weight map.
2.
Create ICE tree.
Get a stoSpherify node and connect it.
3.
Get stoCellNoiseMap(ver.1.1) node and Set Data node.
Connect stoCellNoiseMap node to Set Data node.
Set "Self.cls.WeightMapCls.Weight_Map.Weights" to reference value of Set Data node.
4.
Get Sculpt node and connect it.
Set "Self.cls.WeightMapCls.Weight_Map" to reference value of Sculpt node.
5.
Get Transform Mesh node and connect it.
Change the size of the object as you like.
6.
Add a weight map.
Get Turbulize Value by Range node, FCurve node and Set Data node.
Connect Turbulize Value by Range node to FCurve node,  FCurve node to Set Data node.
Set "Self.cls.WeightMapCls.Weight_Map1.Weights" to reference value of Set Data node.
Adjust FCurve.

7.
Get Sculpt node and connect it.
Set "this.cls.WeightMapCls.Weight_Map1" to reference value of Sculpt node.

8.
Get Turbulize Mesh node and connect it.
Adjust value of properties of Turbulize Mesh node to seem to look like a rock surface.
9.
Set higher subdivision values to cube geometry operator.
 - Subdivision values : about 160 - 250

Saturday, November 5, 2011

Improved stoCellNoiseMap

I Improved stoCellNoiseMap compound.

I added the check box that outputs square distance.
If you apply push deformer using weight map created by stoCellNoiseMap compound,This function is useful.
You can get different results.


I improved locations of kernel points be randomized by turbulence node.
You can create seamless animation.

Compound Name:  "stoCellNoiseMap 1.1"
 - Invert: Invert value of map.
 - Square: Output square distance.
 - Curve: Control value of map.
 - Number of kernel points X: 
       Sets the number of kernel points in axis X.
 - Number of kernel points Y: 
       Sets the number of kernel points in axis Y.
 - Number of kernel points Z: 
       Sets the number of kernel points in axis Z.
 - Time varying:
       Move kernel points to different location 
    every frame.
 - Noise Type: The noise function used to generate the turbulent values.
 - Time Frequency: Defines the speed at which the noise evolves over time.
 Space Frequency: The granularity of the noise pattern.
 - Complexity: Defines the number of octaves to be added to the turbulence. 
 - Use own variance: 
       Use own value of variance of random.
 - Variance of random: 
       Control the variance of kernel points.

Download -> here