Professional Documents
Culture Documents
FurGen is a fur plug-in for Rhino which allows for easy and quick generation of
fur-like meshes for the purpose of visualization. The geometry created by the
FurGen plug-in can be used to add realisim to materials such as fur, grass, rugs,
cloth, towels, velcro, and many others.
Installation
Command List
Introduction
Command Descriptions
•frSetUp
•frDisplay
•frResolve
•frBakeState
Workflow
•Baking and Managing Baked Objects
•Minimizing Poly Counts
•Utilizing Textures
•Strand Bending and UVs
•Saving Fur Data
FurGen
Installation
F
The zip file contains three (3) files; FurGen.rhp, FurGen.tb, and this file FurGenManual.pdf.
Unzip the file and place the FurGen.rhp file in a folder where it will not be disturbed. The
suggested location would be to place it into the Rhino Plug-ins folder, which under a typical
windows installation is in C:\Program Files\Rhinoceros 4.0\Plug-ins. After placing
the FurGen.rhp file in a safe location you can either drag and drop the plug-in on a running
instance of Rhino to load the plug-in or install it by running the PluginManager command,
choosing Install from the bottom of the dialog, and finding the FurGen.rhp file.
To install the toolbar, first put the FurGen.tb file in a folder where it will not be disturbed.
You can put this along with the FurGen.rhp or you can place it in the folder with all of the
default Rhino toolbars, which can be found under C:\Documents and Settings\All
Users\Application Data\McNeel\Rhinoceros\4.0 in a typical XP installation or C:\
ProgramData\McNeel\Rhinoceros\4.0 in a typical Vista/Windows 7 installation. Note
that both the Application Data and ProgramData folders are hidden. After placing the FurGen.
tb file in a safe location, run the Toolbar command, choose File > Open, then navigate to the
location of the toolbar file.
Command List
FurGen
• Prints plug-in information to command line
frSetUp
• Create or modify a fur setup
frDisplay
• Turn off or on the fur display for an object
frBake
• Adds the geometry for a fur setup to the document
frResolve
• Resolves the fur setup on an object that has been modified
frBakeState
• Set whether a fur setup will be baked or not
frRename
• Rename a give fur setup
frDelete
• Delete a given fur setup
frSaveFurData
• Save fur data for all fur objects in the scene
frLoadFurData
• Load fur data from previously saved file
FurGen
Introduction
FurGen has been designed to make creation of fur as easy as possible and to provide as much
feedback, information, and usable geometry. It helps to know just a little bit about FurGen to
get started.
The first step is to create a fur setup on an object. A fur setup is a collection of all the
information and parameters needed to create fur. The two identifying components of each fur
setup is the Rhino object and the name of the setup. There can be multiple setups on a single
Rhino object, but each must have a different name. Two different Rhino objects can each
have a fur setup with the same name.
FurGen then goes through a three (3) step process to create the final geometry; base points
on the object, polylines (strands) from those base points, then a mesh around each of
those polylines. Each of these three components are controlled by a different collection of
parameters, and you can add any of these three types of geometry to the Rhino document.
All together, creating all three of these different sets of geometry each and every time a
modification is made can take a bit of time, so FurGen will do two things to keep this as
speedy as possible. First, FurGen will reuse as much information as possible. This means that
if all you change is a mesh parameter, then the points and strands will be reused. Second,
FurGen only regenerates points and strands when modifications are made. Meshes are added
explicitly through the frBake command.
Since FurGen doesn’t recalculate the mesh with every modification and you must explicitly add
the fur mesh to the document, it can be hard to keep track of changes made to the fur. Not to
mention that fur meshes can potentially slow down the viewport. This is where the fur display
comes in. The fur display is automatically enabled whenever the Fur Setup interface is active
for the fur setup that is being modified, but its possible to enable the display at anytime on a
per object basis. This can help keep track of the fur setups that have been created without
adding heavy geometry to the scene.
Now that we’ve got the basics down, you can begin to play, explore, or read on to find out
more of the specifics.
FurGen
frSetup
F
Quick Icons
The icons at the top of the Fur SetUp Interface
are meant to allow access to quick utilities without
having to run a separate command. From left to
right here’s what each button does.
Point Settings
The number of points created is controlled by the
Density of points, expressed as point per square
unit. This allows for objects of different size to
achieve the same affect easily. Below the Density
input is the display of the area of the object as
well as the number of points currently created.
frDisplay
The frDisplay command will enable the display for
all of the fur setups that have their bake states
set to active for a given Rhino object. In order to
prevent the display from slowing down the Rhino
viewport, the display will only display a quarter
of the strands and up to 500 strands. The color
of the strands will indicate whether the fur data
is connected with its base object, in a conflicted
Green strands indicate that the fur is connected
state, or if the base object has been deleted. with its base object
frResolve
At some point after creating fur on a Rhino object
you might need to move or modify that object.
When this happens, the calculated fur data
doesn’t match the current geometry or settings of
the Rhino object and is therefore in a conflicted
state. You can tell if the fur setup is conflicted
by turning on the display for that object. Strands Red strands indicate that the fur is in a
that appear in green are currently connected with conflicted state with its base object
the Rhino object. Strands that are a deep red are
in a conflicted state. Strands that are displayed in
purple have had their base object deleted.
Once you’ve added your fur objects to the document, you might want to take extra care while
working with them. Most meshes that generated by FurGen are quite dense, so having them
visible within the document might slow down your Rhino viewport. It is recommended to use
the frDisplay command to see the strands of your fur setup while working in the document,
and only bake the mesh when its time to render.
After you’ve rendered, you may not have any need for the fur mesh until the next round of
renderings that you need to do. Hiding the mesh or putting it on its own hidden layer are
two options so that it doesn’t slow down your work. Another option is to delete the mesh
all together. As long as you do not modify the object or the fur setup, then FurGen will keep
the calculated mesh in memory, and it will be available to quickly add again through frBake
command.
FurGen
Minimizing Poly Counts
Its important to be mindful of the density of the meshes that FurGen creates. FurGen
can easily create extremely dense meshes with millions of polygons. These meshes have
the potential to slow down Rhino, increase render times, and potentially cause crashes.
Minimizing the poly count whenever possible will ensure that the meshes FurGen creates don’t
bog down the rest of your work with Rhino.
The first parameter to keep track of is the density of the fur setup. This will determine
the number of points that are created. The current number of active points is display just
underneath the density control in the Fur Setup interface. This number will turn bold and red
when the number of points that have been created is getting fairly high. Using the smallest
density possible to achieve the desired effect will keep the number of points created in check.
The number of segments that are used for the strands is the second aspect of the fur setup
that will influence the poly count. This setting will control the smoothness of the polyline
used for each strand. Although it is tempting to set this number higher so that the result is
very smooth, the end result typically is not all that distinguishable from the default setting of
6 segments. If your setup has fairly low gravity values, then you may be able to decrease the
segments without any significant loss in smoothness.
Utilizing Textures
It is possible to use texture maps to control the
length, gravity, and normal parameters. Textures Base texture
must be a jpeg, png, bmp, gif, or tiff. When using
length or gravity textures, the image must be a
grayscale image. The minimum length or gravity
value will be used for the black points of the
image, and the maximum length or gravity value
will be used for the white points of the image.
Note that “minimum” and “maximum” length or
gravity is not enforced, so it is possible to have a
higher minimum gravity than maximum gravity. Length Map
There is no problem with this and can effectively Min = 1
allow you to flip the white and black points of the Max = 5
image if you choose.
al
Constant
m
amount of gravity basically dictates the angle
or
N
of the last segment of the strand. So a gravity
value of 0 would not change the strand from its Grav = 0.5
normal direction, a value of 1 would have the last
segment be pointing straight down, and a value of
0.5 would have the last segment at an angle that
is halfway between the normal and the negative Z Times2
Power2
direction.
al
Constant
m
or
N
There are 3 different bending types that dictate
how the strand bends from the initial direction of
the normal to the final direction as dictated by the
amount of gravity. The simplest type is Constant,
which will rotate each segment evenly between
the initial and final directions. This results in a
very even curl from the beginning to the end
of the segment. The most natural looking type Grav = 1
is Times2, which is also the default type. Each
segment bends twice as much as the segment
after it, which results in a strand that has more Object with
bend at the beginning of the strand then at the Diffuse Texture
end. The last type is Power2. This type has
dramatically more bending at the beginning of
the strand than at the end, so the result is most
similar to wet hair.
When it comes to saving Rhino files, you will want to be mindful of whether you have added
any FurGen created geometry to the document. Just as the amount of geometry created has
the potential to slow down the display or working with Rhino, it also has the potential to make
saved Rhino files unnecessarily large. This is exceptionally true with any dense meshes that
have been added to the document. The recommendation is to save out the fur data using the
frSaveFurData command and then delete any baked geometry that you have in the document.
Upon reopening the Rhino document, load the fur data with the frLoadFurData command and
recalculate any fur geometry that is needed. The reason for this recommendation is to keep
the file sizes as manageable as possible.