Monday, December 19, 2011

Creating a grid by ICE Modeling

I studied about ICE topology mesh.I tried creating a grid by ICE modeling.
The following is the algorithm for creating grid topology.


Compound Name: "sto Create Grid"

 U Length: The length of U-axis.
 - V Length: The length of V-axis.
 - Subdivisions U: The number of segments(U-axis).
 - Subdivisions V: The number of segments(V-axis).

Download -> here

Saturday, December 10, 2011

Gaussian blur

I built a ICE compound to smooth/blur a weight map by a Gaussian function.











The following is the ICE tree of a Gaussian function and the graph of result.











The following is the function calculated by the ICE tree.
exp( -Distance * Distance / ( 2 * Radius * Radius ) )



Compound Name:  "sto Gaussian Blur Map"





Mute: Disable the calculation.
Radius: The value of blur size.
Value: The Input value.

Download -> here

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

Sunday, October 23, 2011

Cell Noise

built an ICE compound for generating cell noise.
You can get a map of cell noise and voronoi cell index.
And you can use this map to weight map, vertex color and so on.


Compound Name:  "stoCellNoiseMap"
 - Invert: Invert value of map.
 - 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.
 - Use own variance: 
       Use own value of variance of random.
 - Variance of random: 
       Control the variance of kernel points.


Download -> here

Monday, October 10, 2011

Spherify

I built a ICE compound  that distorts an object into a spherical shape, like 3ds Max's modifier "Spherify".




Compound Name:  "stoSpherify"
 - Blend:  Set rate of spherical distortion to apply to an object.
 - Use Own Radius: If you want to use your own radius, check this check box.
 - Radius: The radius of sphere.
 - Use object center: set object's center to sphere's center. 
 - Center offset:  Adjust the position of sphere's center.
Download -> here

Saturday, October 8, 2011

Displaying Attribute Values


Recently, I got Softimage2012 and started learning new Softimage. 

We can display the values of attributes of objects in the 3D views.
It wil be very useful when building ICE trees.

Choose Get > Property > Display Attribute.
We can create attribute display properties.