User Tools

Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
hand_drawing [2017/10/18 16:07]
scruggs
hand_drawing [2017/10/18 16:18] (current)
sechrest
Line 1: Line 1:
 ====== Hand Drawing ====== ====== Hand Drawing ======
-  +Branches ​can be drawn by hand using the mouse or a tablet device.  After they are drawn they can be manipulated as Bézier splines and even extended by another hand drawing operation. ​ Hand drawn branches can originate from Tree node (the disk on the ground) or any other branch node (hand drawn or not).  Procedural generators can be added to hand drawn generators, allowing you to be specific where you need to be and still get the benefits of procedural geometry to fill in the details.
-Spines ​can be hand drawn with a tablet device ​or mouse, then manipulated as a Bezier spline.+
  
-===== Overview =====+>​**Note:​** Hand drawing has changed for SpeedTree 8 to reduce misplaced branches and allow for better draw plane manipulation.
  
-{{ :​hand-drawing.jpg?​nolink |}}\\ +===== How to Hand Draw a Branch ===== 
-Hand drawing enables the user to freehand draw any desired branch ​with a tablet device or mouse, then freely manipulate the generated control points to ensure exactness. You can even grow procedural content off of the hand-drawn branches. By combining ​hand drawing ​with procedural tools, we've given you the ability to be precise where you need to be and procedural where you don't.+Follow these steps to get started ​with hand drawing.
  
-==== Hand Drawn vsProcedurally Generated ====+  * Make a new scene using the "​Blank"​ tree template. 
 +  * Hold "​Space"​ and click anywhere on the Tree node disk to place a stub.  Your scene should look like the following image at this point. Notice the hand drawing indicator on the new generator.
  
-There are a few differences to note when hand drawing branches\\ +{{ ::​hand_draw_1.jpg?nolink |}}
-  * **"​Generation"​ Parameters do not apply to hand drawn branches.** Each node in a hand drawn generator is added manually instead. Unfortunately,​ this means that if you unlink a hand drawn generator, the nodes will no longer be present when it is relinked.\\+
  
-  * **Bifurcation is disabled for hand drawn branches.** This feature is not currently compatible with hand drawn elements.\\+  * Hold "​Space"​ and hover over the stub A white diamond should appear at the end like this:
  
-  * **Forces and perturbance affect hand drawing.** If any forces or disturbance are enabled on a hand drawn generator, the resulting branch may appear "​pulled off" the line while drawing.((When toggling hand drawing, forces and perturbance are automatically disabled for this reason.))+{{ ::​hand_draw_2.jpg?nolink |}}
  
-  * **Hand Drawn splines are manipulated via control points.** Instead of relying on the spine properties alone to define ​branch ​shapes, hand drawn lines are converted to Bezier curves with control pointsEnter node selection mode to reveal the control points and freely manipulate either the points themselves or the associated handles.\\+  * While holding "​Space",​ click and drag the diamond ​to draw the branch. ​Release the left button ​to complete ​the action.
  
-  * **Hand Drawn generators can be saved as templates.** Templates can be loaded, saved, and pasted into hand drawn generators. See the Working with Hand Drawn Generators section for more info.\\ +{{ ::​hand_draw_3.jpg?nolink |}}
-\\+
  
-----+  * Hold "​Space"​ again and click the trunk in several places to create new stubs. ​ Feel free to rotate the camera around the model to get the stubs where you want them.  The stubs will start where you click and point toward the camera. ​ Notice that a new generator is made to house these stubs, again with the hand drawing icon.
  
-===== The Hand Drawing Process =====+{{ ::​hand_draw_4.jpg?​nolink |}}
  
-Follow these steps to get started with hand drawing:+  * As before, Hold "​Space"​ and hover over any stub or hand drawn branch to reveal the white diamond. ​ Click and drag each diamond while holding space to draw the branches.
  
-1. Load an existing tree, or create a new tree and set up at least a single bark material. Our library includes several example hand drawing rigs. Individual trees can be purchased online.+{{ ::​hand_draw_5.jpg?nolink |}}
  
-{{ :hand-drawn-examples.jpg?nolink |}}+  * Finally, right-click the Branches generator and select "Add geometry to selected->​Bifurcating branches"​ to add some procedural geometry to the model.
  
-^ Example trees already riggeded for hand drawingBeach Palm (sample tree)Bonsai, Headless Horseman, Hand Drawn Jeffery Pine, Dragon. ^||+{{ ::​hand_draw_6.jpg?​nolink ​|Unordered List Item}}
  
