Bantam3D Home | Bantam3D Grass | Full Details and Help
Bantam3D Grass - Full Details and Help |  |  |  |  |
1. Your First Grass Object 2. A Brief Description of Bantam3D Grass 3. Button "Curve": Define the Curve of the Parent Grass Blade 4. Button "Shape": Define the Shape of the Parent Grass Blade 5. Button "Size, Rotate": Define the Size, Rotations, and Grouping of All Grass Blades 6. Button "Color": Define the Colors for All Grass Blades 7. Button "Alpha": Define Where the Grass Grows 8. Button "Bump": Define the Altitudes of the Grass Blades 9. Button "Create": Create the Grass Object 1. Your First Grass Object The primary use of Bantam3D Grass is to rapidly create 3-dimensional ground covers, such as grass, leaves, and rocks. If you have downloaded and installed Grass, you can create a lawn instantly. Here is how: Launch the application. Click on the button "Create" on the top right. Click on the button "Create grass and save as OBJ." If the application asks you for a serial number, you enter the serial number you received when purchasing the software. If the application asks you for a file name, enter it. Grass shall begin writing the grass object into the file you just entered. After the writing is done, launch your favorite 3D application. Import the grass object and render it. 2. A Brief Description of Bantam3D Grass The primary use of Grass is to rapidly create 3-dimensional ground covers, such as grass, leaves, and rocks. Grass creates a ground cover as an object of .obj file format, which can be imported into 3D applications such as Poser and Bryce for rendering. (In this page, I render all images using Bryce.) This help file describes mostly about grass. Leaves and rocks work in a similar manner. Creating ground covers is as easy as 1-2-3 when you use Grass. You can make a beautiful, realistic lawn in just a few minutes, using an intuitive interface. Here are the steps: 1. Define one typical grass blade. This typical grass blade is called the parent grass blade, and it shall be cloned numerous times to create the ground cover. The application will make the clones look slightly different from each other, in order to mimic nature. This is how to define a parent grass blade: Define the curve of the grass blade Define the shape (or width) of the blade Define the size, rotations, and grouping of the cloned blades Define the colors for the cloned blades 2. Define the coverage area. After you have defined the parent grass blade, you will next define the area where the cloned blades will grow. You can use alpha and bump images to constrain the locations and altitudes of the grass. You will also set the number of cloned blades. You have the choice to make leaves fly all over the air too, like falling autumn leaves, for example. After you have defined a parent grass blade and the coverage area, just click the "Create" button, and the software shall create a ground cover object of .obj format for you. The creation is very fast. And you can import the object into your favorite 3D applications for rendering. Most 3D applications can import .obj files. You have the ability to design up to 7 grass objects and 4 rock objects at once. This is useful when you want your garden to have multiple groundcovers. Just check the boxes on your left, and Grass shall let you work with the selected objects. 3. Button "Curve": Define the Curve of the Parent Grass Blade Grass is seldom a straight line. In nature, each grass blade is curved slightly. So is each leaf. Click on the button "Curve" on the top, and a Curve Dialog shall appear and let you to define the curve of the parent blade. 3.1. Draw Pad: Displayed prominently on the left of Curve Dialog is the draw pad, which you use to draw the blade curve in 2 dimensions. The pad represents a front view, which means you are standing on the positive Z axis and are looking at the X and Y axes. 3.2. Three Control Points + 1: Within the draw pad, the blade curve is green, and it is defined by three control points, which are colored black, red, and green. Black is the base of the curve, and green is the tip. The red control point has a certain attraction power, so that the line connecting black and green is curved toward red. You have an option to add one more control point to the curve. Just click to check the box "Use 4 control points", and a blue control point will be added. In order to move a control point, you have to select it first. How to do this? Click on a control point in the draw pad. When a control point is selected, it is highlighted with white color. Now click anywhere inside that draw pad, and the selected control point will move with your mouse click. 3.3. The Underlined "xy=0", "x=0", "y=0": When you select a control point, if you click on "xy=0", that control point will snap into the origin. Click "x=0" will snap the control point to X = 0, and "y=0" works similarly. 3.4. Weight W: Each control point has a W value, which stands for weight. Weight is the attraction power of a control point. If you increase W for red, the curve will curve more toward red. W can be any number; and in Grass, W ranges from 0.1 to 10. Weight has a proportional relationship among the three control points. For example, a curve of black W=1, red W=2, green W=3 has the same shape as the curve of black W=2, red W=4, green W=6. Illustration: The first curve is too bent with red's weight = 1. When we lessen that weight to 0.3, the second curve looks more elegant. You can achieve the same effect by keeping red's W = 1, and increase the weights of both black and green to 3.33. The picture on the right is a rendered version of the grass created by the second curve. 3.5. Variable XYZ: After you have defined the curve of the parent blade, that parent curve will be multiplied many times to produce cloned grass blades. Since you often want to draw thousands of grass blades at a time, the cloned curves must vary from time to time to make the grass blades look slightly different. You can achieve this effect by allowing the control points to vibrate around their XYZ coordinates. You set the amount of vibration by enter values into the vX, vY, vZ boxes. To see the effect of variable XYZ, click the "Random" button repeatedly. Each time you press the button, the parent curve is multiplied once, and the newly cloned curve is displayed on the draw pads. If you set vX, vY, vZ small enough, each cloned curve can keep the general shape of the parent curve, though the cloned curve looks varied. This is the rule for variable XYZ: The curve's tip varies anywhere from negative to positive vX, vY, vZ; the middle control point(s) varies a smaller amount; and the black control point (the base) does not vibrate. If you want to view the parent curve, click "No Rand". 3.6. The Underlined "Same vXYZ to all": You can set the current values of vXYZ to all 10 curves by clicking "Same vXYZ to all". 4. Button "Shape": Define the Shape of the Parent Grass Blade Beside the curve, we need to define the parent blade's shape or width. By default, a grass blade has no thickness (a grass blade is a very thin sheet). Click on the button "Shape", and the Shape Dialog shall display. 4.1. Number of Nodes: We divide a blade curve into several sections by inserting nodes into the curve. As you click the buttons "-" and "+", you are removing and inserting nodes. The minimum number of nodes is 2, which means the blade is a straight line. Between 2 nodes is a section, which is a 4-side polygon. The more nodes you have, the more closely the blade looks like the curve; but more nodes makes the .obj file larger (more polygons), and it takes more time to render all grass blades. If the grass is far away, 4 or 5 nodes is enough to make the blades look smooth. Moreover, each blade is automatically smoothed out, and so if you view a blade directly on the surface, the blade shall appear very smooth (even for a small number of nodes). Only when you view that blade by its side, the crooked shape will show itself. Illustration: The first blade has 5 nodes. When we view its surface, it appears very smooth. The second blade is the same blade, but it is viewed from the side. Notice the crooked shape formed by 5 nodes. The third blade uses the same curve, but this time it has 11 nodes. With so many nodes, it looks nearly as smooth as the curve. 4.2. Draw Pad: Below the button "Number of nodes" is the draw pad, where you will draw the width of the parent grass blade. The draw pad is divided into two zones. The left zone is where you draw the left width, and the right zone is for the right width. When you click on a node, it is highlighted as a red dot, which indicates that node is selected. Now, click elsewhere, and the selected node will move accordingly. 4.3. Button "Symmetric": If the button "Symmetric" is checked, then whatever you draw on the left zone shall get reflected on the right zone, and vice versa. 4.4. The Button "Same all": When you click "Same all", all nodes shall get the same length as the currently selected node. 4.5. Buttons "Align all": Click on button "Align all", and all nodes get into a line from top to bottom. 4.6. Buttons "= side", "= above", and "= below": If a selected node is selected on the left, when you click the button "= side", its left width shall get the value of the right width, and vice versa. When you click the button "= above", its left width shall get the value of the next above node's left width. When you click the button "= below", its left width shall get the value of the next below node's left width. 4.7. Variable Width: You draw a shape of a blade by click on the draw pad to set the left and right nodes. The shape you draw is a parent shape, which shall be cloned to create many blades. To make the blades look a bit different, you can let the node widths vibrate every time it gets cloned. To do this, enter a percentage on the box "v Width". For example, if you enter 10%, the widths of the nodes shall vary from 90% to 110% of the original widths. To see the effect, click the button "Random" repeatedly. Each time you click, a clone is produced and drawn. 4.8. Compound Leaves (c): You can create compound leaves by entering a number greater than 1 on the button "Compound leaves (c)". This number determines the number of branches a compound leaf has. Compound leaves are leaves that have a star shape, such as maple and sweetgum. If you only want simple leaves or simple grass, set the "Compound leaves (c)" number to 1. Illustration: These are two renders of a compound leaf of 7 branches. This compound leaf has an angle of 35 degrees, size change of -20%, and node of joint 2. The leaf in the middle has a node of split 6, and the leaf on the right has a node of split 4. Since the node of split on the right leaf is lower, the leaf branches appear to be torn off. 4.9. c Angle: (working with compound leaf only) This value sets the angle between 2 branches in a compound leaf. The unit is degrees. 4.10. c Size Change: (working with compound leaf only) This value (in percent) lets the successive branches in a compound leaf change their sizes. For example, if you enter a value of -20% here, each successive branch from the middle branch shall be smaller than the previous by 20%. 4.11. c Node of Joint: (working with compound leaf only) The button "Node of joint" sets the node where all branches shall converge in a compound leaf. The node of joint is drawn in the draw pad with blue color. 4.12. c Node of Split: (working with compound leaf only) This value sets the node where the branches of a compound leaf break away from the joint part. If you set the node of split very low, the branches will appear to be torn off from the joint part. The node of split is drawn in the draw pad with magenta color. 4.13. A Note to Compound Leaf: One curve is used to draw all branches in a compound leaf. Hence, you will see some similarity in appearance among the branches, if you set a large value for vZ in the Curve Dialog. The reason is that the curve is drawn in 3 dimensions. When you allow the control points to vary in z direction, the widths of all branches in a compound leaf will also vary accordingly. Usually, the result compound leaf may have a propeller shape. Illustration: On the left is a blade drawn by a curve with vZ = 0%. As you can guess, the curve stays flat on the YZ plane. Using this curve to draw a compound leaf would create something like the middle leaf. On the right, I use the same curve, but I set vZ to 10%, so the red control point of the curve swerves to negative z. The result is that all the branches of the compound leaf take this shape. 4.14. Section Change: You can change the lengths of the sections by sliding the button "Section change". For example, if you set -20%, each successive section shall be shorter than the previous section about 20 percent. If you set 15%, each successive section shall be longer than the previous section about 15 percent. 4.15. Node of 2nd Color Set: Usually, a grass blade has one color for the entire length. But when you want to create bloom-like grass, you can divide a grass blade into 2 parts, and each part will get a color of its own. The lower part will take colors from the first color set, and the upper part will take colors from the second color set. The button "Node of 2nd color set" defines which node is the start of the second color set. If you want the grass blade to get only one color, set "Node of 2nd color set" to the tip (equal to "Number of nodes"). Illustration: This grass shape is divided into 2 parts at the eighth node. The bottom part gets green colors from the first color set, and the top part gets purples and blues from the second color set. 4.16. Work with Rock: In most aspects, rocks are just like grass blades or leaves. There is a distinction in the structure of rock, however: The curves are used to build the dome of a rock, while the shape is used to make that rock's foot. 5. Button "Size, Rotate": Define the Size, Rotations, and Grouping of All Grass Blades We have provided randomness for the curve and the shape of the parent blade. In order to increase the realism of the grass, we need to provide randomness for size, rotations, and grouping of each cloned blade. Click on the button "Size, Rotate", and the Size-Rotate Dialog shall appear. 5.1. Variable Size: All grass blades derive their original lengths from "Grass 1 length" value on the left. "Grass 1 length" is the length of grass 1. The button "Variable size" in the Size-Rotate Dialog lets you set the varying amount in size of each cloned grass blade. For example, if you set 30%, all grass blades will vary their sizes from 70% to 130% in comparison to their original sizes. 5.2. Random Spin: Spin is the rotation around the Y axis. All grass blades are spinned randomly during the multiplying process. 5.3. Spin Start: The first button for spin is the start point. Start point is the angle direction a cloned blade's tip faces at its birth. 5.4. Spin Range: From the start point, a cloned blade will be spinned randomly within the range given by the second button. 5.5. Frequency: Not all blades are spinned in the given spin range. For example, if you set "Frequency" to 80%, eighty percent of the cloned blades are spinned within the given spin range, and the rest twenty percent are to be spinned randomly within the 360-degree range. 5.6. Random Lean: Beside spin, each grass blade may lean back and forth, left and right in a random manner. If looked from the front view, lean back and forth means rotation around the X axis, and lean left and right indicates rotation around the Z axis. You set the amount of lean by sliding the three "Random Lean" bars. 5.7. Min and Max Blades/Clump: When the grass blades get strewed, they can be strewed in clumps (in small groups). You will set the minimum and maximum numbers of blades per clump in the "Min blades/clump" and "Max blades/clump" boxes. If you set both to 1, the grass blades shall get scattered without clumps (actually with clumps, but each of them has only 1 blade). Illustration: The top rendering has both "Min blades/clump" and "Max blades/clump" set to 1. The bottom image has "Min blades/clump" = 4, and "Max blades/clump" = 7. 5.8. Twist Frequency: This button sets (in percent) the number of blades that are to be twisted. In nature, certain grass blades twist about 180 degrees as if to give both sides access to sunlight. You can get this behavior by setting the "Twist frequency". The number should depend on your visualization. Some plants such as daffodils have many (long) blades twisted, whereas other such as short leaves do not have twist. The amount of twist is random, ranging from 150 to 250 degrees in Grass. Illustration: The grass blades on the left are not twisted, while those on the right are. 6. Button Color: Define the Colors A powerful feature of Grass is the ability to generate a pool of colors, and then assign them to the cloned grass blades. The process is very easy. You select 3 main colors, and you define how many transition colors should be generated between 2 main colors. You have an option to make 2 color sets if you like. Click on the button "Color" lets you work with the Color Dialog. 6.1. Draw Pad: On top of the color dialog is the draw pad, where all real, ambient, diffuse, and specular colors in the pool are displayed. The first stripe is real, second ambient, third diffuse, and fourth specular. 6.2. Diffuse Color Box: Bellow the draw pad is the work area with groups of 4 color boxes. Within a group, the largest color box (the third box) is the diffuse color box. Click on diffuse box, and a dialog will appear to let you choose a diffuse color. Diffuse color is one of the main colors of an object (see Real Color Box for further details). Because tradition emphasizes on diffuse color, in Grass it has large box. 6.3. Ambient and Specular Color Boxes: Two smaller color boxes on the left and right of diffuse are the ambient and specular color boxes. Ambient is on the left, and specular on the right. Click on one of the box allows you to pick the color for that box. Ambient color is the glow color of an object (like the light color of a lantern, for example). Specular color is an object's shininess color (like the shine of a metal ball). 6.4. Real Color Box: Among the colors of an object, ambient and diffuse are very important for that object's appearance. Ambient can be called the minimum color of an object, because even in total darkness, the object still glows and emits the ambient color. Diffuse, on the other hand, can only show itself in the presence of light. If bright and white light rays shine on the surface of an object, that surface's real color shall be a sum of ambient and diffuse (sum of ambient's RGB and diffuse's RGB). For surfaces that don't get the light rays, ambient will display. And this is the basic lighting environment of 3D applications. Therefore, working with diffuse is not intuitive, since we often visualize objects by their real colors, instead of diffuse. In Grass you can work with the leftmost color boxes, which are the real color boxes. Real color can be called the maximum color an object emits under bright, white light. When you pick real colors, the diffuse boxes shall be adjusted automatically, and vice versa. Because ambient is the minimum color, you cannot choose a real color that is darker than ambient. If you choose a darker color, Grass will alert you with white flag. When you get the color-picking dialog for real color, look at the title bar, which displays the values of ambient's RGB. A real color must have its RGB values equal to or greater than these ambient's values. Note: Real colors are only approximated in Grass under a bright-and-white-light environment. Different rendering applications may show slightly different results. The final rendered colors depend on many factors such as light ray number, light ray intensity, light ray color, etc. Hence, adjust your real and ambient colors to different environments. 6.5. Transition: Next to the color boxes are the sliders "Transition", where you can define how many transit colors there are between two main colors. As you slide, the color pool will be redrawn to reflect the change. Note: Bryce tends to load an object faster, if that object has many colors. So if you have only a few colors for your plants, you should try to increase the transitions so that the object can load faster in Bryce. 6.6. Rainbow 1st and Rainbow 2nd: The 6 main colors are separated into 2 color pools. In the Shape Dialog, you have an option of "Node of 2nd color set". All nodes below this node shall use the colors in the 1st color set, and above it shall use colors from the 2nd color set. In Color Dialog, if you check the button "Rainbow 1st", one grass blade shall get a rainbow of colors from the first set. "Rainbow 2nd" works the same. If you do not check "Rainbow", then each blade will pick only one color. 6.7. The Underlined "R", "A", "D", "S", and "T": The underlined R, A, D, S, and T are next to the Real, Ambient, Diffuse, Specular, and Transition boxes on the first row. Click on the underlined R will set all Real boxes to the same color as the first Real box. Likewise, click on the underlined A, D, and S will set all Ambient, Diffuse, and Specular boxes to the same colors as the first Ambient, Diffuse, and Specular boxes. The underlined T works the same for the Transition sliders. 6.8. The Underlined "R=A", "A=R", and "S=R": Click on the underlined "R=A", and all real colors shall be set to the values of their respective ambient colors. Click on the underlined "A=R", and all ambient colors shall be set to the values of their respective real colors. Similarly, click on the underlined "S=R", and all specular colors shall be set to the values of real colors. 6.9. The Button "Save": When you click on this button, Grass will save all colors to a .mtl file. This file will set the materials for the grass object. Grass may ask you to supply a name for the object, before the .mtl file can be saved. 6.10. The Button "Reset": Click on this button to reset all colors to their default values. 6.11. Note for the .MTL File: The .obj standards say that materials for objects must be stored in a separate file for easy editing. This file is a text file that ends with .mtl (stands for material). You can open a .mtl file in any text editor to make changes. As you generate a grass object (consisting thousands of blades), Grass will prompt you to enter a file name for that object to be saved as a .obj file. The material file will then be saved as a .mtl file with the same name. Materials often have a complex structure such as colors (diffuse, ambient, specular, etc.), maps (such as transparency, reflection, bump, etc.), and other values (such as refraction, halo, metallicity, etc.). Because it is complex, material structure is often different from application to application. Each application may choose to implement only certain features and omit the rest. Due to these inconsistencies among 3D applications, Grass chooses to implement only the most basic features of materials, and those are diffuse color, ambient color, and specular color. If you open a .mtl file generated by Grass, you will see something similar to the following:
    newmtl  object_name_1
    Kd  0.4588  0.6627  0.3019
    Ka  0.5019  0.2509  0.2509
    Ks  0 0 0

    newmtl  object_name_2
    Kd  0.3372  0.5176  0.3137
    Ka  0.6273  0.3372  0.1568
    Ks  0 0 0
    ...
