The Shape Water blockset and the ShapeWater functions morph ordinary flat water blocks into interesting shapes. The available shapes
are Circle, Elbow, and Tube.
These shapes may then be animated by using the <RIPPLE> tag.
| You must have Rover to view this animation. |
To use the ShapeWater blocks and functions in your spot follow these 5 steps:
| 1. | Add the ShapeWater blockset. |
|
| 2. | Import the ShapeWater.3dml functions. |
|
| 3. | Using the CREATE tag define a block using a ShapeWater block and fill in parameters for the RIPPLE tag. The block must be MOVABLE. | |
| 4. | In the Simkin START function call one of the functions CIRCLE, ELBOW, or TUBE to move the vertices of the block into that shape. | |
| 5. | Additionally call the TRANSLATE function to move the block to the desired location. The block.rotate_x,y,z( ) functions may be used before calling TRANSLATE to adjust the orientation of the block. |
It's a bit involved, but just remember these 5 steps. There are tutorials for each of the ShapeWater functions. Start with the CircleWater tutorial as this is the simplest.
Demo
A demo of the ShapeWater blockset and functions is here: ShapeWater Demo
Tutorials
View the ShapeWater Tutorials On-Line here: Shape Water Tutorial
The ShapeWater Tutorials may be downloaded here: ShapeWaterTutorial_1.0.zip
Circle15x15 |
- | water surface consists of an array of vertices 15 by 15. Copy of Pattern15x15 from water.bset with extra non-active part "interior". | |
| Single Symbol = "a", Double Symbol = "aa" | |||
| Parts: water, interior | |||
Circle31x31 |
- | water surface consists of an array of vertices 31 by 31. Copy of Pattern31x31 from water.bset with extra non-active part "interior". | |
| Single Symbol = "b", Double Symbol = "bb" | |||
| Parts: water, interior | |||
Circle43x43 |
- | water surface consists of an array of vertices 43 by 43. Copy of Pattern43x43 from water.bset with extra non-active part "interior". | |
| Single Symbol = "c", Double Symbol = "cc" | |||
| Parts: water, interior | |||
Tube15x15 |
- | water surface consists of an array of vertices 15 by 15 with extra polygons to fill the interior of the tube shape. | |
| Single Symbol = "e", Double Symbol = "ee" | |||
| Parts: water, interior | |||
Tube31x31 |
- | water surface consists of an array of vertices 31 by 31 with extra polygons to fill the interior of the tube shape. | |
| Single Symbol = "f", Double Symbol = "ff" | |||
| Parts: water, interior | |||
Tube43x43 |
- | water surface consists of an array of vertices 43 by 43 with extra polygons to fill the interior of the tube shape. | |
| Single Symbol = "g", Double Symbol = "gg" | |||
| Parts: water, interior | |||
Elbow15x15 |
- | water surface consists of an array of vertices 15 by 15 with extra polygons to fill the interior of the elbow shape. | |
| Single Symbol = "h", Double Symbol = "hh" | |||
| Parts: water, interior | |||
Elbow31x31 |
- | water surface consists of an array of vertices 31 by 31 with extra polygons to fill the interior of the elbow shape. | |
| Single Symbol = "j", Double Symbol = "jj" | |||
| Parts: water, interior | |||
Elbow43x43 |
- | water surface consists of an array of vertices 43 by 43 with extra polygons to fill the interior of the elbow shape. | |
| Single Symbol = "k", Double Symbol = "kk" | |||
| Parts: water, interior |
![]() water.jpg |
![]() waterspray.jpg |
![]() bluewater.jpg |
![]() bluewaterspray2.jpg |
![]() torchfireredbrown.jpg |
![]() torchfireyellowred.jpg |
CircleWater( block, Nvertices, Xcenter, Ycenter, Zcenter, Rinner, Router)
|
| Creates a circular disk parallel to the XZ plane with center at (Xcenter, Ycenter, Zcenter) relative to the blocks (0,0,0) coordinates. The inner radius of the disk is Rinner, and the outer radius of the disk is Router. |
|
|
TranslateBlockRelative( blockReference, Xcenter, Ycenter, Zcenter )
|
| Moves the block relative to the block's (0,0,0) point. |
|
|
TranslateBlockAbsolute(blockReference, Xcenter, Ycenter, Zcenter )
|
| Moves the (0,0,0) coordinate of the block to the absolute Map point (Xcenter,Ycenter,Zcenter). |
|
|
TubeWater( blockReference, Nvertices, Xoffset, Yoffset, Zstart, Zend, Rinit, Rfinal )
|
Creates a tube of water whose center axis is parellel to the Z axis. The center of the initial radius is the block's (0,0,0) coordinate,
and may be offset by the parameters Xoffset, Yoffset and Zstart. The tube extends along the positive Z axis. The
length of the tube is specified by the difference between the parameters Zend and Zstart.
|
|
|
ElbowWater( blockReference, Nvertices, Xoffset, Ystart, Yend, Zstart, Zend, Rinit, Rfinal )
|
Creates a tube of water bent through 90 degrees around the X axis. The center axis is parallel to the YZ plane. The center of the initial
radius is the block's (0,0,0) coordinate, and may be offset by the parameters Xoffset, Ystart and Zstart. The center of
the final radius is specified by the parameters Yend and Zend.
The initial and final radii are specifed by Rinit and Rfinal.
|
|
|
ElbowWaterGeneral( blockReference, Nvertices, Xoffset, Ystart, Yend, Zstart, Zend, Rinit, Rfinal, theta )
|
Same as ElbowWater but instead of the bend angle being fixed at 90 degrees, the bend angle is specified by theta
|