<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Studio Artist Tips &#187; encapsulation</title>
	<atom:link href="http://www.synthetik.com/tips/wordpress/tag/encapsulation/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.synthetik.com/tips/wordpress</link>
	<description>Technical Tips and Help for Studio Artist 4 Users</description>
	<lastBuildDate>Thu, 11 Feb 2010 04:27:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Automating Encapsulated Bezier Paint Animation</title>
		<link>http://www.synthetik.com/tips/wordpress/2009/05/automating-encapsulated-bezier-paint-animation/</link>
		<comments>http://www.synthetik.com/tips/wordpress/2009/05/automating-encapsulated-bezier-paint-animation/#comments</comments>
		<pubDate>Fri, 29 May 2009 02:48:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Bezier Path]]></category>
		<category><![CDATA[PASeq]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[encapsulation]]></category>

		<guid isPermaLink="false">http://www.synthetik.com/tips/wordpress/?p=690</guid>
		<description><![CDATA[This tip discusses how to automate the generation of encapsulated bezier paint animation. This is done by constructing a PASeq that generates the desired bezier paths.  This PASeq is then automatically run multiple times for a series of recored source context keyframes to generate a bezier context. The bezier context is then automatically converted into [...]]]></description>
			<content:encoded><![CDATA[<p>This tip discusses how to automate the generation of encapsulated bezier paint animation. This is done by constructing a PASeq that generates the desired bezier paths.  This PASeq is then automatically run multiple times for a series of recored <em>source context</em> keyframes to generate a <em>bezier context</em>. The bezier context is then automatically converted into an encapsulated paint action step.</p>
<p>By using the series of steps described in this tip you can automatically generate a sketch or other paint style animation from a series of still images with no manual drawing.</p>
<p><span id="more-690"></span><strong>Recording your source context keyframes</strong></p>
<p>The first thing to do is to record a Source Context PASeq action step with a keyframe for each of the still images you are interested in painting in your animation. To do this, first erase the current PASeq. Then choose the first source image you want to use in your animation. Then run the <em>Action  : PASeq Timeline : Record Context : Source</em> menu command. </p>
<p><img class="aligncenter size-full wp-image-691" title="menu6" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/menu6.jpg" alt="menu6" width="566" height="173" /></p>
<p>A Source Context action step will be recorded in your PASeq after running this menu command.</p>
<p>You can then open a new source image and option click a keyframe in the PASeq timeline associated with the Source Context action step. Continue this cycle until all of your source context keyframes are recorded. If you click on a source context keyframe you will see the source image change to the one stored in the keyframe you clicked.</p>
<p>A shortcut way to record multiple source context keyframes is to use the Action  : PASeq Timeline : Record Context : Multiple Keys : Source menu. This menu command brings up a dialog that lets you choose multiple source images one at a time. After pressing cancel a source context action step will be generated with adjacent keyframes for all of the source images you selected.</p>
<p><strong>Record your Bezier generation steps</strong></p>
<p>You&#8217;re now ready to record your desired sequence of PASeq action steps to generate a set of Bezier paths for your animation. There are a large number of different approaches you can take to generating a set of Bezier paths. You could use one of the <em>Path : Generation</em> menus (the source edges option for example). You could generate Bezier paths from one of the Ip Op Sketch effects. Or you could use one of more action paint steps to generate Bezier paths associated with a particular painting style.</p>
<p>Make sure the first step in your Bezier path generation process is to erase the current Bezier path frame. Whatever approach you take to generation a set of Bezier paths, the steps are added to the existing PASeq with the source context keyframes.</p>
<p><strong>Generating a Bezier Context</strong></p>
<p>Once you have recorded your PASeq actions teps that generate Bezier paths, you can automatically run the PASeq on all of the source context keyframes and generate a bezier context that has keyframes ar all of the associated frame times. To do this, first select the source context action step. Then run the <em>Path : Convert to Paint Synthesizer : Convert PASeq Source Context to Bezier Context</em> menu command.</p>
<p><img class="aligncenter size-full wp-image-692" title="menu7" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/menu7.jpg" alt="menu7" width="513" height="187" /></p>
<p>When you run the menu command the PASeq will be run for each of the source context keyframes. After running through all the keyframes then a new Bezier COntext action step will be recorded at the bottom of the existing PASeq. You can drop into Bezier operation mode and press one of the Bezier Context keyframes to see the set of Bezier paths stored in it.</p>
<p><strong>Generating the encapsulated paint step</strong></p>
<p>Once you have a kyeframed Bezier context, it&#8217;s easy to convert it into an encapsulated paint actions tep in the PAseq.  First choose the paint preset you want your Bezier animation to be drawn with. Then select the Bezier Context action step in the PASeq you will be converting. Then run the <em>Path : Convert to Paint Synthesizer : Convert PASeq Bezier Context to Embedded Autodraw</em> menu command.</p>
<p><img class="aligncenter size-full wp-image-693" title="menu8" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/menu8.jpg" alt="menu8" width="513" height="187" /></p>
<p>The Bezier context action step you selected will change to a keyframed paint action step after running the menu command. Each keyframe will paint the set of Bezier paths that were originally encoded at that keyframe in the original Bezier context.</p>
<p>At this point you now have an encapsulated keyframed Bezier paint animation. You typically would now run an <em>Action : PASeq Timeline : Embedded Bezier Frame : Normalize Split</em>  and an <em>Action : PASeq Timeline : Embedded Bezier Frame : Reorder Minimal Distance</em> menu command. Running these 2 menu commands will insure that each keyframe has the same number of bezier paths for the keyframe interpolation, and that the interpolation takes place between adjacent paths that are close to one another, leading to a smoother animation.</p>
<p>You could now render your animation to a movie file using the <em>Action : Animate with Paint Action Sequence : to Movie </em>menu command. The normalize, reorder, and animate menu steps briefly described above are explained in more detail in this previous Bezier encapsulation paint animation <a href="http://www.synthetik.com/tips/wordpress/2009/05/encapsulated-bezier-keyframe-paint-animation/">tip</a>.</p>
<p>The following movie example shows off a simple pencil sketch animation that was fully automatically generated using the techniques described above from 4 source keyframes using 2 Sketch Ip Op effects to generate the Bezier paths for encapsulation and a pencil paint preset to sketch the encapsulated Bezier paths.</p>
<p><a title="pencil sketch animation" href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/animex3b.mov">pencil sketch animation</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.synthetik.com/tips/wordpress/2009/05/automating-encapsulated-bezier-paint-animation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
<enclosure url="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/animex3b.mov" length="709385" type="video/quicktime" />
		</item>
		<item>
		<title>Encapsulated Bezier Keyframe Paint Animation</title>
		<link>http://www.synthetik.com/tips/wordpress/2009/05/encapsulated-bezier-keyframe-paint-animation/</link>
		<comments>http://www.synthetik.com/tips/wordpress/2009/05/encapsulated-bezier-keyframe-paint-animation/#comments</comments>
		<pubDate>Fri, 29 May 2009 00:56:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Bezier Path]]></category>
		<category><![CDATA[PASeq]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[encapsulation]]></category>
		<category><![CDATA[Movie]]></category>

		<guid isPermaLink="false">http://www.synthetik.com/tips/wordpress/?p=675</guid>
		<description><![CDATA[
This tip discusses how to create a keyframed paint animation from a series of freely sketched pencil sketches. Each sketch can have an arbitrary number of pencil strokes. Each sketch is encapsulated into a single paint action step recorded in a Paint Action Sequence (PASeq). The final animation is generated by animating the keyframed single [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-677" title="frame31" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/frame31.jpg" alt="frame31" width="404" height="271" /></p>
<p>This tip discusses how to create a keyframed paint animation from a series of freely sketched pencil sketches. Each sketch can have an arbitrary number of pencil strokes. Each sketch is encapsulated into a single paint action step recorded in a Paint Action Sequence (PASeq). The final animation is generated by animating the keyframed single step PASeq into a movie file. By working with keyframes as opposed to hand drawing each frame in the animation you can generate a completed animation in a fraction of the time it would take to draw each frame manually.</p>
<p><span id="more-675"></span>Bezier encapsulation is a powerful feature of Studio Artist. Bezier paths are vector paths that underly each paint stroke in Studio Artist. Each layer contains a Bezier path frame in addition to a raster frame buffer. A set of multiple Bezier paths can be encapsulated into a single paint action step, and the bezier paths can then be keyframed in a PASeq timeline.</p>
<p>This tip will discuss how to generate keyframed animation from encapsulated bezier paths. One nice feature associated with encapsulated bezier paths is that an entire drawing composed of multiple paint strokes can be recorded into a single paint preset or paint action step in a PASeq. There are also PASeq Timeline menu commands that can manipulate encapsulated bezier paths so that a series of sketches made with arbitrary number of paths can be configured to smoothly animate over time.</p>
<p><strong>Making your first sketch</strong></p>
<p>The source onion skin is a useful feature that can be used as an aid when manually sketching a source image. I used a source onion for all of my keyframed sketches in this example.</p>
<p>To start, load the source image you want to use as your first sketch. Make sure the canvas is the size you want it to be for your animation.  You can either do this by using the <em>File : New Source and Canvas</em> menu to load your source image and resize the canvas in one step, or you can use the <em>Canvas : Resize Canvas</em> menu.</p>
<p>Make sure the Canvas : Onion Skin is set to Source and then turn on the onion skin by either running the Canvas : Onion Skin : Toggle Onion Skin menu or running cmnd t which is it&#8217;s keyboard shortcut. You should see a semi-transparent view of the source image in your drawing canvas, this is the source onion skin.</p>
<p>Nw choose the paint preset you will be drawing with. I used the Default : Pencil : Round1 paint preset, which draws like a soft graphite pencil.</p>
<p>Make sure the paint preset you are working with does not have any path randomization. You can check this by going to the Path Randomize control panel in the Editor palette and making sure both Displace options are set to None. Path randomization interferes with the Bezier path conversion process, so you should avoid it if working with Bezier encapsulation.</p>
<p>Since we want to record the bezier paths associated with our drawing, we need to make sure the <em>Path : Path Layer Record Options : Pen Draw</em> menu flag is turned on. When this menu flag is turned on then any manual drawing will be converted into Bezier paths and the paths will be stored in the current Bezier path frame.</p>
<p><img class="aligncenter size-full wp-image-678" title="menu5" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/menu5.jpg" alt="menu5" width="485" height="193" /></p>
<p>Erase the canvas before drawing to white. You want to make sure you do a full erase, so make sure the default color is set to white and then shift click the erase button in the main operation toolbar. Shift clicking erase runs a full erase, which also erases the Bezier path frame for the layer in addition to erasing the raster frame buffer to the default background setting (white in this case).</p>
<p>Now draw a simple free sketch of the source image. Only what you draw will show up in the final sketch, the onion skin is there for a guide only. When you are finished sketching you can turn the onion skin off (run the Toggle Onion Skin menu discussed above).</p>
<p>To verify the Bezier paths associate with your drawing were recorded into the Bezier path frame switch to Bezier operation mode. You should see the paths appear on top of your sketch strokes. A shortcut to drop into and out of Bezier operation mode is to use the cmnd 5 keyboard shortcut.</p>
<p>Switch back to paint synthesizer operation mode. make sure you haven&#8217;t changed the paint synthesizer from the preset you were using for your sketch drawing. We&#8217;re now ready to encapsulate the recorded Bezier path frame into a single pain action step.</p>
<p><strong>Bezier Encapsulation</strong></p>
<p>To encapsulate the recorded Bezier paths in the Bezier path frame into the current paint synthesizer preset, you run the <em>Path : Convert to Paint Synthesizer : as AutoDraw Embedded Bezier Frame</em> menu.</p>
<p><img class="aligncenter size-full wp-image-679" title="menu11" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/menu11.jpg" alt="menu11" width="679" height="179" /></p>
<p>This menu command captures the contents of the current Bezier path frame into the internal Bezier memory in the paint synthesizer. It also runs a paint synthesizer macro edit that configures it&#8217;s editable parameters so that it will play back the paths stored in it&#8217;s internal path memory.</p>
<p>Now we&#8217;re ready to record the encapsulated paint preset in a Paint Action Sequence. Open the PASeq palette and erase it&#8217;s contents by pressing the erase button in the toolbar at the top of the PASeq palette. Turn on recording by checking the record checkbox in that same toolbar. Then press the action button. The encapsulated paint step should now playback your sketch and a single paint action step should record in the PASeq. Turn off PASeq recording by unchecking the record checkbox.</p>
<p><strong>Recording the remaining keyframes</strong></p>
<p>You can now record the remaining keyframes associated with your sketch animation. You will perform the following cycle of steps for each remaining keyframe.</p>
<ol>
<li>open a new source image</li>
<li>turn on the onion skin</li>
<li>perform a full erase of the canvas</li>
<li>draw you sketch</li>
<li>switch to bezier operation mode</li>
<li>option click a PASeq keyframe cell to record the keyframe</li>
</ol>
<p>I prefer to record adjacent keyframes, and then use the <em>Action : PASeq Timeline : Time Compress/Expand</em> menu command to expand the timeline when i have finished recording all my keyframes.</p>
<p><strong>Generating an animation movie from your recorded keyframes</strong></p>
<p>Since i wanted to have the PASeq erase the canvas first for each frame and then draw the sketch, i recorded a second PASeq action step that sets the background to white. I did this by turning on PASe recording, pressing the erase button, turning off PASeq recording, and dragging the recorded <em>Set Canvas- White</em> action step to the top of the list.</p>
<p>The screen snap below shows my finished PASeq for the animation. I recorded 4 keyframes associated with 4 sketches. I wanted to have 10 frames between each keyframe, which leads to a total of 31 frames in the animation, since keyframes are recorded at frames 1,11,21,31.</p>
<p><img class="aligncenter size-full wp-image-680" title="paseq1" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/paseq1.jpg" alt="paseq1" width="480" height="143" /></p>
<p>At this point you can generate an animation movie from your recorded PASeq. To do this you run the <em>Action : Animate with Paint Action Sequence : to Movie</em> menu. This menu will ask you to name the generated movie file and will then run the animation rendering the frames out to that movie file.</p>
<p><img class="aligncenter size-full wp-image-681" title="menu22" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/menu22.jpg" alt="menu22" width="457" height="223" /></p>
<p>If you just want to preview the animation without rendering it to a movie file you can just press the Animate button in the PASeq toolbar. You can always use the spacebar to stop an animation or a rendering movie process.</p>
<p>If you now watch the generated animation movie you will notice a few problems associated with it.  The animation between keyframes will not appear to be smooth, and there will be abrupt jumps at keyframe points where paint strokes jump into or out of existance.</p>
<p>There are 2 reasons for the problems associated with the animation. The first is that each keyframe was recorded with an arbitrary number of sketch strokes. But to have a smooth animation we would want to have the same number of paint strokes for each sketch. The second reason is that the stroke transitions between keyframes are totally arbitrary, when ideally we would want spatially adjacent paint strokes in adjacent keyframe times to interpolate.</p>
<p>The solution to both of these problems is to run some Action : PASeq Timeline menu commands on our recorded PASeq prior to rendering out the final animation. The first menu to run is the <em>Action : PASeq Timeline : Embedded Bezier Frame : Normalize Split</em> menu. Both normalize command options insure that each keyframe in the PASeq timeline has the same number of embedded bezier paths. Normalize Split splits the longest paths to normalize the path count. Normalize Recycle duplicates paths.</p>
<p><img class="aligncenter size-full wp-image-682" title="menu31" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/menu31.jpg" alt="menu31" width="801" height="236" /></p>
<p>The second menu command to run is the <em>Action : PASeq Timeline : Embedded Bezier Frame : Reorder Minimal Distance</em> menu command. This menu command reorders the path indexes of the recorded paths to insure that the interpolated paths are spatially adjacent, which leads to a smoother animation. This second menu command may be slow to run if you have a large number of embedded Bezier paths or a large number of keyframes.</p>
<p>3 movie examples are shown below. The first is the original keyframed animation. The second is the split normalized animation. The third is the reordered by minimal distance animation.</p>
<p><a title="original animation" href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/animex1.mov">original animation</a></p>
<p><a title="split normalized animation" href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/animex1a.mov">split normalized animation</a></p>
<p><a title="minimal distance reordered animation" href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/animex1b.mov">minimal distance reordered animation</a></p>
<p>Watching each of these 3 animations should give you a feel for what the various processing steps do.</p>
<p>If you want to create even smoother animation, you can break your sketch up into parts and record each part as a separate PASeq action step. Each of the action steps will have associated keyframed encapsulated Bezier paths. For a face ketch, you could break the sketch up into action steps for each of the facial components (eyes, nose, mouth, hair). Building the sketch this way insure that the keyframe interpolation will only be associated with the transformation of each facial part and not transforming between parts, leading to smoother automatic motion of the component paint strokes.</p>
<p>You can also generate alternative keyframed Bezier animations based on various automatic path generation operations, like generating the sketch paths from the source edges. One advantage of this kind of approach is that there&#8217;s no manual drawing, the entire process used to generate the animation is fully automatic. There&#8217;s a <a href="http://www.synthetik.com/tips/wordpress/2009/05/automating-encapsulated-bezier-paint-animation/">tip</a> that describes how to do this in more detail.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.synthetik.com/tips/wordpress/2009/05/encapsulated-bezier-keyframe-paint-animation/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
<enclosure url="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/animex1.mov" length="157706" type="video/quicktime" />
<enclosure url="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/animex1a.mov" length="181109" type="video/quicktime" />
<enclosure url="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/animex1b.mov" length="176385" type="video/quicktime" />
		</item>
	</channel>
</rss>
