Gettingstarted Maya Unlimited 2009
Gettingstarted Maya Unlimited 2009
Copyright Notice
© 2008 Autodesk, Inc. All rights reserved. Except as otherwise permitted by Autodesk, Inc., this publication, or parts thereof, may not be
reproduced in any form, by any method, for any purpose.Certain materials included in this publication are reprinted with the permission of the
copyright holder.Portions relating to Graph Layout Toolkit © Copyright 1992-2003 Tom Sawyer Software, Berkeley, California. All rights reserved.
Portions relating to TIFF © Copyright 1988-1997 Sam Leffler. © Copyright 1991-1997 Silicon Graphics, Inc. All rights reserved. Permissions to
use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that (i) the
above copyright notices and this permission notice appear in all copies of the software and related documentation, and (ii) the names of Sam
Leffler and Silicon Graphics may not be used in any advertising or publicity relating to the software without the specific, prior written permission
of Sam Leffler and Silicon Graphics.
THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT
LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SAM LEFFLER OR SILICON
GRAPHICS BE LIABLE FOR ANY SPECIAL, INCIDENTIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER
RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY
OF LIABIBITLY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Portions relating to OpenEXR v 1.2.2 Copyright © 2002, Industrial Light & Magic, a division of Lucas Digital Ltd. LLC All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in
binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other
materials provided with the distribution. Neither the name of Industrial Light & Magic nor the names of its contributors may be used to endorse
or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
Portions relating to JPEG © Copyright 1991-1998 Thomas G. Lane. All rights reserved. This software is based in part on the work of the Independent
JPEG Group.
Portions relating to GCC are Copyright © 2008 Free Software Foundation, Inc.
Portions relating to Animation Repurposing Technology, Copyright 1999-2003 House of Moves Motion Capture Studios, LLC.
Portions relating to Expat XML Copyright © 1998, 1999, 2000 Thai Open Source Software Center Ltd. and Clarke Cooper. Copyright © 2001,
2002 Expat maintainers. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
Portions relating to XHTML Copyright © 1998, 1999, 2000 Thai Open Source Software Center Ltd. Permission is hereby granted, free of charge,
to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission
notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Portions relating to OpenVRML are Copyright © 2008 Free Software Foundation, Inc.
Portions relating to pysqlite Copyright © 2005-2007 Gerhard Häring, [email protected].
Portions relating to Flex 2.5.4 are developed by the University of California, Berkeley and its contributors.
Portions relating to Doc ++ are copyright © 1996 Roland Wunderling, Malte Zoeckler copyright © 1999-2001 Dragos Acostachioaie.
Portions relating to the implementation of the Edge Detection and Image Segmentation (EDISON) System are provided "AS IS". More information
may be found at http://www.caip.rutgers.edu/riul/research/code.html.
Portions of the subdivision surface implementation technology are protected by U.S. patents 6,037,949, 6,222,553, 6,300,960, and 6,489,960
and used under license from Pixar.
Portions Copyrighted mental images GmbH 1989-2007.
Portions relating to Python 2.3.3 Copyright © 2001, 2002, 2003 Python Software Foundation; All Rights Reserved.
Portions relating to Imconvert Copyright 1999-2007 ImageMagick Studio LLC, a non-profit organization dedicated to making software imaging
solutions freely available.
The following are registered trademarks or trademarks of Autodesk, Inc., in the USA and other countries: 3DEC (design/logo), 3December,
3December.com, 3ds Max, ADI, Alias, Alias (swirl design/logo), AliasStudio, Alias|Wavefront (design/logo), ATC, AUGI, AutoCAD, AutoCAD
Learning Assistance, AutoCAD LT, AutoCAD Simulator, AutoCAD SQL Extension, AutoCAD SQL Interface, Autodesk, Autodesk Envision, Autodesk
Insight, Autodesk Intent, Autodesk Inventor, Autodesk Map, Autodesk MapGuide, Autodesk Streamline, AutoLISP, AutoSnap, AutoSketch,
AutoTrack, Backdraft, Built with ObjectARX (logo), Burn, Buzzsaw, CAiCE, Can You Imagine, Character Studio, Cinestream, Civil 3D, Cleaner,
Cleaner Central, ClearScale, Colour Warper, Combustion, Communication Specification, Constructware, Content Explorer, Create>what's>Next>
(design/logo), Dancing Baby (image), DesignCenter, Design Doctor, Designer's Toolkit, DesignKids, DesignProf, DesignServer, DesignStudio,
Design|Studio (design/logo), Design Web Format, DWF, DWG, DWG (logo), DWG TrueConvert, DWG TrueView, DXF, Ecotect, Exposure,
Extending the Design Team, FBX, Filmbox, FMDesktop, Freewheel, GDX Driver, Gmax, Green Building Studio, Heads-up Design, Heidi, HumanIK,
IDEA Server, i-drop, ImageModeler, iMOUT, Incinerator, Inventor, Inventor LT, Kaydara, Kaydara (design/logo), Kynapse, Kynogon, LocationLogic,
Lustre, Matchmover, Maya, Mechanical Desktop, MotionBuilder, Movimento, Mudbox, NavisWorks, ObjectARX, ObjectDBX, Open Reality,
Opticore, Opticore Opus, PolarSnap, PortfolioWall, Powered with Autodesk Technology, Productstream, ProjectPoint, ProMaterials, Reactor,
RealDWG, Real-time Roto, REALVIZ, Recognize, Render Queue, Retimer,Reveal, Revit, Showcase, ShowMotion, SketchBook, SteeringWheels,
Stitcher, StudioTools, Topobase, Toxik, ViewCube, Visual, Visual Construction, Visual Drainage, Visual Landscape, Visual Survey, Visual Toolbox,
Visual LISP, Voice Reality, Volo, Vtour, Wiretap, and WiretapCentral.
The following are registered trademarks or trademarks of Autodesk Canada Co. in the USA and/or Canada and other countries: Backburner,
Discreet, Fire, Flame, Flint, Frost, Inferno, Multi-Master Editing, River, Smoke, Sparks, Stone, and Wire.
mental ray is a registered trademark of mental images GmbH licensed for use by Autodesk, Inc. Adobe, Illustrator and Photoshop are either
registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. The Ravix logo is a trademark
of Electric Rain, Inc. "Python" and the Python logo are trademarks or registered trademarks of the Python Software Foundation. All other brand
names, product names or trademarks belong to their respective holders.
Disclaimer
THIS PUBLICATION AND THE INFORMATION CONTAINED HEREIN IS MADE AVAILABLE BY AUTODESK, INC. "AS IS." AUTODESK, INC. DISCLAIMS
ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
FITNESS FOR A PARTICULAR PURPOSE REGARDING THESE MATERIALS.
Contents
Chapter 1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
About Getting Started with Maya Unlimited . . . . . . . . . . . . . . .2
Before you begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
Installing Maya Unlimited . . . . . . . . . . . . . . . . . . . . . . . . .3
Conventions used in the lessons . . . . . . . . . . . . . . . . . . . . . .4
Using the lesson files . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
Restoring default user settings . . . . . . . . . . . . . . . . . . . . . . .6
Chapter 2 Hair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
About hair simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Preparing for the lessons . . . . . . . . . . . . . . . . . . . . . . . . . 11
Lesson 1: Creating a basic hairstyle . . . . . . . . . . . . . . . . . . . . 12
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Lesson setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Creating hair on a surface . . . . . . . . . . . . . . . . . . . . . . 14
Styling the hair . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Setting up hair collisions . . . . . . . . . . . . . . . . . . . . . . 23
Rendering the hair . . . . . . . . . . . . . . . . . . . . . . . . . 27
Modifying hair attributes . . . . . . . . . . . . . . . . . . . . . . 28
Setting up shadowing on hair . . . . . . . . . . . . . . . . . . . . 30
Beyond the lesson . . . . . . . . . . . . . . . . . . . . . . . . . . 32
v
Lesson 2: Creating a dynamic non-hair simulation . . . . . . . . . . . 34
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Lesson setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Setting up the curtain scene . . . . . . . . . . . . . . . . . . . . 35
Making the hair collide with another object . . . . . . . . . . . . 38
Assigning a Paint Effects brush to the hair . . . . . . . . . . . . . 39
Setting up constraints . . . . . . . . . . . . . . . . . . . . . . . . 40
Rendering the curtain scene . . . . . . . . . . . . . . . . . . . . 43
Beyond the lesson . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Chapter 4 Fur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
vi | Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Preparing for the lessons . . . . . . . . . . . . . . . . . . . . . . . . . 88
Lesson 1: Assigning a fur description . . . . . . . . . . . . . . . . . . . 88
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Lesson setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Duplicating objects across an axis of symmetry . . . . . . . . . . 89
Renaming surfaces on a model . . . . . . . . . . . . . . . . . . . 91
Assigning objects to a reference layer . . . . . . . . . . . . . . . . 92
Assigning a fur description preset to a model . . . . . . . . . . . 95
Reversing surface normals . . . . . . . . . . . . . . . . . . . . . . 96
Modifying the fur direction . . . . . . . . . . . . . . . . . . . . . 98
Painting fur attributes . . . . . . . . . . . . . . . . . . . . . . . 101
Modifying the color of a fur description . . . . . . . . . . . . . 108
Creating a new fur description . . . . . . . . . . . . . . . . . . 109
Beyond the lesson . . . . . . . . . . . . . . . . . . . . . . . . . 111
Lesson 2: Rendering fur . . . . . . . . . . . . . . . . . . . . . . . . . 113
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Lesson setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Creating lights in a scene . . . . . . . . . . . . . . . . . . . . . 114
Adding fur shadowing attributes to lights . . . . . . . . . . . . . 116
Rendering the scene . . . . . . . . . . . . . . . . . . . . . . . . 118
Beyond the lesson . . . . . . . . . . . . . . . . . . . . . . . . . 119
Contents | vii
Adjusting the fit of the dress . . . . . . . . . . . . . . . . . . . . 157
Defining the behavior of nCloth clothing . . . . . . . . . . . . 158
Painting nCloth properties . . . . . . . . . . . . . . . . . . . . 160
Open the second scene for the lesson . . . . . . . . . . . . . . . 163
Setting the initial state . . . . . . . . . . . . . . . . . . . . . . . 163
Constraining nCloth clothing . . . . . . . . . . . . . . . . . . . 165
Improving the quality of the nCloth simulation . . . . . . . . . 167
Smoothing nCloth clothing . . . . . . . . . . . . . . . . . . . . 170
Beyond the lesson . . . . . . . . . . . . . . . . . . . . . . . . . 171
viii | Contents
Creating a Plane constraint . . . . . . . . . . . . . . . . . . . . 240
Registering a solution . . . . . . . . . . . . . . . . . . . . . . . 241
Creating additional Plane constraints . . . . . . . . . . . . . . . 242
Evaluating the solution with imported geometry . . . . . . . . . 244
Beyond the lesson . . . . . . . . . . . . . . . . . . . . . . . . . 246
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Contents | ix
x
Overview
1
Introduction
Maya® UnlimitedTM represents the total feature set of Maya software tools
available from Autodesk®. Maya Unlimited includes everything from Maya®
CompleteTM plus additional tools.
Maya Unlimited includes Maya® Fluid EffectsTM tools that allow for the
simulation and rendering of viscous fluids, atmospheric, pyrotechnic, and ocean
effects. Maya® nClothTM lets you create simulations of fabric and clothing.
Maya® FurTM lets you style and render short hair and fur effects using the
Maya® ArtisanTM brush tools. Maya® LiveTM provides functionality to match
original live-action footage with your 3D elements that were rendered in Maya.
The goal of this manual is to assist you in learning the features of Maya
Unlimited.
■ Before you begin–Prerequisite knowledge and skills you should possess before
beginning the Getting Started with Maya Unlimited lessons.
1
■ Conventions used in the lessons–Describes the various conventions used
throughout the Getting Started with Maya lessons.
■ Using the lesson files–How to access and use the lesson files for the Getting
Started with Maya Unlimited lessons.
2 | Chapter 1 Overview
Before you begin
We recommend that any new Maya Unlimited user begin by completing the
following:
■ Viewing the Essential Skills Movies that are available when you first start
Maya.
■ Completing the lessons within Getting Started with Maya before attempting
the lessons within Getting Started with Maya Unlimited.
Beyond that, you can attempt the lessons in any order you want.
If you require an overview or review of basic mouse, keyboarding, and related
usage techniques, we recommend that you refer to the documentation that
came with your particular computer and operating system.
If you are new to 3D computer graphics and animation, you may want to
obtain The Art of Maya (ISBN: 978-1-8971-7747-1). It explains many concepts
and techniques that are unique to the world of 3D computer graphics as they
relate to Maya.
When you are instructed to select the option box for a particular menu item
within Maya, we use the following convention:
■ Menu > Command > Option (for example, Create > NURBS Primitives>
Sphere >
4 | Chapter 1 Overview
(Mac OS X)
Applications\Autodesk\maya2009\GettingStarted
(Linux 64-bit)
/usr/autodesk/maya2009-x64/GettingStarted
Before you use the lesson files, you need to copy the GettingStarted directory
to your Maya projects folder. Then, you need to set the GettingStarted
folder as your project directory in Maya. For more information and steps, see
Copying and setting the Maya project in the Getting Started with Maya guide.
NOTE The lesson files for Live tutorials are included on the Maya DVD and can
be loaded as described below.
4 Double-click the specific folder and then the required lesson file to open
it in Maya Unlimited.
3 Double-click the specific folder and then the required lesson file to open
it in Maya Unlimited.
■ (Windows XP 64bit)
\Documents and Settings\<username>\My Documents\maya\ 2009-
x64\en_US\prefs
■ (Windows Vista)
\Users\<username>\Documents\maya\2009\en_US\prefs
■ Mac OS X
/Users/<username>/Library/Prefer
ences/Autodesk/maya/en_US/2009/prefs
■ Linux (64-bit)
~<username>/maya/2009-x64/en_US/prefs
6 | Chapter 1 Overview
If you have a previous version of Maya installed, also rename that prefs
directory to a new name such as myprefs. Maya will load older preferences
if they exist from a previous version.
3 Start Maya and begin the Getting Started with Maya lessons.
With Maya® HairTM, you can create a dynamic hair system to model realistic
hairstyles and hair behavior.
Since Hair is a generic dynamic curve simulation, you can also use these curves
to create non-hair effects, including ropes, chains, a suspension bridge, sea
creatures, or lofted surface from a curve.
With Hair you can simulate:
9
■ hair when swimming underwater
■ other dynamic curve effects such as ropes, chains, cables, wires, etc.
■ convert the Paint Effects hair to polygons and render in any renderer
■ use the curves as path or control curves for any standard Paint Effects
brush, such as feathers or vines. These brushes behave differently than the
default built in Paint Effects as the curves are not the hairs, but controls
10 | Chapter 2 Hair
that interpolate and affect Paint Effects. This scenario is slower to update
and takes a bit of time to set up.
■ select a few Current Position curves and loft a surface through them with
construction history.
■ use the curves for output to another renderer that directly supports curve
rendering.
Consider outputting to both NURBS curves and Paint Effects if you want to:
■ use both the curves (for example, as particle emitters to simulate spray
flying off wet hair) and render using the integrated Paint Effects either
directly or by converting to polygons.
3 Select File > New Scene to create a new scene before you start each lesson.
For those scenes that require you to open a file, the Hair scene files are
located in GettingStarted/scenes directory. The GettingStarted
directory is installed in the same location as your Maya software
application.
5 If you have not already done so, copy the GettingStarted folder from
its installation location to your projects directory. Then, set the
GettingStarted directory as your Maya project. For more information,
see Copying and setting the Maya project in the Getting Started with
Maya guide.
6 We also provide a completed scene for each of the lessons in this chapter.
If you want to see the expected results of the lessons, you can open the
scenes located in the GettingStarted/scenes directory. The scene
filenames end with Final.ma, for example, Hair_HeadFinal.ma.
Introduction
You can create hair on NURBS and polygonal surfaces. For polygons, UVs
should be non-overlapping and fit between 0 and 1. Automatic mapping is a
quick way to achieve this. (See Automatic UV mapping in the Mapping UVs
Guide in the Maya Help.) In this lesson you are creating hair on a head model.
12 | Chapter 2 Hair
There are three sets of curves for the hair system.
Start Curves/Posi- This is the position of the hair at the start frame of the simulation.
tion When first created, the Start curves stick straight out from the
surface.
Rest Curves/Posi- This is the position of the hair when no forces (such as gravity)
tion are acting upon it. You can use these curves to influence the shape
of the hair.
Working with Rest curves is like styling hair with hairspray. The
Rest curves are styled into curls and flips, etc. When the simulation
is played back, the hair adheres to the Rest curves position as
much as possible depending on dynamic forces and attribute
settings in the hair system and follicles. For example, if your hair
is not very stiff and you’re simulating a windy day, the hairspray
(Rest curves position) is less likely to hold the hair in position.
Current Position This is how the hair behaves when you play the simulation, which
includes dynamics. Do not edit the Current Position; just view it.
The Stiffness and Iterations attributes in the Hair system’s Dynam-
ics section are what control the tolerance of the Current Position
achieving the Rest Position.
In this lesson you are introduced to some of the basic concepts of hair by
creating a simple long hairstyle. In this lesson, you learn how to:
■ Use collision constraints to make hair collide with a model’s head, neck
and shoulders.
■ Render hair.
Introduction | 13
Lesson setup
In this lesson, you'll work with a scene we created for your use.
1 Before beginning the lesson, do the steps in Preparing for the lessons on
page 11.
NOTE Before continuing with the procedures below, make sure the End Time and
Playback End Time in the Range Slider are both set to 10000.
14 | Chapter 2 Hair
2 Select Hair > Create Hair > and in the Create Hair Options window,
specify the following:
■ Set Output to Paint Effects.
■ Set the U count to 26 and the V count to 22. These determine how
many hair curves within each UV range.
■ Set the Passive fill to 0. No passive curves will be used in this lesson.
The behavior of passive curves is interpolated between neighboring
active curves. For more information, see Passive hair curves in the
Hair guide.
■ Set the Points per hair to 10. This sets the number of segments per
hair. More segments are needed to make long hair look natural or to
create complex short hairstyles. As you increase the number of
segments, you decrease the performance (speed) of the simulation.
■ Set the Length to 10. This value is relative to the world space units.
■ Both the Create Rest Curves and Edge Bounded options should be
turned off.
■ Turn the Equalize option on. This ensures the hair curves are evenly
distributed over the surface.
The hair is attached to the scalp and sticks out perpendicular to the
surface. You are looking at the Current Position of the hair, which is also
referred to as the “dynamic” position. Do not edit the hair curves in this
view; edit only in Start Position or Rest Position.
2 Click the Stop button to stop the simulation when the hair is relaxed
as it is in the following image.
16 | Chapter 2 Hair
Notice the hairs are quite stiff and stick out from the scalp instead of
naturally falling closer to the scalp. To make the hair appear less stiff you
can either increase the number of Points Per Hair (segments), which
increases the simulation and render time, or you can reduce the Stiffness
value in the hair system’s Dynamic attributes.
In the next part of the lesson you adjust dynamic settings of the hair
system, including Stiffness and Gravity, to achieve more naturally
behaving hair.
2 In the Dynamics section the default value for Stiffness is 0.15. Since the
hair is quite stiff, reduce the Stiffness value to 0.07.
3 Select Solvers > Interactive Playback to play the simulation. Watch the
hair begin to relax more.
1 When you are playing the hair simulation, by default you are viewing
the Current position curves. To select all the Current position curves,
click any hair curve and then select Hair > Convert Selection > to Current
Positions.
2 To set the start frame of the hair simulation to how the hair appears now,
select Hair > Set Start Position.
3 Select Hair > Display> Start Position to view the Start curves and see that
they took on the Current Position.
18 | Chapter 2 Hair
To edit the Start curves to create the basic hair shape
3 To select the Start curves on the front half of Marion’s face, do the
following:
■ On the Status Line, click the Object Selection Mask button and
choose All Objects Off from the drop-down menu that appears.
■ Drag around the front half of Marion’s head to select the Start curves
as shown in the following image.
6 To curl under the ends of all the Start curves, do the following:
■ Click the button to display the curves and then drag around
Marion’s head to select all the Start curves.
■ Click the button to display CVs and then, using the Select Tool,
select the CVs in the bottom half of all the curves.
■ In the Bend Curves Options window, set Bend Amount to 0.5 and
Twist to 1.0 and then click Bend Curves.
20 | Chapter 2 Hair
The selected CVs are bent under towards Marion’s neck. To fix any unruly
hairs, you could select them and then select Hair > Modify Curves>
Smooth.
8 Change the display to include the Start curves and the Current Position.
(Hair > Display> Current and Start)
1 To create Rest curves from the shaped Start curves, do the following:
■ Select Hair > Display. > Start Position
2 To see the new Rest curves, select Hair > Display> Current and Rest.
3 Select all the hair curves and then click the Play button to play the
simulation. Watch how the Current position hairs flop down because
the Gravity value is quite high (2.5).
4 To see what the hair would look like without any gravity, go to the
Dynamics section in the hairSystemShape1 tab and change the Gravity
value to 0.
Watch the hair try to achieve the Rest position.
5 After the hair reaches the Rest position, change the Gravity value back
to 1.0.
6 As the hair starts to fall due to gravity, increase the Stiffness value to 0.2.
If some Rest curves won’t relax and stabilize, increase Length Flex and
Iterations in the hairSystemShape1 tab.
7 Once the hair stabilizes, click the Stop button to stop the simulation.
8 You can further “hairspray” the curled ends of the Rest curves using the
Stiffness Scale attribute. The curve in the Stiffness Scale graph illustrates
the amount of stiffness applied along the hair curve from root (left side
of the graph) to tip (right side of the graph). Go to the Dynamics section
in the hairSystemShape1 tab and change the Stiffness Scale attribute as
shown in the following image. These changes add more stiffness to the
end of the hair, which will hold the bend more firmly.
9 Play the simulation to see the effect of the changes to Stiffness Scale.
22 | Chapter 2 Hair
10 Stop the simulation once the hair relaxes as in the following image.
11 To reset the Start curves from the simulation, select Hair > Set Start
Position> From Current.
1 In the panel, select Show > Locators so you can see collision constraints,
which are locators, when you create them.
■ Using the Select Tool, drag around all the hair curves and select Hair
> Convert Selection > To Start Curves.
■ Using the Scale Tool, resize the sphere so it expands beyond Marion’s
head and you can see it.
■ Using the Move Tool, move the sphere up the Y-axis so the top of the
sphere is aligned with the top of Marion’s head.
■ Using the Scale Tool again, resize the sphere so it matches the basic
shape of Marion’s head. First try scaling in the X direction to adjust
the width of the sphere from ear to ear. Then tumble the camera to
see the side of Marion’s head and scale in the Z direction to adjust
the sphere width from the back of Marion’s head to her nose. You
may also need to move the sphere to tweak its size and position, as
shown in the images below.
24 | Chapter 2 Hair
3 To create the collision constraint for Marion’s upper torso, do the
following:
■ Using the Select Tool, drag around the hair curves and select Hair >
Convert Selection > To Start Curves.
■ Using the Scale Tool, resize the sphere so it extends beyond Marion’s
neck and you can see it.
■ Using the Move Tool, move the sphere down the Y-axis so the top of
the sphere is aligned with the top of Marion’s torso.
■ Using the Scale Tool again, resize the sphere so it matches the basic
dimensions of Marion’s upper torso. First try scaling in the X direction
to adjust the width of the sphere from shoulder to shoulder. Then
tumble the camera to see the side of Marion’s head and scale in the
Z direction to adjust the sphere width from the back of Marion’s torso
to the front of it. You may also need to move the sphere to tweak its
size and position, as shown in the images below.
5 Click the button to rewind to the start frame and play the
simulation.
Watch how the hair collides with the collision constraints you created.
The hair at the front now rests on the torso and the hair at the back curls
under the torso, instead of intersecting it like it did before the collisions
were set.
6 Stop the simulation when the hair is relaxed. Should the hair be unruly
and not relax, you may need to increase the Stiffness or the Iterations in
the Dynamics section of the hairSystemShape1 tab of the Attribute Editor.
7 Select the hair, then select Hair > Set Start Position > From Current so
the hair respects the collisions at the start frame of the simulation.
26 | Chapter 2 Hair
8 Select Show > Locators to turn them off, which hides the collision
constraints.
■ Click the Render Settings button on the Status Line. The Render
Settings window appears.
1 To select the hair system, drag around the hair curves and select Hair >
Convert Selection > to Hair Systems.
■ Thinning to 0.5, which controls how much the hair thins out from
root to tip.
■ Clump Width to 0.3, which controls the width of the hair clump from
root to tip. To further modify the hair clump width, you could adjust
28 | Chapter 2 Hair
the Clump Width Scale attribute, which allows you to vary the width
along the hair from root to tip.
3 Click the Render Current Frame button to render the hair to see
the changes you’ve made to the hair.
■ Curl Frequency to 15, which is the rate of curl. The higher the value
is, the more curls there are.
2 Click the Render Current Frame button to render the hair to see
the changes you’ve made to the hair.
■ the hair is being lit by all three lights, therefore the intensity of the light
is tripled
30 | Chapter 2 Hair
4 In the light’s Attribute Editor, go to the Shadows section and in the Depth
Map Shadow Attributes subsection, turn on Use Depth Map Shadows.
Normally you would increase the Filter Size to blur the light in the hair
for realism, and increase the Bias, which sets how far the light filters
through the hair. These attributes were set for you in the scene.
1 To select the hair system, drag around the hair curves and select Hair >
Convert Selection > to Hair Systems.
3 Render the hair to see the changes. The hair looks much more natural
now.
32 | Chapter 2 Hair
You can change the look (color, curl, etc.) of the overall hair by modifying
attributes in the hairSystemShape node. But individual follicle attributes
can be modified in the follicleShape node, which override or blend with
the hair system attributes. For more information, see the following topics
in the online help: Hair system attributes (hairSystemShape in the Hair
guide), Follicle attributes (follicleShape in the Hair guide) and Set up hair
shading in the Hair guide.
You can also create non-hair models and effects with Hair. Any NURBS curve
can be made into a dynamic hair curve. In addition to creating long hair and
hairstyles you can use hair curves to create:
■ a paint brush painting on canvas, bristles colliding with the surface (hair
simulates paint brush bristles, Fluid emitters on the canvas controlled by
expressions)
In addition you can assign a Paint Effects brush to a hair system as shown in
the image below.
Introduction
Using Maya Hair, you can create dynamic non-hair models and effects. You
can make NURBS curves dynamic, or you can use a hair system to create a
non-hair simulation, such as chains or ropes. In this lesson, you create a hair
system to simulate a beaded curtain. To make the hairs look like beads, you
assign a Paint Effects brush to the hair. Then you modify the hair attributes
and set constraints so the hair behaves like a beaded curtain hanging from a
curtain rod.
In this lesson, you learn how to:
34 | Chapter 2 Hair
Lesson setup
In this lesson, you work with a new empty scene and change the playback
range.
2 In the Time Slider change both the End Time value and Playback End
Time value to 300.
1 To create a NURBS plane, select Create > NURBS Primitives > Plane, then
click-drag in the scene to create a plane.
(If you have previously shut off the interactive primitive creation option,
simply click once in the scene to create the primitive at the origin.)
2 Using the Scale Tool , resize the plane in the X direction as shown
in the image below.
Lesson setup | 35
3 With the plane selected, select Hair > Create Hair > , set the following
options and then click Create Hairs:
■ Output to NURBS Curves
■ Passive fill to 0
■ Randomization to 0
■ Length to 10
■ Turn off the options Create Rest Curves, Edge Bounded and Equalize
4 Select the plane and, using the Rotate Tool , rotate the plane so
the hair appears to be on the underside of the plane. Then, using the
Move Tool , move the plane up the Y axis so the bottom of the
36 | Chapter 2 Hair
hair just touches the ground plane, as shown in the following image.
(Ensure you do not select the hair when selecting the plane.)
5 Create a directional light (Create > Lights > Directional Light) and do the
following:
■ Move the light above and to the left of the curtain.
6 Create a NURBS sphere (Create > NURBS Primitives > Sphere) and move
it along the Z-axis so it’s in front of the curtain.
1 To select the hair system, drag around the hair curves and then select
Hair > Convert Selection > To Hair Systems.
2 In the hairSystemShape1 tab of the Attribute Editor, set the hair system
attributes as follows:
■ In the Clump and Hair Shape section, set Clump Width to 0.
38 | Chapter 2 Hair
To make the hair collide with the sphere
1 Select the hair system and the sphere (drag around the hair curves and
sphere).
1 To select the hair system, drag around the hair curves and select Hair >
Convert Selection > To Hair Systems.
■ in the Hair Color Scale section, Hair Color to white so the brush’s
bead color appears
7 Dolly in close to the curtain (Alt + the right mouse button) and click the
Setting up constraints
In these next steps you tie up the middle section of the beaded curtain by first
modeling the Start curves into a bound position and then creating a constraint
to hold the curves in that position during playback. With a Hair to Hair
constraint the hair curves stick together at the constraint locator, but also
dynamically move from root to tip when forces or collisions occur.
1 Dolly and tumble in the scene until you are facing the curtain directly.
2 Drag to select all the hair curves and then select Hair > Convert Selection
> To Start Curves.
40 | Chapter 2 Hair
4 Select Hair > Modify Curves > Lock Length. This ensures the entire curve
is modified when you transform CVs in the next steps.
5 Click the button on the Status Line to display the CVs on the curves.
6 Select the middle three rows of CVs on the selected hair curves and then,
using the Scale Tool, scale the CVs inwards so the hairs are pulled together.
1 Click the button on the Status Line to display the Start curves (not
the CVs).
2 With the bound hair curves still selected, select Hair > Create Constraint
> Hair to Hair.
A constraint locator is created and connected to the selected curves.
Setting up constraints | 41
3 In the hairConstraintShape tab in the Attribute Editor, set the constraint
attributes as follows:
■ Stiffness to 0.5 (default)
4 Change the hair display to the Current Position (Hair > Display > Current
Position).
42 | Chapter 2 Hair
To reset the Start position
1 Display the Start curves and the Current Position (Hair > Display > Current
and Start).
3 Stop the simulation as soon as the curves relax below the constraint, but
before the collision occurs.
4 Select the bound Start curves (these are the bound curves that are not
blue) and then select Hair > Set Start Position > From Current.
You may have to repeat steps 2 to 4 a few times until you are happy with
the look of the bound curtains at the beginning of the simulation.
■ Click the Render Settings button on the Status Line. The Render
Settings window appears.
3 Play the simulation and stop at the frame you want to render.
44 | Chapter 2 Hair
Beyond the lesson
In this lesson you learned how to:
47
■ Open water fluid effects – Use shaders to create realistic wave motion on
large bodies of water.
This chapter includes the following lessons, which introduce you to some
basic Fluid Effects concepts:
2 If you have not already done so, copy the GettingStarted folder from
its installation location to your projects directory. Then, set the
GettingStarted directory as your Maya project. For more information,
see Copying and setting the Maya project in the Getting Started with
Maya guide.
4 Switch to shaded display mode for a hardware render view of the fluid
simulations (Shading > Smooth Shade All on the view menu bar).
5 In the Time and Range slider, set the start frame to 1 and end frame to
200.
6 Before you perform the lessons in this chapter, ensure that the Interactive
Creation option for primitives is turned off by selecting Create > Polygon
Primitives > Interactive Creation and Create > NURBS Primitives >
Interactive Creation. That is, ensure that a check mark does not appear
beside either of these menu items.
Introduction
Next, you add fluid to the container. To do this, you add values to the
container for specific properties of the fluid: Density, Color, Velocity,
Fuel, and Temperature. You can add any or all of these properties to create
a fluid effect. One way to put properties into a container is to create them
with a fluid emitter.
1 With the container selected, choose Fluid Effects > Add/Edit Contents >
Emitter.
Maya creates a fluid emitter called fluidEmitter1 and places it at the center
of the fluid container.
TIP You can create a fluid container with a fluid emitter in one step using
Fluid Effects > Create 2D Container with Emitter.
2 Play the simulation using the playback controls at the bottom of the
Maya window.
The fluid emitter creates Density values and emits them into the
container.
2 Show the Attribute Editor in the right panel of the Maya window, and
click the fluidShape tab.
3 Look in the Contents Method section. The Contents Method defines how
a fluid property is defined in the container, if at all.
Notice that Density and Velocity are set to Dynamic Grid.
The Dynamic Grid setting divides the container into virtual rectangular
units called voxels (volume pixels). You place the values in this virtual
grid by emitting them, painting them, or adding a predefined initial state.
At each step of the simulation, Maya recalculates the values in each voxel
using the fluid dynamics solver. This is what creates the dynamic motion
of the fluid.
4 Make the density fall instead of rise by opening the Dynamic Simulation
section of the Attribute Editor and setting the following:
■ Change the Gravity value to -9.8. (Acceleration due to gravity is -9.8
m/s2 in the physical world.)
5 Play the simulation using the playback controls at the bottom of the
Maya window.
7 Play the simulation using the playback controls at the bottom of the
Maya window.
■ Boundary X: None
■ Boundary Y: None
10 Play the simulation using the playback controls at the bottom of the
Maya window.
Notice that the fluid no longer collides with the sides of the container—it
appears to pass through the sides. The fluid behaves as though the
container boundaries don’t exist. Note that even though the fluid appears
to pass through the container boundaries, it does not exist outside the
boundary. Fluids can only exist inside containers.
1 Select the fluid container and choose Fluid Effects > Add/Edit Contents
> Emitter.
Maya creates a second fluid emitter called fluidEmitter2 and places it at
the center of the fluid container, in the same position as the first emitter.
2 With fluidEmitter2 still selected, select the Move Tool (Hotkey: w) and
drag the emitter to the right of the container, so the emitters no longer
overlap.
Make sure you keep the emitter inside the container and on the plane
by dragging only the X and Y manipulators. If you move the emitter
outside the container, it will not emit.
3 Open the Attribute Editor in the right panel of the Maya window, and
click the fluidEmitter2 tab.
8 In the scene view, select fluidEmitter1, the emitter in the center of the
container.
12 Play the simulation using the playback controls at the bottom of the
Maya window.
■ Select Create > Polygon Primitives > Plane > . The Polygon Plane
Options window opens.
■ In the window, select Edit > Reset Settings to reset the plane settings
to the default ones, and then click Create.
2 In the Attribute Editor, click the pPlane1 tab and scale, translate, and
modify the plane as follows:
■ Translate: -2 2 0
■ Rotate Axis: 0 0 40
■ Scale: 10 1 1
4 Select Fluid Effects > Make Collide. This makes the plane a collision object.
5 Play the simulation using the playback controls at the bottom of the
Maya window.
The fluid collides with the plane as it moves through the container. It
does not pass through the plane.
■ Emit fluid properties into the container to create a dynamic fluid effect.
■ Modify forces acting on the fluid container to change the behavior of the
contents of the container (Gravity and Turbulence).
The hardware render of the simulation provided you with a fast, realistic
representation of the fluid. The final step would be to do a software render.
Although we looked at a 2D fluid, the same concepts apply to 3D fluids. In
the lessons that follow, you’ll work with 3D fluids and explore methods other
than fluid emitters for adding contents to a fluid container. You’ll look at the
texturing capabilities that are part of the built-in shader. You’ll also learn
about the Temperature and Fuel fluid properties and how you can use them
in your effects.
Beyond this, you can also:
■ Give the fluid a hard surface (surface render) for a globby or lava-like effect,
rather than the soft, cloud-like surface you saw in this lesson.
For details on these topics, see the Fluid Effects information in the Maya Help.
Introduction
In the first lesson, you created a simple 2D dynamic fluid. 3D fluids intrinsically
require extra data to define them, which can make them very complex. This
extra data can slow a dynamic simulation exponentially because more
calculations (solving) must be performed at every step of the simulation. For
a less memory intensive effect, you could use a 2D fluid (with less data), or
you could create a 3D non-dynamic effect.
In non-dynamic fluid effects, the fluid property values are predefined within
Maya and stay constant over time, which means they don’t have to be
recalculated. You create the appearance of the fluid by texturing a special fluid
shader that is assigned to the fluid. This shader is built into the fluid for better
performance. If you want the fluid effect to have motion, you can animate
(keyframe) the texture attributes. Because Maya doesn’t solve the fluid
dynamics equations, rendering this type of fluid is much quicker than
rendering a dynamic fluid.
In this lesson, you learn the fundamentals of creating non-dynamic fluids by
creating a cloud bank using a 3D non-dynamic fluid. You learn how to:
■ Texture the contents of the fluid using the built-in fluid shader.
Before beginning the lesson, do the steps in Preparing for the lessons on page
48.
2 Set the container options as follows, then click Apply and Close:
■ X Resolution: 50
■ Y Resolution: 5
■ Z Resolution: 60
■ X Size: 50.0
■ Y Size: 5.0
■ Z Size: 60.0
TIP It’s good practice to make the container’s Resolution and Size proportional
to ensure that the voxels are square making the quality the same along each
axis.
2 With the fluid container selected, show the Attribute Editor in the right
panel of Maya, and click on the fluidShape1 tab.
Set Velocity, Temperature, and Fuel properties to Off. (They’re not used
in this effect.)
3 In the Opacity subsection, check that the Opacity Input is set to Density.
The opacity represents how much the Density will block light. You’ll
look more at Opacity later in this lesson.
1 Turn on hardware texturing display so you can see the effect of the
textures on the fluid without rendering by selecting Shading > Hardware
Texturing from the scene view menu.
5 Change the look of the texture by setting the following texture attributes:
■ Amplitude: 0.5
■ Depth Max: 4
Decreasing the Amplitude makes the areas with low Density more
transparent and the areas with high Density more opaque.
Increasing Depth Max adds detail. Increasing it will also increase render
time.
■ Spottyness: 2.0
8 Modify the Opacity so that areas in the container that are very dense
appear less opaque, areas that have very little Density become totally
transparent, and the transition between areas that are totally transparent
and areas that are more opaque is less gradual.
In the Attribute Editor, go to the Shading section. Look at the Opacity
graph in the Opacity subsection. This graph represents the relationship
between Opacity values and Density values (the Opacity Input).
■ Click the first dot on the Opacity graph to select the position marker.
Position markers mark the location on the graph from left to right (the
Opacity Input value). The outline of the dot is white when a position is
selected.
The position marker moves to the right. Now, for Density values between
0 and 0.10, the Opacity values will be 0. This means that Density that was
previously partially transparent will be completely transparent.
The more transparent areas of cloud disappeared, but now the solid areas
of cloud are less opaque.
Density values that are greater than 0.15 are now more opaque, and the
transition between areas of total transparency (Opacity 0), and areas where
the Density becomes more visible (Density 0.15) is less gradual.
1 In the Attribute Editor, under the fluidShape1 tab, open the Lighting
section.
■ Texture the contents of the fluid using the built-in fluid texturing
capabilities of the fluidShape. (You can also texture dynamic fluids using
the same techniques.)
To make the texture move, you would keyframe the Texture Time attribute
in the Textures section of the Attribute Editor. For details on keyframing
attributes, see the Maya Help.
You modified several texture attributes in this lesson, but there are many more
attributes for customizing textures. Also, note that the non-dynamic effects
To learn more about how to use texturing and other fluid attributes, study
the Fluid Effects examples that are included with Maya (Fluid Effects > Get
Fluid Example) and look at the Notes section at the bottom of the Attribute
Editor for example fluids. It includes information about the selected effect,
pointing out the key aspects of its construction.
For further information on Fluid Effects, see the Maya Help.
Introduction
■ Paint in a 3D container.
Creating a 3D container
2 In the window, select Edit > Reset Settings to restore the Resolution and
Size settings to the defaults 10 10 10 and 10 10 10, respectively.
The default container size and resolution are adequate to illustrate the
concepts in this lesson.
Next, add fluid to the container. In the first lesson, you added fluid to
the container by emitting it into a Dynamic Grid. In the second lesson,
you added fluid to the container by selecting a predefined gradient. In
this lesson, you will add fluid to the container by painting property values
inside it.
Creating a 3D container | 69
of the reaction has yet to take place. The reaction also creates more
Temperature, and it creates light.
In the following steps you’ll paint Fuel and Density values in the container.
To paint in a 3D container you actually paint in two dimensions on “slices”
of the container. A slice is a plane in X, Y, or Z that represents where you
paint. (You could think of a slice as a 2D canvas.) You paint each slice
individually, but the accumulative effect of adjacent slices is a 3D fluid.
1 With the container still selected, choose Fluid Effects > Add/Edit Contents
> Paint Fluids Tool > .
The Tool Settings window opens and a slice displays at the origin of the fluid
container. The slice is represented by a plane with dotted edges and fluid
subvolume manipulators at one corner. When you move the pointer over the
slice the pointer changes to a brush indicating that you can paint.
1 At the top of the Tool Settings window, click Reset Tool to set the Paint
Fluids Tool settings to the default values.
2 Select the fluid properties you want to paint. In the Paint Attributes
section of the Tool Settings window, beside Paintable Attributes, select
Density and Fuel. You will paint both these properties at the same time.
You could paint each property separately, but for this example, the values
you paint will be the same for both. It is more efficient to paint them
both at the same time.
A message appears prompting you to set the fluid’s Fuel method to
Dynamic Grid. By setting the Fuel method to Dynamic Grid, the fuel
values you place in the container grid (in this case, by painting them)
are recalculated by the fluid dynamics solver and changed during
simulation. The Density method is defined as Dynamic Grid by default.
The orientation of the slice changes relative to your view. The slice is
perpendicular to the axis with the manipulators. The color of the
manipulators corresponds with the color of the axis in the View or Origin
axes.
Painting properties relative to different axes is good practice to ensure
there are no gaps between slices when the fluid is viewed from different
angles.
5 Tumble so that the slice is perpendicular to the Y axis and then click the
open lock icon to lock the slice axis.
The lock closes. Now when you tumble, the slice remains perpendicular
to Y. It does not switch to the other axes. This allows you to change the
view in any way and still be able to paint on the same slice.
6 Drag the top move arrow down along the axis to the first slice at the
bottom of the container. The number of slices along each axis corresponds
with the resolution of the fluid container. The numbering starts at 0 at
7 In the Paint Attributes section of the Tool Settings window, ensure that
Value is set to 1. A Fuel value of 1 represents a totally unreacted state
while a Fuel value of 0 represents a completely reacted state. A Density
value of 1 is totally opaque while a Density value of 0 is completely
transparent.
8 Drag the brush on the slice to paint values. Paint until the entire slice is
filled with values.
The values display as yellow because you are painting two properties at
the same time. Density values are represented by the opacity of the shaded
values, while Fuel values are represented by color. The range of Fuel values
corresponds with a ramp of colors from blue (values of 0) to yellow (values
of 1).
To make the fluid deeper, you could move the slice to Fluid Slice Position
1, paint, move the slice to Fluid Slice Position 2, paint, and so on. But a
quicker way is to resize the slice to make it thicker and then flood the
entire slice with values.
Flooding filled each voxel in the subvolume with Fuel and Density values
of 1.
Notice that the values display as shaded planes rather than as a solid
mass. This is an interactive display feature for shaded display mode.
Displaying more shaded planes (slices) produces more detail but reduces
the speed of the screen draw. You can change this display feature (Slices
Per Voxel) and others in the Display section of the Attribute Editor.
2 Click Set to Dynamic. The Density and Fuel values disappear. The values
are still there, but only Temperature values now display. Currently there
are no temperature values in the container.
3 Change the brush so you can paint through the entire thickness of the
slice with a single stroke. In the Stroke section of the Tool Settings
If you make the brush depth thicker than the depth of the slice, only the
space within the slice will be painted.
The stroke adds Temperature values through the entire thickness of the
slice.
The next steps are to view all the property values together, and color the
properties to differentiate them.
1 Choose the Select Tool (Hotkey: q) to leave the Paint Fluids Tool. The
manipulators disappear and now you see the fluid as it will render
■ The Density values in the container will now take on the colors defined
on the color bar.
4 Play the simulation using the playback controls at the bottom of the
Maya window.
■ Paint in a 3D container.
You can control how quickly the reaction takes place during the simulation,
the temperature required to start the reaction, how much heat and light the
reaction releases over time, and other aspects of the reaction using the
attributes in the Fuel section under Contents Details in the fluidShape Attribute
Editor.
For a more realistic look, you can also texture the fluid using the built-in
texturing attributes in the Textures section.
For more information on Fuel and texturing attributes, see Fluid Effects in the
Maya Help.
Introduction
■ Modify the attributes for an expression that controls the buoyancy of the
boat in the ocean.
Before beginning the lesson, do the steps in Preparing for the lessons on page
48.
1 Select Fluid Effects > Ocean > Create Ocean. Maya creates an ocean plane
and assigns an ocean shader to it.
The plane is a NURBS plane with more patches concentrated in the center.
This is so you can see more detail in the center and less detail as the ocean
extends to the horizon.
Because interactive shading would slow down playback, the shading is turned
off for the surface.
4 Play the simulation using the playback controls at the bottom of the
Maya window.
The preview plane ripples slightly showing the small wave displacement.
■ Click the directionalLight1 tab and rotate the light as follows to direct
the light rays onto the ocean. Rotate: -100 42 20
1 Render the current frame to see what the ocean looks like before you
modify the ocean shader attributes. On the Status line, click the render
current frame icon.
2 Select the preview plane or the ocean plane (it doesn’t matter which one),
and in the Attribute Editor, click the oceanShader1 tab.
3 Open the Ocean Attributes section and change the following values:
■ Num Frequencies: 12
4 Play the simulation to see the effect of your changes on the displacement
of the ocean waves.
9 Make the highlights dimmer so they don’t pop out as much, and bigger.
Open the Specular Shading section and change the following settings:
■ Specularity: 0.45
■ Eccentricity: 0.1
Floating objects
You can make geometry (for example, a boat) float in the ocean, moving
appropriately with the motion of waves. The following steps show you how
using a simple polygon cube.
Floating objects | 83
To float a cube in the ocean
1 Create a polygon cube (Select Create > Polygon Primitives > Cube).
2 In the Attribute Editor, click the pCube1 tab and scale the cube as follows:
■ Scale: 10 10 10
3 Select both the cube and the ocean plane (not the preview plane) at the
same time and select Fluid Effects > Ocean > Make Boats.
Maya creates a boat locator at the center of the cube to mark the cube’s
position in space. The locator is connected to a predefined expression
that simulates buoyancy effects. The expression is connected to the wave
heights (displacement) of the ocean.
To learn more about expressions, look at the Expressions lessons in
Getting Started with Maya.
4 Play the simulation using the playback controls at the bottom of the
Maya window.
5 In the Attribute Editor, click the locatorShape tab and in the Extra
Attributes section, modify the following options. These serve as inputs
to the expression.
■ Buoyancy: 0.75
■ Roll: 0.1
■ Pitch: 0.2
To learn more about ocean shader attributes, look at the ocean shader examples
that are included with Maya (in the Fluid Effects menu). Some of these
examples use a 3D non-dynamic volume fluid to create the atmosphere above
the ocean.
Motor Boats
You can create a game-style boat simulation using the Fluid Effects > Ocean
> Make Motor Boats command. Once you set up hotkeys for the rudder and
throttle of the boat, you can “drive” the boat in the ocean. The boat will roll,
pitch, and jump over waves appropriately.
Boat Wakes
You can create boat wakes using the Fluid Effects > Ocean > Create Wake
command. Wake fluids do not use the Navier Stokes solver like regular fluids,
but use the Spring Mesh Solver. A fluid emitter is used to drive the motion of
the fluid.
If a smaller body of water is what you had in mind, you can create a pond
using Fluid Effects > Pond > Create Pond. Ponds are 2D fluids that use a spring
mesh solver and a height field. You can generate bubbles, ripples, and waves
using the Create Wake options for the pond.
For details on these topics and others, see Fluid Effects in the Maya Help.
With the Maya® FurTM feature, you can create fur and short hair on all surface
types in Maya. A fur description in Maya defines all the attributes for the fur (for
example, fur color, width, length, baldness, opacity, curl, density, and so on).
When applying fur, you can use one of the predefined fur descriptions included
with Maya Unlimited, or you can create your own custom fur description by
setting all the fur attributes yourself.
You can animate fur with keyframe effects like growing fur or changing color.
For a more natural appearance, you can also add movement to fur with dynamics
(for example, wind and gravity).
This chapter includes these lessons:
87
■ Lesson 2 Rendering fur: Introduction on page 113
1 If you have not already done so, copy the GettingStarted folder from
its installation location to your projects directory. Then, set the
GettingStarted/Fur directory as your Maya project. For more
information, see Copying and setting the Maya project in the Getting
Started with Maya guide.
2 Select the Rendering menu set. Unless otherwise noted, the directions in
this chapter for making menu selections assume you’ve already selected
the Rendering menu set
■ In the Plug-in Manager, locate the Fur plug-in (Fur.mll) and turn on
the loaded checkbox. Wait for the check mark to appear in the
checkbox, then close the Plug-in Manager. You can set the Fur plug-in
to auto load so that it automatically loads each time the Maya
application is launched. The Fur menu will appear to the right of the
Hair menu.
Introduction
Maya Unlimited provides many predefined fur descriptions. These fur
descriptions, also referred to as presets, can be used as a starting point in
creating fur for a model. Fur description presets can also be customized.
In this lesson you learn how to:
■ Rename surfaces.
88 | Chapter 4 Fur
■ Assign surfaces to display layers.
■ Paint a fur attribute map to modify the fur length in an area of a surface.
■ Create a new fur description for a surface and modify its attributes.
Lesson setup
To ensure the lesson works as described, do these steps before beginning:
Lesson setup | 89
To duplicate surfaces
1 In the scene view, select the five surfaces to be duplicated: the arm, arm
paw, leg, leg paw, and body. Click one surface, then shift-click the other
surfaces until all of the five surfaces are highlighted.
2 Select Edit > Duplicate Special > . In the Duplicate Special Options
window that appears, select Edit > Reset Settings, then do the following:
■ Change the X Scale value to -1.
90 | Chapter 4 Fur
Renaming surfaces on a model
After duplicating the surfaces you need to rename the duplicated surfaces so
you can easily identify and select them by name when required.
The surfaces you duplicated were originally named using the naming
convention leftArm, leftArmpaw, leftLeg, and leftLegpaw. When you duplicate
objects, Maya assigns names to the new objects automatically. Change the
names of the duplicated surfaces to match the naming convention used for
the model.
To rename objects
1 For each of the surfaces listed in the following table, do the following:
■ Click the object in the scene view.
■ In the Channel Box, click the object name to select it. You can display
the Channel Box by clicking Show/Hide Channel Box/Layer Editor
button on the Status Line.
■ Type the corresponding new name from the table and press Enter.
Old name New name
leftArm1 rightArm
leftArmpaw1 rightArmpaw
leftLeg1 rightLeg
leftLegpaw1 rightLegpaw
leftBody1 rightBody
1 If the Channel Box isn’t already displayed, click the Show/Hide Channel
Box/Layer Editor button in the Status Line to display the Layer Editor.
2 Ensure the Layer Editor is set to Display Layers by clicking the Display
radio button.
92 | Chapter 4 Fur
3 Click the Create Layer button.
5 In the Edit Layer window, set the following and click Save:
■ Name: ExtraParts
In the Layer Editor, the name of the layer updates and its status is now
set to Reference. The Reference display state indicates that the objects in
that layer can still viewed in the scene but cannot be selected.
■ mouth
■ leftEye
■ leftLid
■ rightLid
■ leftInEar
■ rightInEar
■ leftArmpaw
■ rightArmpaw
■ leftLegpaw
■ rightLegpaw
■ groundPlane
7 Right-click the ExtraParts layer in the Layer Editor and choose Add
Selected Objects from the drop-down list that appears.
The selected objects are assigned to the ExtraParts display layer which is
currently set to Reference. You can still view these objects but they cannot
be selected again until you set the display setting for this layer to Normal.
Using reference layers in this fashion aids your workflow by ensuring you
don’t accidentally select unwanted surfaces when applying Fur.
94 | Chapter 4 Fur
Assigning a fur description preset to a model
A fur description defines all of the attributes for the fur, for example, fur color,
width, length, baldness, opacity, curl, density, and so on. Maya includes a set
of fur description presets you can use as is, or as a starting point in creating
your own custom fur descriptions.
Any surfaces that should not have fur applied have already been assigned to
a referenced display layer. This makes the application of a fur description
easier.
1 In the scene view, drag a selection marquee around the entire model.
All of the surfaces on the bear model are selected except for the ones you
assigned to the referenced ExtraParts display layer.
3 With the surfaces still selected, click the Duckling fur preset in the Fur
shelf.
The Duckling fur preset is assigned to the selected surfaces of the model.
96 | Chapter 4 Fur
The fur feedback is pointing towards the inside of the arm.
In this model, the fur was applied to the inside of the leg, arm, and head
surfaces because the surface normals on these surfaces are pointing in
the wrong direction. There are several reasons why this can occur,
including when a surface is duplicated with a negative scale value.
To correct this, you’ll need to reverse the surface normals on the legs,
arms, and head surfaces of the model.
NOTE Reversing the surface normals (Polygons menu set: Normals > Reverse)
is useful when you want to change the surface direction (that is, whether the
surface is oriented inwards or outwards in relation to the model). For example,
duplicating a surface across its axis of symmetry can reverse the surface
normals on the duplicated surface. Using the Reverse Normals feature corrects
this.
When a character has existing animation rigging or texturing and you
need to assign fur, the desired technique for reversing the orientation of
the fur feedback is by reversing the fur normals (Fur > Reverse Fur Normals).
Reversing the fur normals leaves the surface direction unchanged.
1 With only the legs, arms, and top head surfaces selected, switch to the
Polygons menu set and then select Normals > Reverse > .
2 Set the Reverse normals on setting to Selected faces and then click Reverse
Normals.
The normals of the selected polygon surfaces are reversed so that the fur
description points in the correct direction.
Before proceeding to the next section, return to the Rendering menu set.
98 | Chapter 4 Fur
There are three methods for modifying the direction of fur. Each method has
specific conditions for use. You can modify the direction of fur by:
■ Modifying the Inclination, Polar, and Roll attributes for the fur description
globally.
■ Setting a Fur Direction Offset to change the fur feedback direction locally
on a selected surface.
■ Combing the fur feedback locally on a surface using Maya’s Paint Fur
Attributes tool.
Modifying the Inclination, Polar, and Roll attributes for the assigned fur
description changes the direction attributes on the fur description globally.
You can set these attributes using either the Channel Box or the Attribute
Editor. Inclination sets the angle or slope at which the fur description will
lean in relation to the surface. Polar sets the direction the fur description will
point in relation to the surface normal, much like the hands on a clock face.
Roll sets the angle about which the fur description will be rotated about its
follicle and is used mostly when the fur has curl attributes applied. That is,
you can control whether the curls point up, down, or lay flat on their side.
Modifying these attributes is a good starting point for creating a realistic fur
description. For the original Duckling fur description preset the Inclination,
Polar, and Roll attributes are set to 0.6, 0.5, and 0.5 respectively. You won’t
need to change these for this lesson.
However, when a model is comprised of many surfaces, the fur may have a
tendency to point in a different direction on each separate surface depending
on how the surfaces were originally constructed.
To correct this you can change the direction of the fur using the Fur Direction
Offset. The Fur Direction Offset lets you change the orientation of a fur
description locally on a per-surface basis by applying a relative rotation value
to the fur description as it is applied to the selected surface.
1 Dolly the camera closer to the bear’s head so you can more closely view
the direction of the fur description on the bear’s snout.
The fur appears to point in a clockwise direction about the bear’s snout.
You can change the direction the fur points by changing the Fur Direction
Offset value for the bear’s snout.
The Offset Fur Direction menu lets you rotate a fur description on a
selected surface using direction presets.
4 Click on the 0, 90, 180, and 270 degree presets one at a time until the
fur feedback on the snout points toward the bear’s face.
5 Repeat this process for the remaining surfaces that have fur assigned by
selecting each surface one at a time and orienting the direction of the fur
feedback as follows:
■ The fur feedback on the arms and legs should point in a direction
towards the paws.
■ The fur feedback on the head surfaces should point away from the
center line so it simulates a sewn seam.
■ The fur feedback on the outer ear surfaces should point away from
the bears head.
TIP Dolly and tumble the camera as you work to ensure you have the fur
feedback oriented correctly. Try each offset direction so you know its
effect on the fur feedback on each surface. You can easily set the direction
offset back to its previous setting if it appears incorrect.
6 Close the Offset Fur Direction menu when you are finished orienting the
fur feedback for all of the surfaces that have fur assigned.
Using the Paint Fur Attributes Tool you can paint virtually any fur attribute.
In this lesson you use the Paint Fur Attributes Tool to:
■ reduce the fur length in a localized area on a surface. This is useful when
you want regions with shorter or longer fur on a surface.
■ create bald regions on a surface. This is useful for creating localized fur
effects such as a moustache or goatee on a character, or whiskers on an
animal.
The Paint Fur Attributes Tool does all of the above via attribute maps that you
create by painting directly on the surface. The attribute map modifies the
associated fur attributes you have selected for modification based on the
regions of black, white, or gray that you paint in the map.
Before you begin painting an attribute map you’ll want to hide the nose and
mouth surfaces. Earlier in the lesson you assigned the nose and mouth surfaces
to the ExtraParts reference layer to prevent them from being accidentally
selected in the scene view. To hide these objects you can set the referenced
display layer to invisible.
1 In the Display Layer Editor, make the ExtraParts layer invisible by clicking
the V that indicates that the layer is visible.
3 In the Paint Fur Attributes Tools Settings window, ensure the following
options are set:
■ Fur Attribute: Length
These settings set the brush to paint a relatively small, soft edged region,
with each stroke of the tool as you replace the existing fur with shorter
fur.
5 Position the brush cursor over the centre of the bear’s snout and begin
stroking in a small circular motion about the center of the snout.
Wherever you paint, the fur feedback updates and becomes shorter in
length.
The snout surface updates to display the fur length attribute map you are
currently painting. The black region at the end of the snout indicates the
area you have just painted. This region of the attribute map indicates
where the fur will be shorter in length when it is rendered. The lighter
gray region indicates where you have not yet painted and where the fur
length will remain unaffected.
You also want the fur to be short in the region of the bear’s mouth as
well.
7 Paint a few overlapping strokes on the region of the snout below the nose
where the mouth surface is located, as shown below.
8 In the Paint Tool Settings editor, set the Paint Operation to Smooth, and
then click Flood to apply a smooth to the entire fur length attribute map.
You can click Flood more than once to apply multiple smooth operations.
TIP If you accidentally paint an area that is too large you can click Ctrl + z
repeatedly to undo your paint strokes.
If you want to begin painting the attribute map again, you can set the
Value to 1 and then click Flood to fill the surface with a white color.
1 Ensure that the snout surface is still active and click the Porcupine fur
preset from the Fur shelf.
A second fur description is assigned to the bear’s snout. The snout appears
cluttered at this point but you’ll rectify it in the following steps.
2 Ensure that the snout surface is still active and select Fur > Paint Fur
Attributes Tool > .
3 In the Paint Fur Attributes Tools Settings window, set the following
options:
■ Fur Attribute: Baldness
4 In the Paint Tool Settings editor, set the Paint Attributes - Paint Operation
to Replace, Value to zero, and then click Flood.
This creates a baldness attribute map for the Porcupine fur description
that is black in color making the Porcupine fur feedback disappear
temporarily.
■ Stroke - Reflection: On
These settings set the brush to paint a relatively small, soft edged stroke,
that is gray in color on the baldness map so that some of the porcupine
fur (that is, whiskers) appear. When reflection is turned on, the stroke
you make on one half of the surface is mirrored on the opposite half.
This lets you create identical whiskers on either half of the snout.
6 Position the brush cursor over the left side of the bear’s snout and make
one short stroke from about the halfway point to the back of the snout,
as shown below.
1 In the Attribute Editor, set the following attributes to modify the whiskers
on the snout surface:
■ Length: 1.5
■ Polar: 1.0
The whiskers update to point outwards on either side of the snout and
appear shorter as a result.
2 Display the Channel Box/Display Layer Editor, and click the visibility
box to display the ExtraParts layer again.
2 In the Attribute Editor, modify the Base and Tip Color attributes for the
TeddyBear fur description by clicking the color swatches for each attribute,
setting the RGB range to 0 to 255, and entering the following RGB values:
■ Base Color R: 62
■ Base Color G: 30
■ Base Color B: 8
■ Tip Color G: 52
■ Tip Color B: 14
These values change the color of the base of the fur to a dark brown, and
the tips of the fur a lighter brown. The fur feedback is updated on the
bear model.
2 In the Display Layer Editor, click the box that displays the letter R until
the box is empty.
To change the display state of a display layer, click repeatedly in the
middle box next to the layer name to cycle the display state from
Reference (R), Template (T), or Normal (empty). When the box is empty
the display layer is no longer referenced and its possible to select all of
the surfaces on the model.
1 In the Attribute Editor, modify the Base and Tip Color attributes for the
InnerEar fur description by clicking the color swatches for each attribute,
setting the RGB range to 0 to 255, and entering the following RGB values:
■ Base Color R: 106
■ Base Color G: 52
■ Base Color B: 14
■ Tip Color B: 91
■ Length: 0.25
■ Inclination: 0.8
■ Tip Width: 0
■ Scraggle: 0.1
Density specifies the number of hairs on a surface. The higher the value,
the thicker the fur. Notice that changing the Density value does not affect
the fur feedback in the scene view; changes to fur density only appear in
the rendered image.
Length sets the fur’s length, in grid units.
Inclination sets how the fur slopes or leans. A value of 0 is fully erect
(normal to the surface), while a value of 1 is flat (tangent to the surface
at the root).
Base and Tip Width specifies width of the hairs at their base and tip.
Scraggle sets the crookedness of the fur. A value of 0 creates no
crookedness, while a value of 1 creates maximum crookedness.
The fur description for the Inner Ear surfaces is updated.
NOTE Some attributes of a fur description are only visible when you render
an image of the fur. You’ll render an image of the teddy bear fur in the next
lesson.
■ Assign parts of a model to display layers—any surfaces that you did not
want fur applied were assigned to a referenced display layer so they would
not get selected accidentally.
■ Reverse surface normals so the fur was oriented to point in the correct
direction—Two methods are possible for correcting the normals; reversing
the surface normals, and reversing the fur normals.
■ You modified the length of the fur description on the bear’s snout and
created whiskers using the Paint Fur Attributes Tool. This tool lets you
paint an attribute map to modify specific fur attributes on an area of a
surface.
You can use the Paint Fur Attributes tool to paint the direction of the fur.
This technique is also referred to as combing the fur because it resembles
the stroking action you perform when combing real hair. Combing the
fur feedback is useful when you need to hide a visible seam between two
surfaces.
For more information and related techniques about Fur, refer to the Maya
Help.
Introduction
In order to see how all of the fur attributes of a fur description appear on a
model you must render an image.
In this lesson, you learn how to:
■ Make changes to the fur description and render the scene again.
3 In the Channel Box, enter the following values to reposition the spotlight:
■ Translate X: -39
■ Translate Y: 12
■ Translate Z: 34
■ Rotate X: -5
■ Rotate Y: -49
4 Click Create > Lights > Spot Light to create another spotlight at the origin.
This new spotlight will be named spotLight2 and have the same intensity
setting as the first spotlight.
5 In the Channel Box, enter the following values to reposition the second
spotlight:
■ Translate X: 25
■ Translate Y: 15
■ Translate Z: 35
■ Rotate X: -10
■ Rotate Y: 35
6 Click Create > Lights > Spot Light > , set the following attribute, and
then click Create:
■ Intensity: 0.5
7 In the Channel Box, enter the following values to reposition the third
spotlight:
■ Translate Y: 85
■ Translate Z: 7
These three light sources will evenly illuminate the model: one will create a
shadow once you have set fur shadowing attributes for the spotlights.
NOTE In this lesson, we will render with the Maya software renderer. However,
the following instructions for fur shadowing can also be applied to lights set up
to render Fur with the mental ray for Maya renderer.
1 Select all three spotlights in the scene by selecting Edit > Select All by
Type > Lights.
All three spotlights in the scene are selected.
TIP When more than one item is selected in the scene view, the Channel
Box displays the name of the last item in the selection list with three dots
after its name to indicate that more than one item is selected.
2 Click Fur > Fur Shadowing Attributes > Add to Selected Light.
7 In the Attribute Editor, under Shadows > Depth Map Shadow Attributes,
set the following options:
■ Use Depth Map Shadows: On
■ Focus: 40
1 Select Window > Rendering Editors > Render Settings to show the Render
Settings window.
2 Ensure that Render Using is set to Maya Software in the drop-down list.
3 From the Render Settings window menu, select Presets > Load Preset >
Default Settings.
This sets the renderer to render an image that is 640 by 480 pixels in size;
large enough to see the fine detail on the fur.
The Render View window appears and an image of the scene is rendered.
■ Add spotlights to the scene—A three light setup is a good starting point
for many renderings.
■ Render the scene to produce an image with fur—You will usually need to
produce multiple iterations of an image in order to produce the final image
or frames of animation that you require.
For more information and related techniques about Fur, Lighting, or Rendering,
refer to the Maya Help.
With the Maya® nCloth™ feature, you can create dynamic cloth effects in Maya.
nCloth is a fast and stable dynamic cloth solution that uses a system of linked
particles to simulate a wide variety of dynamic polygon surfaces, such as fabric
clothing, inflating balloons, shattering surfaces, and deformable objects. nCloth
is generated from modeled polygon meshes. You can model any type of polygon
mesh and make it an nCloth object, which is ideal for achieving specific poses
and maintaining directorial control.
121
Maya Unlimited provides many predefined nCloths. These sample nCloth
objects, also referred to as presets, can be used as a starting point in creating
your own custom cloth effects.
This chapter includes these lessons:
2 If you have not already done so, copy the GettingStarted folder from
its installation location to your projects directory. Then, set the
GettingStarted directory as your Maya project. For more information,
see Copying and setting the Maya project in the Getting Started with
Maya guide.
3 Select the nDynamics menu set. Unless otherwise noted, the directions
in this chapter for making menu selections assume you’ve already selected
the nDynamics menu set.
Introduction
For nCloth objects to have realistic cloth behavior, they need to interact or
collide with their environment. This is accomplished by converting the meshes
you want to act like cloth into nCloth objects, and turning all the objects in
their environment that it will come into contact with into passive collision
objects.
In this lesson you learn how to:
Lesson setup
To ensure the lesson works as described, do these steps before beginning:
The first step in the nCloth creation process is to convert the polygon object
you want to behave like cloth to an nCloth object.
nClothShape1 is the nCloth properties node, which carries all the nCloth
attributes for the table cloth.
nucleus1 is the Maya Nucleus solver node, which carries all the attributes
affecting the nucleus1 solver system, including internal forces.
TableClothShape is the input mesh and start object for the table cloth.
outputCloth1 is the output mesh or current mesh, and the resulting nCloth
table cloth that you see in the scene view.
polyPlane2 is the history node for the table cloth.
7 Close the Hypergraph and play back your table cloth’s simulation.
The table cloth passes right through the table, its base, and the floor. This
is because the nCloth does not recognize any of the other objects in your
scene. For the nCloth table cloth to be able to interact with the table, its
base, and the floor, they need to be members of the same Maya Nucleus
solver system as the table cloth.
3 Select nucleus1 from the Solver drop-down list and click Make Collide.
The table polygon mesh is converted to a passive collision object, and
an nRigid handle appears at the center of its mesh in the scene view. You
can use the table’s nRigid handle to quickly select its nRigidShape node
in the Hypergraph or its tab in the Attribute Editor.
The table is also now a member of the nucleus1 Maya Nucleus system.
5 Close the Hypergraph and play back your table cloth’s simulation.
The table cloth now collides with the table. The table cloth now interacts
with the table because the table is a member of the table cloth’s nucleus1
solver system.
NOTE You may need to increase the total number of frames on your time
line for the table cloth to collide with the table.
Even though you adjusted the table cloth’s Thickness, the table cloth still
does not appear to be making contact with the table’s surface. This is
because passive collision objects, like the table, also possess collision
volumes.
9 In the scene view select the table, and in the Attribute Editor select its
nRigidShape1 tab.
12 In the Collisions section, select Off from the Solver Display drop-down
list.
The table’s Collision Thickness is no longer displayed in the scene view.
The way Collision Thickness appears in the scene view is determined by your
nCloth’s current Collision Flag selection. The Collision Flag drop-down list lets
you specify which of the table cloth’s components participate in its collisions
and which type of collision volume is used by the table cloth. You can adjust
the speed of your nCloth collisions with the Collision Flag at the cost of
collision accuracy.
Face provides the best and most accurate collisions, but it is the slowest
to calculate the collisions for.
5 Change the Collision Flag selection to Vertex. Vertex produces the least
accurate collisions, but it is the fastest to calculate the collisions for.
Vertex and face are useful when you want to speed up your simulation
by reducing the number of collision calculations, or your cloth simulation
does not require the maximum level of collision accuracy (for example,
for a distance shot of colliding nCloth objects).
7 Reset the Collision Flag to the default Face selection, and select Off from
the Solver Display drop-down list.
For more information and related techniques about nCloth, refer to the Maya
Help.
Introduction
Often times, to create certain cloth effects, you need to attach nCloth to other
nCloths or passive collision objects and have those other Maya Nucleus objects
restrict or drive your nCloth’s movements. For example, you can use nCloth
constraints to create buttons on nCloth garments, replace collisions, bind
topologically different nCloth objects together, and exclude and limit nCloth
and passive object collisions.
In this lesson you learn how to:
Lesson setup
To ensure the lesson works as described, do these steps before beginning:
To constrain an nCloth
The flag falls downward through the air. For the flag to retain its position
beside the flag pole in XYZ space, it needs to be constrained to the static
flag pole passive object.
NOTE You may need to increase the total number of frames in the timeline.
4 Right-click the flag and select Vertex from the context-sensitive menu
that appears.
The flag switches to vertex display mode.
5 Dolly in the camera so that you can view the vertices along the left side
border of the flag closely.
1 Dolly in the camera so that you can view closely the Point to Surface
constraint links that are visible between the flag and its flag pole.
The flag points and the flag pole surface that are members of the selected
Point to Surface constraint highlight in the scene view.
The selected constrained flag points are removed from the constraint and
their constraint links disappear from the scene view.
■ Constrain nCloth.
Introduction
■ Adjust and paint properties of nCloth to make it behave like real life fabric.
Lesson setup
To ensure the lesson works as described, do these steps before beginning:
The dress in this scene is initially just a mesh and not an nCloth object. Your
first step will be to convert the dress into an nCloth object.
3 Set the Cache directory to the folder to which you want your caches
saved.
5 Click Create.
Maya will begin to play the scene automatically and store the frames in
the directory you specified. When it is finished, click the Play button in
3 In the Collisions section set Collision Flag to Face, Self Collision Flag to
Vertex Face, set Thickness to 0.066 and Self Collide Width Scale to 1.885.
4 Select the nClothShape1 tab and in the Dynamic Properties section set
Mass to 0.7.
3 Select the nClothShape1 tab and in the Dynamic Properties section set
Input Mesh Attract to 1.0.
6 Select nMesh > Paint Vertex Properties > Input Attract > .
In the Tool Settings Editor, the Paint nCloth Attributes Tool becomes the
current tool.
■ Radius(L): 3.0
■ Value: 0
Move the cursor to the dress and you will notice that the cursor becomes
an artisan brush.
13 Using the Tool brush, paint around the top of the bodice.
Make sure to dolly and tumble the camera to ensure you have painted
the entire top of the bodice.
15 Using the Tool brush, paint the rest of the bodice. Be careful not to paint
over your previous values.
16 Dolly and tumble to ensure that you have painted the entire bodice.
4 Select nSolver > Initial State > Relax Initial State > .
The Relax Initial State Options window appears.
By setting the Steps option to 300 you are setting the nCloth dress’ initial
position to mimic that of its position at frame 300 of the animation
(when the dress has fallen onto the body and relaxes).
NOTE If you de-selected the constraint and have trouble re-selecting it, you
can select Window > Outliner to open the Maya Outliner. You can then select
the constraint by left-clicking dynamicConstraint1 in the Outliner.
4 In the Quality Settings section, set Max Self Collide Iterations to 20 and
turn on Self Trapped Check.
The Max Self Collision Iterations value specifies the maximum number
of self-collision related nCloth calculations performed per substep.
Increasing this value allows Maya to recognize more self-collisions and
thus simulate more realistic cloth, but at the cost of slower speed.
You may increase the values in the above steps to further improve the
simulation. However, keep in mind that caching the animation becomes
progressively slower as these values increase.
1 Select the dress and in the Polygons menu set select Mesh > Smooth.
For more information and related techniques about nCloth, refer to the Maya
Help.
Nucleus dynamics allow users to create particle effects and dynamic simulations
that cannot be achieved with Maya classic particles. For example, Liquid
Simulation attributes allow you to create particles that behave like liquids, which
can interact and drive nCloth animations and deformations. Maya nParticles
also includes an improved workflow for setting per particle attributes using
ramps, and expands the number of properties and options that can be mapped
to per particle attributes.
173
nParticles is driven by a dynamic simulation framework called Maya®
Nucleus™. A Maya Nucleus system is composed of a series of nParticle objects,
nCloth objects, passive collision objects, dynamic constraints, and a Maya
Nucleus solver. As part of the Maya Nucleus system, the Maya Nucleus solver
calculates nParticle simulation, collisions, and constraints in an iterative
manner, improving the simulation after each iteration, to produce accurate
cloth behavior.
You can use nParticles to create the same particle effects that can be created
using Maya classic particles. For most effects and simulations, nParticles and
classic particles use the same creation workflows and tools. In addition to
Maya classic particle capabilities, nParticles include the following advanced
simulation features:
■ Convert nParticles to polygon meshes from which you can modify and
manipulate like any other polygon.
2 If you have not already done so, copy the GettingStarted folder from
its installation location to your projects directory. Then, set the
3 Select the nDynamics menu set. Unless otherwise noted, the directions
in this chapter for making menu selections assume you’ve already selected
the nDynamics menu set.
Introduction
For the nParticle smoke simulation, you create a nParticle system that is
composed of an nParticle object, an emitter object, and a nucleus node. You
can also use external Dynamic forces with nParticles to create realistic smoke,
dust, or jet stream effects.
See the Dynamics tutorials in the Getting Started with Maya for particle tutorials
that use fields. Although some nParticle attributes are different than Maya
Lesson setup
3 In the Emitter Options (Create) window, select Edit > Reset Settings.
■ Set DirectionY to 1.
12 Click Create.
An Emitter_Smoke1, nParticleShape1, and a nucleus1 node appear in the
Attribute Editor.
When you create a new nParticle object, a new Nucleus system is created. As
part of a Nucleus system, the nParticles can interact with other Nucleus objects
that are assigned to the Nucleus solver. If you created an emitter for your
nParticles, an emitter node is also created. The following sections describe the
new nodes in your new Nucleus system.
nParticleShape1 is the node that carries all the nParticle object attributes that
define the appearance, size, and overall behavior of each particle in the
nParticle system.
Emitter_Smoker1 is the nParticle emitter node, which carries all the particle
emission attributes such as particle emission rate and emitter type. This node
also carries the transformation attributes (translation, rotation, scale) for the
emitter object. The emitter node used by nParticles is the same emitter node
used by Maya classic particles.
nucleus1 is the Maya Nucleus solver node, which carries all the attributes
affecting the solver system, including internal forces. For more information,
see Maya Nucleus solver properties.
In this lesson you were introduced to the basic concepts of nParticles and the
Nucleus dynamics system. In addition, you learned how to:
For more information and related techniques about nParticles, refer to the
Maya Help.
Lesson setup
When you play back the simulation, you notice that nParticles are being
emitted at the scene origin. In this lesson, you move the emitter so that the
particles are emitted from the tip of the cigarette.
2 Select Display > UI Elements > Channel Box/Layer Editor to display the
Channel Box.
■ Translate Y: 120
■ Translate Z: -27.3
■ Rotate Y: -90
■ Scale Z: 1.5
4 In the scene view, dolly and tumble so that you get a close-up view of
the cigarette's tip.
The nParticle emitter is now positioned at the tip of the cigarette.
When you play back the simulation, you notice that the nParticles are not
dissipating into the air as smoke would. This is because the nParticles lifespan
is not yet defined. Using the nParticle Lifespan attributes you make the
nParticle disappear from the scene after they reach a specified age. You can
3 In the Lifespan section, select Random range from the Lifespan Mode
list.
2 In the Radius Scale section, click anywhere in the ramp to create a new
point.
3 For the first marker in the ramp, set Selected Position to 0, and Selected
Value to 0.50.
4 Click the second marker in the ramp. Set Selected Position to 1, and
Selected Value to 1.5.
5 To map the nParticles Radius to the nParticles’ age, set Radius Scale Input
to Normalized Age.
When Normalized Age is used, per particle radius is mapped within the
range of the nParticle object’s lifespan.
To color the nParticles so they look like smoke, you use the Color ramp to
specify a color gradient for the smoke. In addition, you adjust Opacity to help
produce the effect of the smoke disappearing into the air as the nParticles age.
Like the nParticle Radius attribute, Color and Opacity can be set on a per
nParticle object or per-particle basis. Using the nParticle objects's Shading
4 To set the color of the nParticles when they are first emitted into the
scene, click the ramp’s far left marker (at Selected Position 0), and then
click the color swatch beside Selected Color.
The Color Chooser appears.
5 In the Color Chooser, choose a medium shade of grey, or use type the
following color values into the HSV (Hue-Saturation-Value) fields:
■ H: 0
■ S: 0
■ V: 0.5
6 To set the color of the nParticles when they continue to age, click the
ramp’s far right marker (at Selected Position 1.0), and then click the color
swatch beside Selected Color.
The Color Chooser appears.
7 In the Color Chooser, choose a shade of grey that is darker than the color
you previously selected or type the following color values into the HSV
(Hue-Saturation-Value) fields:
■ H: 0
■ S: 0
9 To improve the way that the nParticles’ colors blend as they age, do the
following:
■ Set Interpolation to Smooth for each marker.
When you play back the simulation, you notice that the smoke is too
dense and heavy to resemble cigarette smoke. To make the smoke look
thinner, you adjust the nParticle Opacity.
1 In the Opacity Scale section, click in the ramp, and set an Opacity ramp
by setting the following three markers:
■ Selected Position: 0, Selected Value: 1
■ Use the Radius Scale ramp to map per-particle radius to nParticle age.
■ Use the Color and Opacity attributes to define the color and thickness of
the smoke.
For more information and related techniques about nParticles, refer to the
Maya Help.
Lesson setup
In this lesson, you use the Nucleus solver wind to influence the smoke so that
it drifts as it rises. Any other Nucleus objects (nCloth objects or other nParticle
objects) that are assigned to the same Nucleus solver would also be affected
by the force of the wind.
The smoke is now dispersing over a larger area and it is drifting toward
the desk light.
You can continue to adjust your smoke simulation settings, such as
increasing the nParticle emission rate to 150 or adjusting the curves on
the Radius Scale, Color, and Opacity Scale ramps.
In this lesson, you learned how to add Nucleus wind to your nParticle effect.
You can experiment with the Nucleus solver’s Wind Speed, Wind Density,
and Wind Direction attributes to change the direction of the rising smoke.
You can also add Maya fields, such as Volume Axis, Turbulence, or Radius,
fields to effect the behavior of the smoke.
For more information and related techniques about nParticles, refer to the
Maya Help.
Introduction
The first step in creating a liquid simulation is to create a water style nParticle
system, which will be constrained to the modeled polygon water pitcher. You
can do this using the Fill Object nParticle creation method.
2 Select the geometry that you want to fill with the Water style nParticle.
In this case, select the water pitcher mesh. To do this, in the Outliner,
select geo_pitcher, contained in the grp_Pitcher object.
4 In the Particle Fill Options window, select Edit > Reset > settings.
For the nParticles to interact with the water pitcher mesh, it must be converted
to a passive collision object and assigned to the same Nucleus system.
By reducing the Space Scale value, Maya evaluates the nParticle system
as if they were much smaller in size. This will result in a visibly increased
gravitational affect on the nParticles.
3 Rewind the simulation to the start frame, and then play it back.
When you play back the simulation, you notice that the nParticles are now
contained in the pitcher, but they occupy a small amount of the pitcher’s
volume. Also, the nParticles appear to be pushing down as if they are under
a force of pressure or compression. In the next section, you begin adjusting
the Liquid Simulation attributes that make the nParticles look and behave
like a liquid.
■ Adjust the Nucleus slover’s Space Scale attribute to suit the scale of your
simulation.
Lesson setup
6 For this liquid simulation, you want the liquid nParticles to fill one-third
of the pitcher’s volume. Adjusting the Nucleus solver Substeps and Max
Collision Iterations can also affect the amount of volume that is generated
by the Liquid Radius Scale value. To adjust Substeps and Max Collision
Iterations, do the following:
■ In the Attribute Editor, click the nucleus1 tab.
When creating liquid simulations, Liquid Radius Scale can be affected by other
nParticle attributes, such as Radius and Collide Width Scale. For example,
Liquid Radius Scale uses the nParticle object's Radius to determine how
nParticles overlap, and any change in the nParticle Radius will affect how your
nParticles overlap in the liquid simulation. Adjusting the Nucleus solver
Substeps and Max Collision Iterations can also affect the amount of volume
that is generated by the Liquid Radius Scale value. You can experiment with
these settings by changing Substeps to 10 and Max Collision Iterations to 15
and observe how your liquid simulation is affected.
In the next section of this lesson, you adjust nParticle Collide Scale Width
and Incompressibility attributes to add fluidity to your nParticles.
To make it easier to see how the nParticles are interacting with the pitcher
and glass passive collision objects, turn on the Solver Display to see the
nParticle collision volume. Collision volumes are a non-renderable surface
offset from each nParticle radius that the nucleus solver uses when calculating
the nParticle object's with each passive object collisions.
To set Incompressibility
For this tutorial, you leave the following Liquid Simulation attributes at their
default values:
■ Viscosity: 0.1
You can experiment with Rest Density by setting it to 0.5 and then 4.0. Play
back your simulation with each new setting to observe how the values affect
your nParticles. Set Viscosity to 10,play back the simulation, and observe how
long it takes in the animation for the nParticles to move from the pitcher to
the glass. Ensure you set Viscosity and Rest Density to their default values
before continuing the tutorial.
In this lesson you learned how to Adjust Liquid Simulation attributes to set
the volume and fluidity characteristics of your liquid nParticles.
You can convert an nParticle object to a polygonal mesh, which you can then
treat like any other polygon. For example, you can improve the quality and
overall look of your liquid simulation by performing a polygon smooth
operation on the nParticle output mesh. Polygon smoothing will increase the
number of polygons in your output mesh to give it a smoother overall
appearance.
Throughout this tutorial, when played back each simulation, you notice that
the nParticles take some time to settle down before the pitcher animation
starts. This occurs because, at frame 1, the Nucleus solver begins after the
nParticles arrive at equilibrium by setting the initial state for the simulated
nParticles. From frame 1 to 30, the nParticles react to this force, arriving at a
state of equilibrium during the first 30 frames of the simulation. Be aware that
any force exerted on the nParticles, such as the pitcher lifting off the desk,
disrupts the equilibrium between the nParticles and the force of gravity.
1 Play the simulation and stop the playback at or around frame 30.
3 Select nSolver > Initial State and then select Set From Current.
6 In the Output Mesh section, select Quads from the Mesh Method list.
Selecting Quads will convert your nParticles to a quad-based polygon
mesh. The Tetrahedra, Cubes, and AcuteTetrahedra coverts nParticle
objects to triangulated meshes.Quad-based polygon meshes respond
better to polygon smoothing than triangle-based meshes.
7 Experiment with the following Threshold values. Dolly and tumble the
scene so that you can closely observe any problem areas.
■ Set Threshold to 0.2.
At this value, the nParticle output mesh is extending beyond the
nParticle object’s collision width and penetrates the inner wall of the
pitcher’s mesh.
■ Set Threshold back to its default value of 0.6 and continue with the
tutorial.
You will notice that since you converted the nParticle to an output mesh, the
playback of the simulation has slow down considerably. This is due to the
additional calculations required for nParticle and its associated output mesh.
However, you can use Maya's nCache feature to cache the simulation and play
the scene at full speed.
5 Set the Cache directory to the folder to which you want your caches
saved. Set the Cache name to LiquidSimulationCache. Click Create. Maya
will begin to play the scene automatically and store the frames in the
directory you specified. When it is finished, click the Play button in the
animation controls. You will notice that the scene now plays back faster.
However, if you change any of the nParticle attribute settings you will
need to create a new cache to view your changes.
In the next section of this lesson, you use the cached simulation to help
optimize specific areas of the simulation.
To finish the liquid simulation, you set the Motion Streak attribute to optimize
the motion of the nParticles during the pouring sequence of the animation.
You also add an ocean shader, which gives the water surface transparency and
the reflective properties of water.
1 In the Timeline, go to frame 119, and the dolly and tumble the scene so
that you have a close-up view of the water nParticles pouring into the
glass.
3 To make the mesh a continuous flowing object, set the Motion Streak
attribute.
4 In the Work Area tab, Right-Click oceanShader and from the marker
menu, select Assign Material to Selection.
Your nParticle output mesh now appears white. To see the effects of the
ocean shader, you need to render a frame of your simulation.
About Live
Imagine that you must replace the contents of a live-action shot of a fence with
a fence modeled in Maya. In the live-action shot, the camera sweeps around
the fence. You can use Live to animate a Maya camera that sweeps around your
modeled fence in the same way. When you render the Maya fence from this
camera, it will have the same camera perspective as the live-action fence. You
can therefore composite them together precisely.
215
Live can also match the movement of objects in the live-action shot. Suppose
you want to replace the hat of a moving, live-action person with a cartoon
hat created in Maya. You can use Live to create 3D locators that follow the
movement of certain points on the live-action hat. You then attach a hat
created in Maya to these moving points, so that the rendered Maya hat follows
the movements of the live-action person. The steps for matching object
movement are about the same as matching the camera.
To use Live, you do the following major tasks in order:
Setting up
You begin by loading digital images of the live-action shot. In this lesson,
you’ll use images scanned from film footage.
Images appear on an image plane. This plane is part of the Maya camera. It
displays images as part of a background.
In this task, you mark a variety of points within the images, such as the center
of a flower or a mark on the fence, and have Maya track how they change
position from frame to frame.
Solve
In this task, you run a solver program that computes an animated camera,
based on the movement of the track points.
Fine Tune
3 Locate the Live lesson data on the Maya DVD. It exists on the DVD in
this location:
Extras/LiveLessonData
You can work from the DVD directly or copy the directory to the local
disk of your choice. If you copy the directory, you’ll need about 300 Mb
of disk space.
4 If Live doesn’t appear in the menu set selection menu, select Window >
Settings/Preferences > Plug-in Manager. In the Plug-in Manager, locate
mayaLive.mll (Windows) and click the loaded checkbox. Wait about 20
seconds for the operation to finish, then close the Plug-in Manager.
5 Select the Live menu set. All instructions in this lesson assume you have
the Live menu set selected.
Lesson setup
You begin the lesson by loading digital images of a live-action sequence. You’ll
work with images we created for your use.
1 In the Setup control panel, click the Browse button next to the Full Res
Image box.
3 Click the Open button. Live loads the entire image sequence, from
shot1BG.rgb.0001 to shot1BG.rgb.0240.
4 From the Predefined Filmbacks list (on the Setup control panel), choose
35mm Full Aperture.
Filmback is the aspect ratio (width/height) of the exposed film negative
used during filming. Before using Live, you need to find out which
filmback was used during filming. Without it, Live cannot determine the
correct angle of view (camera aperture) and focal length.
Introduction
This lesson guides you through the main tasks in Live: tracking and solving.
In this lesson you learn how to:
■ Evaluate how closely points are tracked using the Track Summary panel.
Tracking provides Live with information about the way objects in the shot
appear to move. Just as objects move in your field of view when you walk by
them, the way objects move in the camera view gives Live information on
how the camera moved during filming.
You’ll track points for various spots, such as a mark on the fence. To track a
point, you mark each spot in the image and have Live run a tracker that
automatically follows the point’s movement from frame to frame. The result
is called a track point.
Later, in the solve task, Live will animate a Maya camera based on the track
point movement.
1 Open the Track control panel by clicking the menu on the far left of the
control panel and choosing Track.
Above the Track control panel, Live displays preset view panels. The view
panels match the needs of tracking. The following illustration labels these
panels, shown the way they might look at the end of the lesson.
2 Play the shot and watch it in the shotCamera view panel. Don’t worry if
the playback seems jerky, because you are only getting a rough look at
how the camera moves. In fact, you can skip through the frames quickly
by dragging in the Time Slider.
1 Go to frame 1.
3 Before you reposition the track box, enter flower1 in the Name box in
the Track control panel. We recommend you name track points for future
reference.
4 In the Track control panel, click the track box tool so you can reposition
the track box.
If you switch to another tool, such as rotate, remember to select the track
box tool again if you thereafter need to move track boxes.
5 In the shotCamera1 view, drag the track box down to the fourth clump
of flowers from the right.
Notice that the track box resizes if you drag the edges. For this track point,
keep the boxes at the default size. Choose Edit > Undo if you resize it
accidentally. It may require a number of Undo commands to return to
the original configuration of the track box.
The point you are tracking is at the center of the track box cross-hair. To
track this point, Live uses the pattern of pixels defined by the inner box.
The outer box is the range Live searches for the target pattern.
1 Review the movie file that Live generates at the end of tracking.
Identify any areas where the cross-hair slips noticeably from the original
position on the flower. This takes some judgment. Since the flower
changes shape over time, you must visualize where the original point
would be as the camera perspective changes.
If the cross-hair appears to stay within two pixels of the original target
point, you have tracked the flower successfully. If the cross-hair moves
completely off the flower or the tracking stops before it reaches the last
frame, you must track again. Delete the track point (click Delete in the
Track control panel), return to frame 1, position the track box cross hair
exactly in the center of the flower closest to the fence, and click Start
Track.
As illustrated, the green region drops over time, leaving the graph mostly
yellow toward the end. This is a normal occurrence, caused by the
changing pixel pattern of the point you tracked. In this case, you can
ignore the yellow color, because the main evaluation tool—the movie
file—indicates the track is on target.
NOTE The curved blue (or red) line next to the track point is a trace line. It
is an optional tracking feature you will not use in this lesson.
1 Go to frame 1.
2 Click Create and drag the track box over the bottom corner of the far
right fence post. If you have trouble dragging the track box, click the
track box tool again:
Knowing where to position the track box involves two important factors.
One factor is the pattern framed by the inner target box. This pattern
must have at least some contrast and must be distinct from the
surrounding region that is framed by the outer box. By having a distinct
pattern within the inner target, you will prevent the tracker from jumping
off target and onto a similar pattern.
Another important factor is choosing where you place the cross-hair. You
want it to be over a spot that you can recognize in later frames when the
pattern changes. By aligning the vertical cross-hair line with the post
edge and the horizontal cross-hair line with the bottom of the post, you
can identify this same spot in later frames.
1 To see fenceCorner’s tracking graph better, click the Track Summary panel
and tap the space bar.
2 You need to select and remove the tracking data after frame 52—the last
frame still on track. To identify this frame in the graph, move to frame
52 in the Time Slider. In the Track Summary panel, a black bar shows the
location of frame 52.
3 In the Track Summary panel, draw a selection box from right to left
around the end of fenceCorner’s graph. Do not select beyond the black
bar that indicates frame 52. Also, be careful to select only the frames for
fenceCorner, not flower1.
4 In the Track Summary panel, choose Edit > Delete Region. Live removes
the bad tracking data from fenceCorner.
Deleting regions where the track is off target is crucial to successfully
solving your shots. Whenever you find difficulty tracking a point for a
specific segment of frames, consider deleting the tracking data.
1 Move to frame 143, where the fence corner reappears in view. In the
following steps, you will continue to track from this frame to the end of
the shot.
You’ll skip tracking a large amount of frames for the fenceCorner point
(the ones in the middle of the graph), which is common practice when
3 Shorten the track box’s inner target box by clicking the inner target box’s
bottom edge and dragging up as shown below. The tracker will not work
if the target area extends beyond the image.
4 In the Track control panel, click Start Track. If the tracker successfully
tracks to the last frame, you’ll see a graph similar to the following
If the tracker fails to create a graph similar to the above illustration, three
actions might have occurred:
■ The tracker stays stuck at the same frame and the animation frame doesn’t
advance
1 Choose Track > Import Track Points from the Live menu set.
Preparing to solve
Are there enough track points for you to solve the camera movement? Follow
these instructions to see how you make this decision.
2 For each frame, make sure there are at least four points with graphed
tracked data. Experience has shown that four points is the minimum
average you need to solve a shot.
In the middle frames, such as frame 135, there is less track data. However,
on this frame and all frames in the middle, there are at least four.
4 As a preventive measure, look for blue tick marks in the graphs for flower1
and fenceCorner—the track points you created.
A blue tick mark indicates you moved the track box for that frame. You
may have moved it accidentally—for example, if you clicked on the track
box to select it. Click on the blue tick mark to go to that frame. Then, in
the pointCenteredCamera view, compare the frames next to this frame.
A shift as small as one pixel can cause problems when you solve.
If you see a sudden shift between the frames, go to that region in the
Track Summary graph, select two or three frames (you can simply
estimate), and choose Edit > Delete Region.
5 Look at the Ready to Solve bar at the bottom of the Track Summary.
It’s mostly green and yellow, with little red. The red area is mostly in the
middle because there is less track data there. However, since you meet
the minimum number of points, it’s worth trying to solve. You can always
add more track points later.
1 Open the Solve control panel by clicking the control panel menu on the
far left and choosing Solve.
The Solve control panel has a different arrangement of view panels than
the ones you used for tracking. You will learn about these other panels
as you continue with the lesson.
2 In the Solve control panel, click the Solve button to begin the solve
process. This process will take several minutes to complete. (You do not
need to go to frame 1 when you solve; Live solves for all frames by
default.)
Notice the column of buttons next to the Solve button, with Start at the
top and Register at the bottom. These buttons run the solver in stages—the
same stages that it performs when you click Solve. Running the solver in
stages is only for advanced use; you can ignore these buttons for now.
2 Play the animation and tumble the perspective view while the animation
plays so you can see how the camera moves.
You need to judge whether the camera moves the way you expect. You
know the camera starts above the set and moves down, so it should start
above the locators and sweep down in the same way. Compare the frames
in the following illustration.
In this case, the camera starts below the locators and moves up instead
of down. It also makes a series of abrupt movements. This solution is
incorrect.
4 For further evaluation, examine the graphs in the panel on the lower left.
This is the Locator Summary.
The Locator Summary graphs the pixel slip of each point over time. You
already looked at the overall pixel slip, but the Locator Summary lets you
find which point has the most pixel slip and on which frames.
NOTE The other panels in the layout are the Graph Editor and the
shotCamera. The Graph Editor is for advanced users. It can be helpful for
examining the camera animation curves so that you can pinpoint problem
areas. The shotCamera panel is useful in later stages, after you have a correct
solution. You can ignore both of these panels for now.
3 Click Solve.
In general, having a diversity of points, such as points far and near the
camera, is critical to helping the solver.
4 When the solver finishes, solution_rf1 appears in the solution list. Check
the Overall Pixel Slip in the Solve control panel. It reads about 0.322, so
the new points have made an improvement.
If you have a larger Overall Pixel Slip, the problem may be that initial1
was selected when you solved again. Try selecting solution_rf instead and
clicking Solve again. The solution you have selected when you click Solve
can affect the outcome of the solver.
6 If you plan to continue with the next lesson, we recommend you first
save your scene into the current scenes directory.
■ Evaluate how closely points are tracked using the Track Summary panel.
With the camera movement solved, you can create your animation using the
solved camera to make sure the animation does not move out of the camera
view. If your animators use Maya Complete or another software product, you
must export the camera solution from Live (Scene > Export Scene As). You
can also export to other 3rd party 3D and compositing applications.
When you render the animation, we recommend you do so without the image
plane background. A better workflow is to render the animation created in
Maya separately and then use a compositing software application to combine
it with the live footage background.
However, if you do want to render the image plane, you must turn off the Use
Cache option on the Setup control panel. The Use Cache option utilizes a Roto
node, which does not render. By turning Use Cache off, Live switches to the
standard Maya image plane, which is renderable.
Introduction
This optional lesson is a continuation of the previous lesson.
The objective in this shot is to replace the filmed fence with a fence modeled
in Maya. Suppose you had taken measurements of the fence from the film set
and used the measurements to model a fence in Maya. The locators created
by Live would not match the same scale that you used for the model. Also,
the locators and camera Live created are not near the perspective view grid,
which is a convenient reference for modeling and animating.
To solve these issues, you can incorporate the measurements you surveyed
from the set into the Live solver. You do this with the survey constraints
feature.
Even if you do not have survey measurements, you can use estimates to change
the spacing between locators and their orientation within the Maya scene.
2 In the Solve control panel, click the Survey option to open the survey
constraint settings.
4 To help select the points, open the Outliner (Window > Outliner).
■ tileInFront
A convenient way to bring points onto the grid is to use a Plane constraint,
which aligns locators onto a plane.
■ fenceCorner
■ flower2
■ tileInFront
3 Click Create. Live places the Plane constraint on the perspective view
grid by default.
Registering a solution
To incorporate your survey constraints, you could solve from scratch (click
Solve). However, you do not need to. You already have an accurate solution;
you only want to incorporate the survey constraints.
For this reason, Live lets you run the last step of solving: Register. In this step,
the solver applies survey constraints to the solution as a whole without
changing the relative positions of locators and the camera.
■ fenceX4
■ fenceX1
■ fenceRailSpot
■ fencePostEdge
■ fenceleft1
■ fenceleft2
These are the points that are on the front of the fence.
4 Click Create.
6 In the Channel Box, rotate the fence plane by entering 90 in the Rotate
X attribute. Because the real fence is at a 90 degree angle to the backyard
ground, you must rotate the fence constraint the same way in Maya.
In this case, only the plane’s rotation matters, not where you move it.
No matter where you move the fence Plane constraint, the fence points
will remain on the grid because the solver must obey the ground
constraint you created.
The scale of the Plane constraint never matters because the solver treats
it as infinitely large.
7 Switch to the Solve control panel, select registered from the solution list,
and click the Register button. The solver creates registered1 with the fence
points aligned with the XY plane.
5 Switch to the Solve control panel, select registered1 from the solution
list, and click the Register button. The solver creates registered2 with
fenceCorner at the origin.
You will now import a fence that has been modeled to exactly match the fence
that was filmed.
1 Hide the Plane constraints by selecting them and choosing Display >
Hide, Show.> Hide Selection By hiding them, you can see the fence better.
2 Enlarge the shotCamera view panel, which is in the upper right of the
Solve panel layout. This panel shows the view from the solved Maya
camera.
In frame 1, you can see that the modeled fence accurately matches the
fence that was filmed. To quickly see if it matches well in the other frames,
you can scrub through the shot in the Time Slider.
3 To scrub through the shot, drag slowly from left to right in the Time
Slider.
The fence model does not appear to slip in relation to the background,
so this confirms that the solution is accurate. If you rendered a sequence
of the camera moving around the modeled fence, you could composite
the sequence with the original background and they would exactly match.
Although scrubbing tends to skip frames, it gives a preliminary
confirmation that the fence model matches the background in all frames.
249 | Index
Delete Region 228 F
Density
description 51 feedback
emitting 50 fur 96
fluid property 50 filmback for Live 219
fur setting 111 floating geometry 83
painting 69 Flood 73, 105
Depth Map Shadows 31, 118 fluid container
Depth Max 63 boundaries 51
displacement creating 50, 60, 69
ocean 79 fluid dynamics 49
Displacements fluid properties 50
hair 29 adding constant values 61
Display Quality emitting 50
hair 16–17 painting 69
Display Start Position Fluid Slice Location 72
hair 18 fluids
Distance survey constraint 239 attributes, changing 52
Dmap Focus 118 color 55
duplicate deforming geometry with 58
symmetrical 89 emitting 50
dynamic curves 34 emitting from surface 58
hair 9 forces 51
dynamic fluid painting properties 69
behavior, changing 52 resolution 60
Contents Method 53 self-shadowing 66
creating (3D) 68 shader attributes 62
description 49 texturing 62
Dynamic Grid 52, 55, 70, 74 follicle
attributes 28
hair 10
E forces
Eccentricity 83 container boundaries 51
Edge Bounded Gravity 53
hair 15 Fuel
Emit Fluid Color 56 painting 69
emitting Full Res Image 219
color 55 fur
Density 50 Attribute Editor 107
fluid 50 attributes 96
fluid from surface 58 base width 111
Equalize color modification 108
hair 15 Density 111
expressions 84 description 95
direction 98
Direction Offset 99
250 | Index
feedback 96 Hair Width 29
Inclination 111 hairConstraintShape 42
Length 111 Hairs Per Clump 28
Paint Attributes Tool 101 hairSystemShape 17
Polar 99 hide layers 102
presets 88
reduce length 101
Roll 99
I
Scraggle 111 image cache in Live 222, 246
tip width 111 image plane and rendering 238
Import Tracked Points 230, 235
G Incandescence 76
Inclination 99, 111
Get Fluid Example 68 Iterations
Getting Started with Maya Unlimited hair 22
about 2
copying lesson files from DVD 5
installing lesson files 5
L
lesson conventions 4 Layer Editor 92
prerequisites 3 layers
using lesson files 4 assign objects to 94
Glue Strength 42 create 93
Gravity 53 description 92
hair 17, 22 editor 92
hide 102
H reference 93, 109
settings 109
hair template 109
assigning a Paint Effects brush 39 Length
colliding with objects 38 hair 15
constraining 40 Length Flex
creating 14 hair 22
creating Rest curves 21 lights
improving playback performance 17 add to a scene 114
modifying 28 spotlights 114
Paint Hair Tool 10 Live
playing the hair simulation 16 control panels 218
rendering 27, 43 solver 233
setting up collisions 23 starting 218
shadowing 30 loading
styling 18 Live 218
Hair Color 39 Locator Summary 234
hair curves 13 Locators
hair system 10 hair 24, 27
attributes 28 Lock Length
Hair to Hair constraint 40–41 hair 19, 41
Index | 251
M shading 185
tutorial 173
Make Boats 84 Num Frequencies 81
Make Collide 57 Numeric Display 53
hair 39 NURBS curves
Make Motor Boats 85 hair 10
manipulators, subvolume 70
match moving 215
Maya Unlimited
O
about 1 ocean
installing 3 attributes, modifying 80
restoring user preferences 7 creating 78
saving user preferences 6 plane 79
mayaLive.mll 218 shader 78–79
mayalive.so 218 Opacity 64
Modify Curves Opacity Input 62
hair 19 Outliner 117
Output
N hair 10
Overall Pixel Slip 233
New Matchmove 218 Oversample 27
Noise Oversample Post Filter 27
hair 39
non-dynamic fluid 49
creating 59
P
description 49 Paint Effects hair 10, 27
non-hair simulation 34 Paint Fluids Tool 70
normals Paint Fur Attributes Tool 101
reversing 97 Color Feedback 104
surface 96 Flood 105
nParticle tutorials Reflection 106
overview 173 Smooth operation 105
simulating liquids 193 Paint Hair Tool 10
simulating smoke 175 painting
nParticles Density 69
about Nucleus nodes 179 fluid properties 69
adding Nucleus wind 191 Fuel 69
adjusting attributes 180 Temperature 74
caching 209 Passive Fill
converting to polygon meshes 205 hair 15
creating 176 Perlin Noise 62
creating passive collision Pitch 84
objects 197 Plane constraint 240
creating water particles 194 Playblast for matchmoving 246
emitter 176 Plug-in Manager 218
Liquid Simulation attributes 200 Fur 88
252 | Index
Point constraint 244 Dmap Focus 118
Point Method 42 shotCamera view panel 221
Points Per Hair 15 Show/Hide Attribute Editor icon 117
Polar 99 Size Rand 64
Ponds 86 size, container 60
creating 86 slice 70
Predefined Filmbacks 219 Slices Per Voxel 73
preview plane 79 Smooth
hair 21
Paint Fur Attributes Tool 105
R Solve control panel 232
Randomization solver for Live 233
hair 15 Specular
reduce fur length 101 hair 31
reference layer 93, 109 Specular Power
reflect hair 31
Paint Fur Attributes Tool 106 Specularity 83
Register step 241 spotlights 114
renaming surfaces 91 Spottyness 64
render a scene 118 Stamp Depth (3D) 74
render image plane 238 Start Position 16
Render Settings 118 setting 18
resolution, fluid 60 Start Track button 224
Rest Position 16 Static Grid 74
reverse normals 97 Stiffness
Roll 84, 99 hair 17, 22
Stiffness Scale
hair 22
S Sub Segments
hair 28
Scraggle subvolume manipulators 70
fur setting 111 surface render 58
Selected Position 65 surfaces normals 96
Self Shadow 66 survey constraints 238, 246
self-shadowing Survey option 239
fluid 66
Set Rest Position 22
Set Start Position 18, 23 T
Set to Dynamic 56, 71, 74
Setup Cache control panel 222, 246 Temperature
shader fluid property 50
fluid 62 painting 74
Shading template layer 109
hair 31 Texture Opacity 62
shadowing Texture Scale 63
attribute for spotlights 116 Texture Time 67
Depth Map 118 Texture Type 62
Index | 253
texturing, fluid 62 V
Thinning
hair 28 V Count
tip width 111 hair 15
track box tool 223 Velocity, fluid property 50
Track control panel 221 volume pixels 52
track point 220 voxels 52, 60
Track Summary panel 225
Tracking Direction 224
turbulence 53
W
Twist Wakes
hair 20 creation 86
water
U open 78
Wave Length Max 81
U Count Wave Peaking 82
hair 15
Use Cache option 238
user preferences
X
restoring 7 X, Y, Z Resolution 60
saving 6 X, Y, Z Size 60
254 | Index