Sophie

Sophie

distrib > Arklinux > devel > i586 > media > main > by-pkgid > 2c46997be5021ee3173c5af9332905d7 > files > 953

blender-manual-2.49a-1ark.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Constraints</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Blender Documentation Volume I - User Guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Character Animation"
HREF="c6466.html"><LINK
REL="PREVIOUS"
TITLE="Non Linear Animation"
HREF="x6795.html"><LINK
REL="NEXT"
TITLE="Rigging a Hand and a Foot"
HREF="x7002.html"></HEAD
><BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Blender Documentation Volume I - User Guide: Last modified April 29 2004 S68</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="x6795.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Character Animation</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="x7002.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="character_constraints"
></A
>Constraints</H1
><P
>&#13;	            Constraints are filters that are applied to the
	            transformations of bones and objects.  This
			section is actually quite general and does not apply only
			to character animation since many other animations
			can benefit from constrains.
		</P
><P
>&#13;			Blender Constraints can
	            provide a variety of services including tracking and IK
	            solving.
	        </P
><P
>&#13;	            To add a constraint to an object, ensure you are in 
			object Mode and in Object Context (<B
CLASS="keycap"
>F7</B
>) and
	            that an Object is selected. If you
			are adding a Constraint to a Bone be sure to be in Pose
			Mode rather than Object Mode and select a Bone. The Object Context
			Buttons Window will present a <TT
CLASS="literal"
>Constraints</TT
> Panel
	            (<A
HREF="x6875.html#BSG.CHA.F.S68.117"
>Figure 17</A
>).
			click on the <TT
CLASS="literal"
>Add</TT
>
	            button. A menu of possible constraints will appear.
		</P
><DIV
CLASS="figure"
><A
NAME="BSG.CHA.F.S68.117"
></A
><DIV
CLASS="mediaobject"
><P
><IMG
SRC="PartA/character_animation/gfx/ConstraintIcon.png"></P
></DIV
><P
><B
>Figure 17. Constraints Panel.</B
></P
></DIV
><P
>&#13;	            Once you selected the desired constraint 
			its buttons will appear.  A constraint can be deleted by clicking
	            on the "X" icon next to it.  A constraint can be collapsed
	            by clicking on its orange triangle icon.  When collapsed, a
	            constraint can be moved up or down in the constraint list by
	            clicking on it at choosing <TT
CLASS="literal"
>Move Up</TT
> 
			or <TT
CLASS="literal"
>Move Down</TT
> from
	            the popup menu.
	        </P
><P
>&#13;	            For most constraints, a target must be specified in the appropriate
	            field.  In this field you must type in the name of the desired target
	            object.  If the desired target is a bone, first type in the name of
	            the bone's armature.  Another text box will appear allowing you to specify
	            the name of the bone.
	        </P
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="character_constraint_types"
></A
>Constraint Types</H2
><P
>&#13;		Several Constrains are possible. All applies to Bones, some applies
		Also to other Objects:
	</P
><P
></P
><UL
><LI
><P
><TT
CLASS="literal"
>Copy Location</TT
>  - 
	            The constraint forces the Object to have an one or more 
			co-ordinates (chosen via the three Toggle Buttons) of its location 
			equal to those of the target
		        (<A
HREF="x6875.html#BSG.CHA.F.S68.120"
>Figure 18</A
>).


        	            <DIV
CLASS="figure"
><A
NAME="BSG.CHA.F.S68.120"
></A
><DIV
CLASS="mediaobject"
><P
><IMG
SRC="PartA/character_animation/gfx/ConstraintCopyLocation.png"></P
></DIV
><P
><B
>Figure 18. Copy Location Constraint.</B
></P
></DIV
>	            
	        </P
></LI
><LI
><P
><TT
CLASS="literal"
>Copy Rotation</TT
>  - 
	            This constraint copies the global rotation of the target and
	            applies it to the constraint owner (<A
HREF="x6875.html#BSG.CHA.F.S68.119"
>Figure 19</A
>).

        	            <DIV
CLASS="figure"
><A
NAME="BSG.CHA.F.S68.119"
></A
><DIV
CLASS="mediaobject"
><P
><IMG
SRC="PartA/character_animation/gfx/ConstraintCopyRotation.png"></P
></DIV
><P
><B
>Figure 19. Copy Rotation Constraint.</B
></P
></DIV
>
	        </P
></LI
><LI
><P
><TT
CLASS="literal"
>Track To</TT
>  - 
	            This constraint causes the constraint owner to point one of its
			axes (by default the Y-axis) to point towards the target either
			in its positive or negative direction, depending on the selected 
			Radio Buttons.  The Object rotation will be computed
			so that another one of its axis (by default the Z-axis)
			will point up, again this can be changed via the pertinent Radio Buttons.
		        (<A
HREF="x6875.html#BSG.CHA.F.S68.121"
>Figure 20</A
>).

        	            <DIV
CLASS="figure"
><A
NAME="BSG.CHA.F.S68.121"
></A
><DIV
CLASS="mediaobject"
><P
><IMG
SRC="PartA/character_animation/gfx/ConstraintTrackTo.png"></P
></DIV
><P
><B
>Figure 20. Track To Constraint.</B
></P
></DIV
>
	        </P