-2Align the camera ​to a suitable drawing angle. When you start drawinga 2D plane perpendicular ​to the current view is used as the canvas (You'​ll have to add three dimensional depth later by manipulating control points).+Continue by adding more stubs to the ground or any branches (hand drawn or procedural)You can draw part of the stub, rotate ​the camera, ​and continue drawing it to change ​the direction of the branch.
  
-3. Hold down the SPACEBAR on the keyboard to enter hand drawing mode. You will notice ​the cursor change from the default cursor to a crosshair.+===== Editing ​the Spine of an Existing Hand Drawn Branch ===== 
 +Switch to node editing mode and select ​the hand drawn branch You should see a series of control points for the spine as pictured below.
  
-^ If using a tablet device (such as a Wacom® tablet) to draw branches, the spacebar key can be mapped to any of the buttons on the pen component of the tabletSet the tablet properties in the Windows® Control Panel to enable key mapping for the SpeedTree Modeler. ^||+{{ ::​control_point_1.jpg?​nolink ​|}}
  
-4. Press down on the tablet device (or hold down the left mouse button) with the crosshair inside the tree radius ​to start drawing ​new trunk.+Click and drag any of the control points ​to move them.  Alternatively,​ you can select ​control point and use the standard gizmo to move them ​Control points have a number of options to aid in spine editing:
  
-5. Move the crosshair around in screen space to draw the lineAs the line is drawn, 3D branch geometry is created and updated as the drawing progresses.+^Style | Choose from "​Linear,"​ "​Smooth,"​ and "​Corner" ​to control ​the nature of the spine through the point.
 +^Select | Use these options to modify which control points are selected. ​ Using "​Select:​To End" and then using the Rotate gizmo is a good way to quickly rotate the spine.| 
 +^Add Control Point | Use these options to add a new point before or after the selected point.|
  
-6. Lift up the pen (or release the left mouse button) ​to finish drawing ​the lineYour hand drawn branch should remain ​in view after drawing.+It is also possible ​to change how many control points are on the branch all at once On every hand drawn generator, a "Hand Drawn" property group exists with two sets of identical functions; Curve fit and Control point style. The options ​in the "​New"​ group affect only nodes that are created ​after changing these values. The options in the "​Resample"​ group affect all existing nodes in the generator. Use the options in the "​Resample"​ group if the density of control points is either too high or too low.
  
-{{ :hand-drawing_thumbs.jpg?nolink |}}+>**Note:** The "​Resample"​ group exists as node properties as well. Entering node selection mode will allow you to resample a single ​hand drawn spline without resampling the entire generator.
  
-7. If no material is applied, drag the bark material onto the trunk. If you are drawing a branch off of an existing trunk, the material will be inherited from the parent.+=== Curve Fit ===
  
-8. Draw branch off of the trunk by holding spacebar and mousing over the trunkThe trunk should receive a white outlinesignifying ​that it is a valid hand drawing canvas.+Curve fit is scalar for the number ​of control points used to create ​the spline. A value of 1 results in an accurate spline that may have many control points based on the speed of drawing and other factorsValues less than 0.5 become inaccuratebut have control points ​that are easier to work with (since each branch ​is composed of only few control points). If using a low curve fit value, set the control point style to "​Corner"​ to ensure the best accuracy with only a few points. You can always resample or add more control points later if necessary.
  
-9. Enter node selection mode, then click anywhere on the hand drawn branch to reveal the computed control points (the hand drawn line is converted into a Bezier spline after the line is drawn. To learn how to fine tune the control points, see the control point options section). Use the Node Manipulator to adjust the rotation angles, position, or size scale of the entire branch.+=== Control Point Style ===
  
-10. Select a generated ​control point or handle, ​then freely rotate or translate ​the point off of the 2D plane it was drawn in to give the spine more depthIt is often easier ​to use screen-space manipulation ​with control pointsaccessed by click+dragging instead of simply selecting a point before manipulating it\\ +Controls points are generated ​in either a corner, linear, ​or smooth style. Both linear and smooth control points have linear handles (each handle ​points 180° away from its counterpart)but smooth control points have the extra limitation that they must be of the same lengthSmooth ​is best suited for flowing branches without sharp jinks, since jinks are hard to reproduce ​with equidistantlinear points.
-\\+
  
-----+{{ ::control-point-types.jpg?​nolink |}}
  
-===== Toggling Hand Drawing ===== 
  
-{{:toggle-hand-drawn.png?nolink |}}+===== Converting Procedural Branches to Hand Drawing ===== 
 +It is possible to convert procedural branches to hand drawn branches (but not the other way around). ​ The entire generator will be converted so be careful. ​ Converting 100,000 twigs on a VFX model to hand drawn branches would likely be prohibitively slow to compute.
  
-Starting with version 6.0, all spines can be toggled to and from hand drawn. Press the Toggle hand drawn button found in the "Hand Drawn" ​property group of any spine generator or node to convert. Please keep in mind the following points:+Use either ​the "Convert to Hand Drawn" ​button on the generator or the "Hand Drawing->​Convert ​to hand drawn" option ​in the [[toolgeneration_editor|Generation Editor]] menu to make the conversion.
  
-  * Allow forces and Perturbance are automatically disabled when converting to hand drawn, and are automatically enabled when converting from hand drawn. +===== Working With Hand Drawn Generators ​in the Generation Editor ​===== 
- +Complex ​hand drawn models may require extensive work in the Generation Editor to ensure ​that branches ​are drawn into the correct ​generator. ​ ​Please use the following guidelines ​to predict and control the hand drawing ​workflow.
-  * Converted spines may shift slightly during the process. +
-  +
-  * Bifurcation will be removed when converting to hand drawn, but will be recovered when converting from.\\ +
-\\ +
- +
----- +
- +
-===== Control Point Options ===== +
- +
-==== Changing The Number of Control Points ==== +
- +
-When a hand drawn line is completed, it is converted into a Bezier spline. There are options for either more precise lines (with a lot of control points to manage) or for a more manageable set of control points (with less precision). ​Hand drawn splines can be resampled after drawing as well. +
- +
-==== Spacing ==== +
- +
-Housed ​in the Tree Window Properties, Spacing style defines the minimum distance allowed between neighboring control points. The computed distance between control points is influenced by the speed at which the line is drawn as well as the tightness of the angles being drawn. However, a minimum distance is necessary to prevent the piling up of points in small areas. Spacing can either be in absolute world units, or in relative units (relative to the parent node's length). Relative units are more suitable for trees with largely varying branch or trunk lengths. +
- +
-==== "​New"​ vs. "​Resample"​ Options ​==== +
- +
-On every hand drawn generator, a "Hand Drawn" property group exists with two sets of identical functions; Curve fit and Control point style. The options ​in the "​New"​ group affect only nodes that are created after changing these values. The options in the "​Resample"​ group affect all existing nodes in the generator. Use the options in the "​Resample"​ group if the density of control points is either too high or too low. +
- +
-^ The "​Resample"​ group exists as node properties as well. Entering node selection mode will allow you to resample a single hand drawn spline without resampling ​the entire ​generator. ​^|| +
- +
-==== Curve Fit ==== +
- +
-Curve fit is a scalar for the number of control points used to create the spline. A value of 1 results in an accurate spline that may have many control ​points based on the speed of drawing ​and other factorsValues less than 0.5 become inaccurate, but have control points that are easier to work with (since each branch is composed of only a few control points). If using a low curve fit value, set the control point style to "​Corner"​ to ensure the best accuracy with only a few points. You can always resample or add more control points later if necessary. +
- +
-==== Control Point Style ==== +
- +
-Controls points are generated in either a corner, linear, or smooth Control point style. Both linear and smooth control points have linear handles (each handle points 180° away from its counterpart),​ but smooth control points have the extra limitation that they must be of the same length. Smooth is best suited for flowing branches without sharp jinks, since jinks are hard to reproduce with equidistant,​ linear points. +
- +
-{{ :​control-point-types.jpg?​nolink |}} +
- +
----- +
- +
-===== Working With Hand Drawn Generators =====+
  
 ==== New Branches ==== ==== New Branches ====
Line 112: Line 76:
 2. If a hand drawn generator is present, new hand drawn branches will be put into that generator. 2. If a hand drawn generator is present, new hand drawn branches will be put into that generator.
  
-3. If more than one hand drawn generators are linked from the parent node, one of the hand drawn generators must be designated as the "hand drawn target"​ in order to receive new branches (see this section below for more). ​+3. If more than one hand drawn generator is linked from the parent node, one of the hand drawn generators must be designated as the "hand drawn target"​ in order to receive new branches (see this section below for more). ​
  
-**Hand Drawn Templates**\\ +Like all other generators, hand drawn generators can be saved off and loaded as template (STT) files. When a hand drawn template is loaded in the [[toolgeneration_editor|Generation Editor]], it is signified by a "​drawing hand" icon overlay in the bottom right-hand corner of the generator icon.
-Like all other generators, hand drawn generators can be saved off and loaded as template (STT) files. When a hand drawn template is loaded in the Generation Editor, it is signified by a "​drawing hand" icon overlay in the bottom right-hand corner of the generator icon.+
  
- +>**Note**: Hand drawn templates can be used effectively by linking an entire tree together (i.e. a trunk, level 1, and level 2 branches) made completely of hand drawn templates before drawing a single branch. ​
-**Stacking Templates**: Hand drawn templates can be used effectively by linking an entire tree together (i.e. a trunk, level 1, and level 2 branches) made completely of hand drawn templates before drawing a single branch. ​^||+
  
 ==== Paste Into ==== ==== Paste Into ====
  
-"Paste into", accessed via the right-click menu of a selected icon in the Generation Editor, will paste a copied generator'​s contents into another generator – even after nodes have been drawn. It will paste all of the properties except for the generation components. This is useful for quickly replacing the settings in a hand drawn generator after branches have already been drawn. It is also great to use when there are node edits on child branches that you don't want to unlink and lose.+"Paste into," ​accessed via the right-click menu of a selected icon in the Generation Editor, will paste a copied generator'​s contents into another generator – even after nodes have been drawn. It will paste all of the properties except for the generation components. This is useful for quickly replacing the settings in a hand drawn generator after branches have already been drawn. It is also great to use when there are node edits on child branches that you don't want to unlink and lose.
  
 ==== Copying and Pasting Hand Drawn Generators ==== ==== Copying and Pasting Hand Drawn Generators ====
Line 130: Line 92:
 ==== Resetting a Hand Drawn Generator ==== ==== Resetting a Hand Drawn Generator ====
  
-Pressing the "Reset" button while selecting a hand drawn generator will only remove the node edits from the hand drawn nodes. To remove all hand drawn branches without ​unlinking/​relinking, select ​the link before a hand drawn generator and press the "​Reset"​ button instead, or breaking the link and relinking ​the generator ​will work too.+Using "Clear node edits" in the Generation Editor menu or unlinking/​relinking the generator will reset its contents. ​ After either of these operations there will be no hand drawn branches in the generator ​until you place new stubs.
  
 ==== Hand Drawn Targets ==== ==== Hand Drawn Targets ====
-{{:​generator_target.png?​nolink&​50 |}} +The first hand drawn generator created in a branch level is automatically the designated "​target"​. The target is indicated with a checkmark ('​√'​) next to the hand drawn icon overlay. However, the target can be manually turned off via the "Hand Drawing->​Draw into selected"​ option in the Generation Editor ​right-click menu. Once the target has been disabled for a branch level, a new hand drawn generator will be created the next time new branches are drawn on that level. The target can also be moved between existing hand drawn generators, but only a single target is allowed per shared parent at any given time.
-The first hand drawn generator created in a branch level is automatically the designated "​target"​. The target is indicated with a checkmark ('​√'​) next to the hand drawn icon overlay. However, the target can be manually turned off via the '​√'​ button on the Generation Editor ​toolbar. Once the target has been disabled for a branch level, a new hand drawn generator will be created the next time new branches are drawn on that level. The target can also be moved between existing hand drawn generators, but only a single target is allowed per shared parent at any given time.+
  
 ==== Locking Hand Drawn Sources ==== ==== Locking Hand Drawn Sources ====
 +Occasionally you may want to "​lock"​ a generator so that hand drawn branches cannot be generated as children. This may be true with a complex tree where it is difficult to tell which generator a particular branch belongs to. By locking a generator ("Hand drawing->​Toggle lock on selected"​ in the Generation Editor right-click menu), hand drawing new children will be prohibited off of it.
 +
 +===== Best Practices =====
 +The following list outlines a few things to keep in mind when hand drawing branches.
 +
 +  * The "​Spine:​Noise:​Late"​ noise works on hand drawn branches. ​ Use this to your advantage! ​ Keep your branch drawing smooth and simple and use noise to rough them up.  It's a good idea to use the "​Round"​ preset on the noise profile so that the beginning and end of the branch are right where you put them.
 +  * All of the skinning properties still work procedurally. ​ Radius, displacement,​ welding, etc. are all manipulated in the same manner as regular branches.
 +  * Forces work...if you allow them!  They will, however, pull the branch off of the drawn spline.
 +  * You can move the start position and angle using the [[toolart_director|Art Director]] gizmo handles. ​ You can also manipulate the properties directly.
 +  * Hand drawn branches work in the subdivision surface system.
 +
  
-{{:​generator_not_hand_drawn_source.png?​nolink&​30 |}}Occasionally you may want to "​lock"​ a generator so that hand drawn branches cannot be generated as children. This may be with a complex tree where it is difficult to tell which generator a particular branch belongs to. By locking a generator (toggling the lock and key icon on the Generation Editor toolbar), hand drawing new children will be prohibited off of it.