Each new material starts with a declaration line "newmtl name", where name is the name of the material. The material name is simply the object name plus a number. The diffuse color is denoted by the line "Kd value1 value2 value3", where value1 is red value, value2 green, and value3 blue. Note: The red, green, blue values are not based 0-255, but they are based on 0-1; hence, if value1 = 1, that means red = 255; if value2 = 0.5, green = 127.5; and if value3 = 0, blue = 0. Ka is for ambient, and Ks is specular. If you wish to manipulate the materials more finely, and if your 3D applications support more than diffuse, ambient, and specular, you can attach additional information to each color in the .mtl file. How to do this? Just type in the text box "More info" on the right. The contents of that text box will be added to every "newmtl name" command in the .mtl file. Most of the time you may not want to bother the "More info" box, since diffuse, ambient, and specular are ample already. Below are a few commands that you may occasionally want to add. Remember two things though: One command is one line, and commands in .mtl file are case sEnSitiVe. If you know more commands, please email me. Thank you. 6.11.a. .MTL File - d Command:
    d value
d command controls the dissolve factor of a material. In other words, d makes a material appear transparent, opaque, or semi-transparent. The value ranges from 0 to 1, of which 0 is perfectly transparent, and 1 is perfectly opaque. You may want to try this command. Go ahead, type "d 0.3" into the "More info" box and generate a grass object. After you render it, you will see the grass blades are somewhat transparent. Bryce supports d command, but it will set ambient to black (I do not know why). Poser does not support d, since transparency in Poser is more sophisticated (it differentiates transparencies of the object's body and the object's rim). 6.11.b. .MTL File - Ns Command:
    Ns value