></LI
><LI
><P
><TT
CLASS="literal"
>Locked Track</TT
>  - 
	            This constraint causes the constraint owner to point one of its
			axes (by default the Y-axis) to point towards the target either
			in its positive or negative direction, depending on the selected 
			Radio Buttons.  The Object rotation will be computed
			so that another one of its axis (by default the Z-axis)
			direction is <I
CLASS="emphasis"
>fixed</I
>,
			again this can be changed via the pertinent Radio Buttons.
			</P
><P
>&#13;			Actually this means that the Object is rotated around it fixed
			axis so that the Target lyes on the plane defined
			by the locked axis and the pointing axis.
		        (<A
HREF="x6875.html#BSG.CHA.F.S68.121b"
>Figure 21</A
>).

        	            <DIV
CLASS="figure"
><A
NAME="BSG.CHA.F.S68.121b"
></A
><DIV
CLASS="mediaobject"
><P
><IMG
SRC="PartA/character_animation/gfx/ConstraintLockTrackTo.png"></P
></DIV
><P
><B
>Figure 21. Lock Track.</B
></P
></DIV
>
	        </P
></LI
><LI
><P
><TT
CLASS="literal"
>Follow Path</TT
>  - 
	            This constraint needs the Target to be a Curve or Path.
			It causes the constraint owner to follow the path in time.
			</P
><P
>&#13;			By default the Object translates along the curve in 100 frames.
			You can make the Object orientation follow the curve with the 
			<TT
CLASS="literal"
>CurveFollow</TT
> Toggle Button and by setting
			the Radio Buttons below to define which axis should
			be tangent to the curve and which should point up.
			To change the number of frames in which the Path
			is followed you need to edit the Curve's Speed IPO.
		        (<A
HREF="x6875.html#BSG.CHA.F.S68.121c"
>Figure 22</A
>).

        	            <DIV
CLASS="figure"
><A
NAME="BSG.CHA.F.S68.121c"
></A
><DIV
CLASS="mediaobject"
><P
><IMG
SRC="PartA/character_animation/gfx/ConstraintFollowPath.png"></P
></DIV
><P
><B
>Figure 22. Follow Path.</B
></P
></DIV
>
	        </P
></LI
><LI
><P
><TT
CLASS="literal"
>IK Solver</TT
> (Bone Only) - 
	            To simplify animation of multi-segmented limbs (such as arms
	            and legs) you can add an IK solver constraint.  IK
	            constraints can only be added to bones.  Once a target is
	            specified, the solver will attempt to move the 
			<I
CLASS="emphasis"
>root</I
> of the
	            constraint-owning bone to the target, by re-orienting the
	            bone's parents (but it will not move the root of the chain).
	            If a solution is not possible, the solver will attempt to
	            get as close as possible.  Note that this constraint will
	            override the orientations on any of the IK bone's
			parents (<A
HREF="x6875.html#BSG.CHA.F.S68.118"
>Figure 23</A
>).

	            <DIV
CLASS="figure"
><A
NAME="BSG.CHA.F.S68.118"
></A
><DIV
CLASS="mediaobject"
><P
><IMG
SRC="PartA/character_animation/gfx/ConstraintIKSolver.png"></P
></DIV
><P
><B
>Figure 23. IK Solver Constraint.</B
></P
></DIV
>
	        </P
><DIV
CLASS="note"
><P
></P
><TABLE
CLASS="note"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="./stylesheet-images/note.gif"
HSPACE="5"
ALT="Note"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>&#13;			If the Target of the IK Constraint is another bone of the <I
CLASS="emphasis"
>same</I
>
			Armature, as it is warmly recomented, you must make sure that this bone, usually
			denominated IK_Tool, is <I
CLASS="emphasis"
>not</I
> the child of any other bone of the IK
			chain, or weird results will happen.
		</P
></TD
></TR
></TABLE
></DIV
></LI
><LI
><P
><TT
CLASS="literal"
>Action</TT
> (Bone Only) - 
	            An Action constraint can be used to apply an Action channel
	            from a different Action to a bone, based on the rotation of
	            another bone or object.  The typical way to use this is to
	            make a muscle bone bulge as a joint is rotated.  This
	            constraint should be applied to the bone that will actually
	            do the bulging; the target should point to the joint that is
	            being rotated (<A
HREF="x6875.html#BSG.CHA.F.S68.122"
>Figure 24</A
>).

        	            <DIV
CLASS="figure"
><A
NAME="BSG.CHA.F.S68.122"
></A
><DIV
CLASS="mediaobject"
><P
><IMG
SRC="PartA/character_animation/gfx/ConstraintAction.png"></P
></DIV
><P
><B
>Figure 24. Action Constraint.</B
></P
></DIV
>
		</P
><P
>&#13;	            The AC field contains the name of the Action that contains
	            the flexing animation.  The only channel that is required in
	            this Action is the one that contains the bulge animation for
	            the bone that owns this constraint
	        </P
><P
>&#13;	            The Start and End fields specify the range of motion from
	            the Action.
	        </P
><P
>&#13;	            The Min and Max fields specify the range of rotation from
	            the target bone.  The Action between the start and end
	            fields is mapped to this rotation (so if the bone rotation
	            is at the Min point, the Pose specified at Start will be
	            applied to the bone).  Note that the Min field may be higher
	            than the Max.
	        </P
><P
>&#13;	            The pulldown menu specifies which component of the rotation
	            is to be considered.
	        </P
></LI
><LI
><P
><TT
CLASS="literal"
>Null</TT
>  - 
	            This is a constraint that does nothing at all; it doesn't
	            affect the object's transformation directly.  The purpose of
	            a null constraint is to use it as a separator, and
			why this might be necessary will be clarified in the following section
			(<A
HREF="x6875.html#BSG.CHA.F.S68.123"
>Figure 25</A
>).

        	            <DIV
CLASS="figure"
><A
NAME="BSG.CHA.F.S68.123"
></A
><DIV
CLASS="mediaobject"
><P
><IMG
SRC="PartA/character_animation/gfx/ConstraintNull.png"></P
></DIV
><P
><B
>Figure 25. Null Constraint.</B
></P
></DIV
>
	        </P
></LI
></UL
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="character_animation_constraint_evaluation"
></A
>Constraints Evaluation Rules and Precedence</H2
><P
>&#13;	            Constraints can be applied to objects or bones.  In the case of
	            constraints applied to bones, any constraints on the armature <I
CLASS="emphasis"
>object</I
>
	            will be evaluated before the constraints on the bones are considered.
	        </P
><P
>&#13;	            When a specific constraint is evaluated, all of its dependencies will
	            have already been evaluated and will be in their final
	            orientation/positions.  Examples of dependencies are the object's
	            parent, its parent's parents (if any) and the hierarchies of any
	            targets specified in the constraint.
	        </P
><P
>&#13;	            Within a given object, constraints are executed from top to bottom.
	            Constraints that occur lower in the list may override the effects of
	            constraints higher in the list.  Each constraint receives as input the
	            results of the previous constraint.  The input to the first constraint
	            in the list is the output of the IPOs associated with the object.
	        </P
><P
>&#13;	            If several constraints of the same type are specified in a
	            contiguous block, the constraint will be evaluated 
			<I
CLASS="emphasis"
>once</I
> for
	            the entire block, using an average of all the targets.  In
	            this way you can constrain an object to track to the point
	            between two other objects, for example. You can use a 
			<TT
CLASS="literal"
>Null</TT
>
	            constraint to insert a break in a constraint block if you
	            would prefer each constraint to be evaluated individually.
	        </P
><P
>&#13;	            Looping constraints are not allowed.  If a loop is detected,
	            all of the constraints involved will be temporarily disabled
	            (and highlighted in red).  Once the conflict has been
	            resolved, the constraints will automatically re-activate.
	        </P
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="character_constraints_influence"
></A
>Influence</H2
><P
>&#13;	            The influence slider next to each constraint is used to
	            determine how much effect the constraint has on the
	            transformation of the object.
	        </P
><P
>&#13;	            If there is only a single constraint in a block (a block is
	            a series of constraints of the same type which directly
	            follow one another), an influence value of 0.0 means the
	            constraint has no effect on the object.  An influence of 1.0
	            means the constraint has full effect.
	        </P
><P
>&#13;	            If there are several constraints in a block, the influence
	            values are used as ratios.  So in this case if there are two
	            constraints, A and B, each with an influence of 0.1, the
	            resulting target will be in the centre of the two target
	            objects (a ratio of 0.1:0.1 or 1:1 or 50% for each target).
	        </P
><P
>&#13;	            Influence can be controlled with an IPO.  To add a
	            constraint IPO for a constraint, open an IPO Window and
	            change its type to constraint by clicking on the chain icon.            
	            Next click on the Edit IPO Button next to the
	            constraint you wish to work with.  If there is no constraint
	            IPO associated with the constraint yet, one will be created.
	            Otherwise the previously assigned IPO will be displayed.  At
	            the moment, KeyFrames for constraint IPOs can only be
	            created and edited in the IPO Window, by selecting the INF
	            channel and <B
CLASS="keycap"
>CTRL-LEFTMOUSE</B
> in the IPO space.
	        </P
><P
>&#13;	            When blending Actions with constraint IPOs, note that only the IPOs on the
	            armature's local Action IPOs are considered.  Constraint IPOs on the Actions
	            in the motion strips are ignored.
	        </P
><DIV
CLASS="important"
><P
></P
><TABLE
CLASS="important"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="./stylesheet-images/important.gif"
HSPACE="5"
ALT="Important"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>&#13;	                In the case of armatures, the constraints IPOs are stored in
	                the current Action.  This means that changing the Action
	                will change the constraint IPOs as well.
	            </P
></TD
></TR
></TABLE
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="x6795.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="book1.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="x7002.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Non Linear Animation</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="c6466.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Rigging a Hand and a Foot</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>