InkTree TrInk Quick Start Guide
by Aline Normoyle & Nancy Tsang

TrInk is short for "Tree Ink", which describes our Maya Plugin for 
autogenerating 3D branching plant models from 2D source images and rendering them in an eastern ink painterly style.  Our plug-in combines two sets of functionality that can be used either individually or together, based on the work from the two SIGGRAPH papers below:
Downloading TrInk

TrInk currently lacks the polish to be a truly good out-of-the-box tool; however, if you're curious to try it, you can obtain the standalone TrInk plugin for Maya 8.5 here.

Installing TrInk

TrInk consists of the
To install TrInk, open Maya's plug-in manager dialog under Windows -> Settings/Preferences -> Plug-in Manager, click Browse, and then select TrInk.mll.  After installation, the TrInk menu should appear on the top menu bar.

Tree Creation: Getting Started

To create a tree with simple geometry, select "Create tree..." from the TrInk menu.  We can use the default settings to start, but because TrInk generates trees from source images, it's necessary to give TrInk a source image to guide the tree generation.  We'll talk more about how to create these images below, but let's start by browsing for one of the default images, such as "tree1.png", from the TrInk plug-in directory.  Now click the "Create" button.  After about 30 seconds, the created tree will appear in the scene.

Creating source images

Neubert et al.'s paper guided users in the preprocessing of photographs into source images for the tree generation algorithm.  This plugin assumes that images have already been preprocessed and will autoarrange the images inside a 3D bounding box before running the tree generation algorithm.  Source images should be non-transparent in areas containing tree branches.  The density of branches is  proportional to the opacities in the original images.  Optionally, main branches should be drawn over the density estimates with red lines. The red lines will guide the creation of the main branches and should be specified for best results.  These red lines must connect to be read in properly.  Some example source images appear below:

Bonsai Source Img tree1 source img Deer Source Img

If the user specifies a single source file (or 3 source files), it will be arranged 3-dimensionally at 60 degree angles, producing a very symmetrical, circular tree.  If two images are specified, the images will be placed at a 90 degree angle.  In all cases, the images are aligned at their centers, for example,

bonsai-srcImgs.bmp tree1-srcImgs.bmp deer-srcImgs.bmp

Tree creation parameters

In this section, we discuss the tree creation parameters in the tree panel:


Ink Stroke Creation: Getting Started

The ink rendering feature allows the user to render NURBS curves as ink strokes. The user has the option of creating curves manually and assigning ink properties to each curve, or automatically generating curves shaped like branching plants and assigning ink values at creation time. In either case, ink properties can be changed or removed at any time.

Assigning Ink to NURBS curves

TrInk can render any NURBS curve as an ink stroke.  To get started, simple create a a NURBS curve with the CV tool, and associate it with an ink stroke via the TrInk menu.

To create a NURBS curve:
1. Go to Menu->Create->CV Curve Tool, your cursor should now look like a crosshair
2. Click anywhere on the screen. NURBS curves require at least four knots (clicks) to create a complete curve. When a curve has been generated, it will be represented by a blue/white line. Hit Enter to complete the curve.

Below, we show a set of NURBS curve representing a chinese character:

chinese curves in maya

To create ink strokes:
1. Select the desired curves.
2. Go to Menu->TrInk->Create ink strokes...
3. Select "Create".  All curves should now be attached to an InkStrokeNode.
4. Press the "render" tool button, or select "Render current frame" from the render menu to see the brush stroke.  For example, the curves above give the following result.

This rendered image involved changing pressure schemes on various curves and brush sizes:

chinese ink stroke rendering

Ink Stroke parameters

In this section, we discuss the ink stroke creation parameters in the ink stroke panel:

Editing Ink Strokes

For any curve attached to an InkStrokeNode, opening up the channel editor should reveal the node attribute below the normal transformation channels. You can change parameters by clicking  on the node and revealing the parameters in the channel editor. The channel editor allows for multiple curves to be updated with a particular parameter at once.

You can also select a single curve and adjust parameters in the attribute editor.

Notes: The maximum Flow Spread of all the ink nodes will be used as the number of iterations for the simulation.

Rendering generated trees with ink strokes

TrInk allows the tree generation and ink features to be used together (with identical parameters):

  1. Go to Menu->TrInk->Create ink tree...
  2. Adjust to desired values
  3. Hit "Create"

Known problems and limitations

TrInk has a few known problems and limitations, listed below: