<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML ><HEAD ><TITLE >Animation of Deformations</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="Animation" HREF="p5814.html"><LINK REL="PREVIOUS" TITLE="Path Animation" HREF="x6084.html"><LINK REL="NEXT" TITLE="Relative VertexKeys" HREF="x6309.html"></HEAD ><BODY CLASS="chapter" 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="x6084.html" ACCESSKEY="P" ><<< Previous</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="x6309.html" ACCESSKEY="N" >Next >>></A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="chapter" ><H1 ><A NAME="chapter_soft_animation" ></A >Animation of Deformations</H1 ><P > Animating an Object/Material, is not the only thing you can do in Blender. You can change, reshape, deform your objects in time! </P ><P > There are many ways of achieving this actually, and one technique is so powerful and general there is a full chapter for it: Character animation. The other techniques will be handled here. </P ><DIV CLASS="section" ><H1 CLASS="section" ><A NAME="section_animation_AVK" ></A >Absolute Vertex Keys</H1 ><P > VertexKeys (as opposed to Object keys, the specified positions of objects) can also be created in Blender; VertexKeys are the specified positions of vertices <I CLASS="emphasis" >within</I > an Object. Since this can involve thousands of vertices, separate motion curves are not created for each vertex, the traditional Key position system is used instead. A single IPOCurve is used to determine how interpolation is performed and the times at which a VertexKey can be seen. </P ><P > VertexKeys are part of the Object Data, not of the Object. When duplicating the Object Data, the associated VertexKey block is also copied. It is not possible to permit multiple Objects to share the same VertexKeys in Blender, since it would not be very practical. </P ><P > The Vertex Key block is universal and understands the distinction between a Mesh, a Curve, a Surface or a Lattice. The interface and use is therefore unified. Working with Mesh VertexKeys is explained in detail in this section, which also contains a number of brief comments on the other Object Data. </P ><P > The first VertexKey position that is created is always the <I CLASS="emphasis" >reference</I > Key. This key defines the texture coordinates. Only if this Key is <I CLASS="emphasis" >active</I > can the faces and curves, or the <I CLASS="emphasis" >number</I > of vertices, be changed. It is allowed to assign other Keys a different number of vertices. The Key system automatically interpolates this. </P ><P > A practical example is given below. When working with VertexKeys, it is very handy to have an IPO Window open. Use the first Screen from the standard Blender file, for example. In the IPO Window, we must then specify that we want to see the VertexKeys. To do this use the IPO type Menu Button and select <TT CLASS="literal" >Vertex</TT >. Go to the 3DWindow with the mouse cursor and press <B CLASS="keycap" >IKEY</B >. With a Mesh object selected and active. The "Insert Key" menu has several options, the latter being <TT CLASS="literal" >Mesh</TT >. As soon as this has been selected, a new dialog appears (<A HREF="x5879.html#BSG.ANI.F.S68.201" >Figure 2 in the Section called <I >The IPO Curves</I > in the chapter called <I >Animation of Undeformed Objects</I ></A >) asking for Relative or absolute Vertex Key. </P ><DIV CLASS="figure" ><A NAME="BSG.ADF.F.S68.201" ></A ><DIV CLASS="mediaobject" ><P ><IMG SRC="PartA/soft_animation/gfx/VK02.png"></P ></DIV ><P ><B >Figure 1. Insert Key Menu.</B ></P ></DIV ><P > We will choose <TT CLASS="literal" >Absolute Keys</TT >; a yellow horizontal line is drawn in the IPO Window. This is the first key and thus the <I CLASS="emphasis" >reference</I > Key. An IPO Curve is also created for "Speed" (<A HREF="x5879.html#BSG.ANI.F.S68.202" >Figure 3 in the Section called <I >The IPO Curves</I > in the chapter called <I >Animation of Undeformed Objects</I ></A >). </P ><DIV CLASS="figure" ><A NAME="BSG.ADF.F.S68.202" ></A ><DIV CLASS="mediaobject" ><P ><IMG SRC="PartA/soft_animation/gfx/VK03.png"></P ></DIV ><P ><B >Figure 2. Reference Key and Speed IPO.</B ></P ></DIV ><DIV CLASS="tip" ><P ></P ><TABLE CLASS="tip" WIDTH="100%" BORDER="0" ><TR ><TD WIDTH="25" ALIGN="CENTER" VALIGN="TOP" ><IMG SRC="./stylesheet-images/tip.gif" HSPACE="5" ALT="Tip"></TD ><TH ALIGN="LEFT" VALIGN="CENTER" ><B >Vertex Key creation</B ></TH ></TR ><TR ><TD > </TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > Creating VertexKeys in Blender is very simple, but the fact that the system is very sensitive in terms of its configuration can cause a number of 'invisible' things to happen. The following rule must therefore be taken into consideration. </P ><P > As soon as a VertexKey position is inserted it is <I CLASS="emphasis" >immediately</I > <I CLASS="emphasis" >active</I >. All subsequent changes in the Mesh are linked to <I CLASS="emphasis" >this</I > Key position. It is therefore important that the Key position be added <I CLASS="emphasis" >before</I > editing begins. </P ></TD ></TR ></TABLE ></DIV ><P > Go a few frames further and again select: <B CLASS="keycap" >IKEY</B >, <TT CLASS="literal" >Mesh</TT > (in the 3DWindow). The second Key is drawn as a light blue line. This is a normal Key; this key and all subsequent Keys affect only the vertex information. Press <B CLASS="keycap" >TAB</B > for EditMode and translate one of the vertices in the Mesh. Then browse a few frames back: nothing happens! As long as we are in EditMode, other VertexKeys are <I CLASS="emphasis" >not</I > applied. What you see in EditMode is <I CLASS="emphasis" >always</I > the <I CLASS="emphasis" >active</I > VertexKey. </P ><P > Leave EditMode and browse through the frames again. We now see the effect of the VertexKey system. VertexKeys can only be selected in the IPO Window. We always do this <I CLASS="emphasis" >out</I > of Edit Mode: the 'contents' of the VertexKey are now temporarily displayed in the Mesh. We can edit the specified Key by starting Editmode. </P ><P > There are three methods for working with Vertex Keys: </P ><P ></P ><UL ><LI ><P >The 'performance animation' method. This method works entirely in EditMode, chronologically from position to position: </P ><P ></P ><UL ><LI ><P >Insert Key. The reference is specified.</P ></LI ><LI ><P >A few frames further: Insert Key. Edit the Mesh for the second position.</P ></LI ><LI ><P >A few frames further: Insert Key. Edit the Mesh for the third position.</P ></LI ><LI ><P >Continue the above process...</P ></LI ></UL ></LI ><LI ><P >The 'editing' method. </P ><P ></P ><UL ><LI ><P >We first insert all of the required Keys, unless we have already created the Keys using the method described above.</P ></LI ><LI ><P >Blender is <I CLASS="emphasis" >not</I > in EditMode.</P ></LI ><LI ><P >Select a Key. Now start EditMode, change the Mesh and leave EditMode.</P ></LI ><LI ><P >Select a Key. Start EditMode, change the Mesh and leave EditMode.</P ></LI ><LI ><P >Continue the above process....</P ></LI ></UL ></LI ><LI ><P >The 'insert' method </P ><P ></P ><UL ><LI ><P >Whether or not there are already Keys and whether or not we are in EditMode does not matter in this method.</P ></LI ><LI ><P >Go to the frame in which the new Key must be inserted.</P ></LI ><LI ><P >Insert Key.</P ></LI ><LI ><P >Go to a new frame, Insert Key.</P ></LI ><LI ><P >Continue the above process...</P ></LI ></UL ></LI ></UL ><P > While in EditMode, the Keys cannot be switched. If the user attempts to do so, a warning appears. </P ><P > Each Key is represented by a line which is drawn at a given height. Height is chosen so that the key intersects the "Speed" IPO at the frame at which the Key is taken. </P ><P > Both the IPO Curve and the VertexKey can be separately selected with <B CLASS="keycap" >RMB</B >. Since it would otherwise be too difficult working with them, selection of the Key lines is switched off when the curve is in Edit Mode. The <I CLASS="emphasis" >channel</I > button can be used to temporarily hide the curve (<B CLASS="keycap" >SHIFT-LMB</B > on "Speed") to make it easier to select Keys. </P ><P > The Key lines in the IPO Window, once taken, can be placed at any vertical position. Select the line and use Grab mode to do this. The IPO Curve can also be processed here in the same way as described in the previous chapter. Instead of a 'value', however, the curve determines the interpolation between the Keys, e.g. a sine curve can be used to create a cyclical animation. </P ><P > During the animation the frame count gives a certain value of the speed IPO, which is used to chose the Key(s) which is/are to be used, possibly with interpolation, to produce the deformed mesh. </P ><P > The Speed IPO has the standard behaviour of an IPO, also for interpolation. The Key line has three different interpolation types. Press <B CLASS="keycap" >TKEY</B > with a Key line selected to to open a menu with the options: </P ><P ></P ><UL ><LI ><P ><TT CLASS="literal" >Linear</TT >: interpolation between the Keys is linear. The Key line is displayed as a dotted line</P ></LI ><LI ><P ><TT CLASS="literal" >Cardinal</TT >: interpolation between the Keys is fluid, the standard setting.</P ></LI ><LI ><P ><TT CLASS="literal" >BSpline</TT >: interpolation between the Keys is extra fluid and includes four Keys in the interpolation calculation. The positions are no longer displayed precisely, however. The Key line is drawn as a dashed line. </P ></LI ></UL ><P > <A HREF="c6169.html#BSG.ADF.F.S68.203" >Figure 3</A > shows a simple Vertex Key animation of a cylinder. When run the cylinder deforms to a big star, then deforms to a small star, then, since the Speed IPO goes back to 0 the deformation is repeated in reverse order. </P ><DIV CLASS="figure" ><A NAME="BSG.ADF.F.S68.203" ></A ><DIV CLASS="mediaobject" ><P ><IMG SRC="PartA/soft_animation/gfx/VK04.png"></P ></DIV ><P ><B >Figure 3. Absolute Keys.</B ></P ></DIV ><P > Some useful tips: </P ><P ></P ><UL ><LI ><P > Key positions are <I CLASS="emphasis" >always</I > added with IKEY, even if they are located at the same position. Use this to copy positions when inserting. Two key lines at the same position can also be used to change the effect of the interpolation. </P ></LI ><LI ><P > If <I CLASS="emphasis" >no</I > Keys are selected, EditMode can be invoked as usual. However, when you leave EditMode, all changes are undone. Insert the Key <I CLASS="emphasis" >in</I > EditMode in this case. </P ></LI ><LI ><P > For Keys, there is <I CLASS="emphasis" >no</I > difference between selected and <I CLASS="emphasis" >active</I >. It is therefore not possible to select multiple Keys. </P ></LI ><LI ><P > When working with Keys with differing numbers of vertices, the faces can become disordered. There are no tools that can be used to specify <I CLASS="emphasis" >precise</I > sequence of vertices. This option is actually suitable only for Meshes that have only vertices such as Halos. </P ></LI ></UL ><DIV CLASS="section" ><H2 CLASS="section" ><A NAME="section_animation_AVK_curves" ></A >Curve and Surface Keys</H2 ><P > As mentioned earlier, Curve and Surface Keys work exactly the same way as Mesh Keys. For Curves, it is particularly interesting to place Curve Keys in the bevel object. Although this animation is <I CLASS="emphasis" >not</I > displayed real-time in the 3DWindow, it will be rendered. </P ></DIV ><DIV CLASS="section" ><H2 CLASS="section" ><A NAME="AEN6306" ></A >Lattice Keys</H2 ><P > As soon as one Key is present in a Lattice, the buttons that are used to determine the resolution are blocked. </P ></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="x6084.html" ACCESSKEY="P" ><<< 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="x6309.html" ACCESSKEY="N" >Next >>></A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Path Animation</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="p5814.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Relative VertexKeys</TD ></TR ></TABLE ></DIV ></BODY ></HTML >