Ns command controls the Phong specular component (or how big the shininess is). Note: Ks controls the color of shininess. The value of Ns varies wildly from application to application, sometimes it is 0-1000, other times 0-200, or 1-128 (Java), or 0-255. In Bryce, it ranges 0-255, and this Ns will go to the Specular Halo of the material editor. But it seems to me that in Bryce, only a large value (close to 255) can impose the effect. 6.11.c. .MTL File - Ni Command:
    Ni value
Ni sets the refraction index. Refraction means the bending of light when it travels from one medium (air, for example) to another (water, for example). The value is from 1 and up. 1 means no refraction. Bryce does not read this value. 6.11.d. .MTL File - illum Command:
    illum value
illum (stands for illuminate) controls the switches of diffuse, ambient, and specular. When value is 0, only diffuse is turned on. Value = 1 means both diffuse and ambient are on (specular is turned black). Value = 2 sets all three channels on. Again, implementation of illum may vary among applications. Bryce does not support illum. 6.11.e. .MTL File - Texture Commands:
    map_Kd file_name
    map_Ka file_name
    map_Ks file_name
    map_Bump file_name
    map_D file_name
    refl file_name
Twig does not use texture maps to dress the components. Instead, it uses only pure colors so that the object may work in all applications. But you may want to know the texture commands, and so I include them here. map_Kd, map_Ka, and map_Ks are the texture map commands of diffuse, ambient, and specular channels. file_name is the location of the image file. Bryce supports all these three commands. map_Bump controls the bump channel. Bump channel makes a object appear either smooth or bumpy. Bryce reads this command. But the image in file_name gets lost in the bump channel (the image shows up in diffuse and alpha channels, instead). map_D controls the transparency channel (dissolve factor). Bryce does not read this command. And refl is the command of the reflection map. This command is not supported by Bryce. 7. Button "Alpha": Define Where the Grass Grows After defining the grass curve, shape, size, and rotations, we need to define the areas on which the grass will grow. Click on button "Alpha", and a dialog shall appear and let you define the coverage area of the grass. 7.1. Cover Area XZ: At the bottom left, there are two boxes of "Cover area X" and "Cover area Z". These are the values that define the area on the plane XZ where the grass grows. You can look to your left at the box "Grass 1 length" and compare that length to the dimension of "Cover area". 7.2. Number of Blades: The box "Number of blades" determines how many grass blades will be cloned and strewed over the coverage area. Maximum value is 1,000,000. If you want more than this, create several grass objects. Note: If you enter a big number here, the .obj file will be very large. 7.3. Alpha Image: Within the Alpha Dialog, you will see a button "Load image..." on top left. Click on it allows you to load an image to the alpha image. This image will define which areas the grass grows densely or sparsely. You can use either a color or a gray image for alpha. If color, Grass will convert it to gray internally. Areas with light colors allow grass to grow more dense than areas with dark colors. Without a loaded image, alpha image is entirely white, which let grass grow anywhere. You can also clear a loaded image by clicking button "Clear". Alpha image is stretched internally to fit the "Cover area XZ" values; so you do not need an image with size proportional to "Cover area XZ". Illustration: The black & white image on the top is the alpha map used to make the grass grow in four circles. You can use a color image for alpha map as well. Grass will grow on light-color areas. 7.4. Note for Alpha Image: Images with little light-color areas will slow down the multiplying process, because Grass needs to look for one suitable spot to place one grass blade. This is how a spot is chosen: A spot is picked randomly within alpha image; Grass generates a random number; if that random number is less than the color value of that spot, the spot will be chosen to grow a grass blade; if not, another spot is picked randomly, and the process continues up to 10,000 times; if no spot is found, the grass blade will be placed anywhere within the coverage area. Illustration: The alpha image on the left has a small light-color area, and so it may take long to place all the grass blades in that area. On the left is another alpha image of the same light-color area, but in this case this area is much larger compared to the whole image. Hence, it would be faster to place grass blades in the second alpha image. 8. Button "Bump": Define the Altitudes of the Grass Blades Click on button "Bump", and a Bump Dialog shall appear and let you define the altitudes of the grass blades. 8.1. Bump Image: The button "Load image..." in Bump dialog works similarly to the Alpha's. When you load a bump image, that image will determine the height of each cloned blade. Blades grow high on light-color areas, and low on dark-color areas. You can use a color image, which will be converted to a gray image internally. Bump image is also stretched internally to fit the "Cover area XZ" values; hence, you do not need an alpha image and a bump image of the same size. Without a loaded image, bump image is entirely black, which places every grass blade on the ground. You can also clear a loaded image by clicking button "Clear". 8.2. Max Height: Bump image alone is not enough to define the altitudes of the grass blades. Each spot within the image has a value between 0 and 255 (between black and white). The "Max height" box sets the real highest-height value for the white spot. For example, if you set "Max height" to 10, when Grass encounters a white spot of 255 within bump image, Grass will raise a grass blade at that spot to a height of Y=10. If Grass encounters a gray spot of 50 in value, the grass blade at that spot is lifted to Y=1.96 (50/255x10). "Max height" can take a negative value, which will bump down the grass in bright-color areas, instead of up. If you want to create a valley of grass, enter a negative value for "Max height". Illustration: In this drawing of grass, I use the same alpha image that constrain grass to grow within four circles. Then I add a bump image (the gray picture on top), so that the grass gets bumped up from left to right. You can also use a color image for bump map. Grass will bump up in light-color areas. 8.3. Use Space: The check box "Use space", if checked, will let grass blades fly randomly from the ground to heights of bump image, or to "Max height" if bump is cleared. If you want to create autumn leaves, clear the bump image, set a suitable "Max height", and check "Use space": The leaves will fly all over the air from the ground to "Max height". You can also deploy "Use space" to create rain or snow. 9. Button "Create": Create the Grass Object So, you have defined the parent grass blade, the coverage area, and the colors, the final step is to create the grass object file. Click on the button "Create", and a Create Dialog shall display. 9.1. File Name for Grass OBJ...: Click on this line, and a dialog will appear to let you select the file name for the .obj file. Or you can click on the box and type the file name directly. 9.2. Create Grass and Save as OBJ: Click on this button, and Grass will create the grass blades and write them to the .obj file. Color information is written to a .mtl file of the same name. And settings of Grass is saved in a .grass file. Note: When Grass is creating the .obj file, if you want to stop the creation, click the button "Cancel". 9.3. Disk Space Limit: This box sets the maximum size in disk space a grass object can get. "Disk space limit" is very important in preventing oversized objects, and therefore it has a red font as a reminder. When the writing of a grass object meets or exceeds this quota, Grass shall stop the writing, and the result is a grass object smaller than you would have expected. Maximum value is 2,000 MB or 2 GB. You can achieve a larger object by creating several smaller objects. 9.4. Save Colors Only: If you are not pleased with the colors of your grass, you can create another color pool, and then click on this button. The new color pool will then be written over the old color pool. Color pool is saved in the .mtl file. This button works the same as the button "Save" in Color Dialog. After you save a new color pool, reload your object. Remember to move the file .mtl too, when you move the file .obj from one location to another. 9.5. Save Settings: You can save the current settings of Grass to a text file by clicking on the button "Save settings". You can open that text file using any word processor and manipulate its values. The settings file has the same name as the .obj file, but it ends with .grass. 9.6. Button "Copy": Click on this button, and the settings is saved into the computer's clipboard. You can paste the settings text to any text editor. 9.7. Button "Paste": If there is a settings text in the computer's clipboard, you can paste that text to Grass by clicking this button. All settings in Grass shall be set to the description of that text. 9.8. Open Settings...: Click on this button, locate a settings file (ends with .grass), and click "Open". Grass will be set to the settings described in that file. A note for Alpha and Bump: When opening a settings file, Grass will load the alpha and bump images with full path name and file name. If those images are not found, Grass will attempt to load alpha and bump images on the same directory of the settings file. If those images are still not found, alpha and bump images are set to empty. Therefore, you should move the alpha and bump images when you move the .grass file. 9.9. Default Settings: Click on this button, and Grass is reset to the default settings. 9.10. Button "Turn on the Help Balloons": If you check this button, every button within the software will get a popup help balloon. When you move the mouse over a button, the balloon will display a brief description about that particular button. 9.11. The Box "Note": Below the button "Disk space limit" is a text box (you wouldn't see its border). This text box is used for displaying notes and comments. You can write anything in this box such as your signature and copyright notice. The information in this box shall be written to the .obj object file and the .grass settings file. Bantam3D Home | Bantam3D Grass | Full Details and Help Copyright © 2002 by Bantam3D