<?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>Variance Theory &#187; Code</title>
	<atom:link href="http://variancetheory.com/category/code/feed/" rel="self" type="application/rss+xml" />
	<link>http://variancetheory.com</link>
	<description>The work of Ben Throop - Artist, Designer, and Developer</description>
	<lastBuildDate>Wed, 27 Oct 2010 03:46:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Animated Texture Builder</title>
		<link>http://variancetheory.com/animated-texture-builder/</link>
		<comments>http://variancetheory.com/animated-texture-builder/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 06:20:31 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Game Art]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[SubFeatured]]></category>
		<category><![CDATA[Tech Art]]></category>
		<category><![CDATA[Textures]]></category>

		<guid isPermaLink="false">http://variancetheory.com/?p=538</guid>
		<description><![CDATA[Create grid textures from movies.]]></description>
			<content:encoded><![CDATA[<p>Some engines (Unity, Unreal) support animated textures that are formatted in a grid. However not all engines support converting movies into this format.  After looking around for something that would do this and failing to find anything, I wrote a 3dsmax script to help out with this process. It takes in one or more avi&#8217;s and builds a subdivided plane with the corresponding frames mapped to the quads. It then creates a camera. All you need to do at that point is set the render size and render out the camera view.</p>
<p style="text-align: center;"><span style="font-size: large;"><a href="../wp-content/uploads/2009/12/AnimTexBuilder.ms">Download AnimTexBuilder.ms</a></span></p>
<p><a rel="shadowbox;width=900;height=670;" href="http://variancetheory.com/wp-content/uploads/2009/12/2009-12-01_0054.swf"><img class="size-medium wp-image-413 aligncenter" title="AnimTex_Thumb" src="http://variancetheory.com/wp-content/uploads/2009/12/AnimTex.jpg" alt="Animtex_Thumb" /></a></p>
<p><span style="font-size: large;"> </span></p>
]]></content:encoded>
			<wfw:commentRss>http://variancetheory.com/animated-texture-builder/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Detonator &#8211; Explosions for Unity3D</title>
		<link>http://variancetheory.com/detonator/</link>
		<comments>http://variancetheory.com/detonator/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 16:54:35 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Game Art]]></category>
		<category><![CDATA[Tech Art]]></category>
		<category><![CDATA[Textures]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://variancetheory.com/?p=517</guid>
		<description><![CDATA[Created for the Unity Summer of Code 2009.]]></description>
			<content:encoded><![CDATA[<p>(Update 10/26/2010 &#8211; A version of Detonator for Unity 3.0 is now available.)</p>
<p>Detonator is an extension for <a href="http://unity3d.com">Unity3D</a> that lets you make good looking explosions quickly and easily for your Unity projects. How you use it depends on who you are and what your goals are. Solo coders can quickly get prototype explosions going while artists can stack effects to quickly make complex explosions.</p>
<p><a href="http://variancetheory.com/wp-content/uploads/2009/10/Detonator102shot.jpg" rel="shadowbox[post-517];player=img;"><img class="aligncenter size-medium wp-image-522" title="Detonator102shot" src="http://variancetheory.com/wp-content/uploads/2009/10/Detonator102shot-585x369.jpg" alt="Detonator102shot" width="585" height="369" /></a></p>
<p>Detonator was created originally for the Unity Summer of Code 2009 &#8211; <a href="http://unity3d.com/support/resources/unity-extensions/explosion-framework">Major releases are hosted on the Unity website</a>.</p>
<p><span style="text-decoration: underline;"><span style="font-size: large;"><a href="http://variancetheory.com/wp-content/uploads/2010/10/Detonator-1.3b3.unitypackage">NEW! Download Detonator 1.3b for Unity 3.0</a></span></span></p>
<h4><a href="http://unity3d.com/support/resources/files/Detonator.unitypackage">Download Detonator 1.02 for Unity 2.6</a></h4>
<p>Instead of replicating the documentation here, which will change over time, here&#8217;s the webplayer that shows what Detonator can do.</p>
<p><span id="more-517"></span></p>
<p><em>Please view the full post to see the Unity content.</em></p>
<h3>Bug Reports</h3>
<p>If you find bugs in the package please report them by dropping a comment on this page.</p>
]]></content:encoded>
			<wfw:commentRss>http://variancetheory.com/detonator/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>Maxscript &#8211; PaintOBB</title>
		<link>http://variancetheory.com/maxscript-paintobb/</link>
		<comments>http://variancetheory.com/maxscript-paintobb/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 22:30:24 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Game Art]]></category>
		<category><![CDATA[SubFeatured]]></category>
		<category><![CDATA[Tech Art]]></category>

		<guid isPermaLink="false">http://variancetheory.com/?p=270</guid>
		<description><![CDATA[Create Collision Boxes From Mesh]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">When I was at Vicarious Visions working on Spiderman 3, artists were responsible for building collision geometry. More often than not, a bounding box was the recommended collision type.</p>
<p style="text-align: left;">Once we started doing Interiors with the system, it became apparent that folks needed a better way to make an OBB and AABB for selected geometry, so I created a tool in Maxscript that let them easily do so. I can&#8217;t share the code, but below is a video that I made while I was working there to introduce the PaintOBB tool to the artists on the team.</p>
<p style="text-align: left;">The idea was to let the artist invoke the tool, then paint over faces on the selected model. The tool would then generate a first pass bounding box based on the selection. Then the user would move their mouse along the desired axis, and the box would shrink wrap to fit around the geometry, creating the most efficient OBB with minimal work.</p>
<p style="text-align: center;"><a rel="shadowbox;width=800;height=700;" href="http://variancetheory.com/wp-content/uploads/2009/06/paintobb.swf"><img class="size-medium wp-image-413 aligncenter" title="PaintOBB_Thumb" src="http://variancetheory.com/wp-content/uploads/2009/06/PaintOBB_Thumb-447x375.jpg" alt="PaintOBB_Thumb" width="447" height="375" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://variancetheory.com/maxscript-paintobb/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MrsRiley.com</title>
		<link>http://variancetheory.com/mrsriley-com/</link>
		<comments>http://variancetheory.com/mrsriley-com/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 06:01:05 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Non-Game]]></category>
		<category><![CDATA[SubFeatured]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://variancetheory.com/mrsriley-com/</guid>
		<description><![CDATA[Site, Brand, and Ecommerce]]></description>
			<content:encoded><![CDATA[<p>MrsRiley.com is a project that I started in May 2007 with the goal of creating a site that helps people make visual supports for  kids with Autism. Though it seems like this is a far cry from my prior work as a game artist, there was actually a lot in common between the two.  I still had to make a tool that simplified a complex workflow as I did as a Technical Artist. I needed to design the UI, the branding and logo. I also had a contractor build over 3000 individual Flash symbols and was responsible for managing him during the months long process. Then as his art came in, I needed to figure out how to integrate it with the system. Lots of stuff.</p>
<p>The first and most important part of the effort was the Flex application called PageBuilder, which is detailed in this other post. But wrapped around PageBuilder is a sophisticated site made with Drupal 6. From the start, Mrs. Riley was imagined to be a subscription site, and having an integrated forum and blog was also important. The majority of the development of the site portion was done Nick Garofalo, who I hired while he was a student at Saint-John Fisher University. For the most part, I would do the concept, design, and functionality and Nick would implement the Drupalese.</p>
<p>The site uses Ubercart to support credit card payments, and has a novel method of group subscriptions where one user buys a coupon code worth X uses. They can then give the code out to coworkers or friends and the site tracks who uses it.  Regardless of whether a user buys a subscription directly or via a key, they are then promoted to a new role where they can access PageBuilder.</p>
<p>&lt;This post is in progress&#8230;&gt;</p>

<a href='http://variancetheory.com/wp-content/uploads/2009/06/mrsriley_ad1.jpg' rel='shadowbox[post-219];player=img;' title='mrsriley_ad1'><img width="284" height="150" src="http://variancetheory.com/wp-content/uploads/2009/06/mrsriley_ad1-284x150.jpg" class="attachment-thumbnail" alt="" title="mrsriley_ad1" /></a>
<a href='http://variancetheory.com/wp-content/uploads/2009/06/mrsriley_shot1.jpg' rel='shadowbox[post-219];player=img;' title='mrsriley_shot1'><img width="284" height="150" src="http://variancetheory.com/wp-content/uploads/2009/06/mrsriley_shot1-284x150.jpg" class="attachment-thumbnail" alt="" title="mrsriley_shot1" /></a>
<a href='http://variancetheory.com/wp-content/uploads/2009/06/mrsriley_shot2.jpg' rel='shadowbox[post-219];player=img;' title='mrsriley_shot2'><img width="284" height="150" src="http://variancetheory.com/wp-content/uploads/2009/06/mrsriley_shot2-284x150.jpg" class="attachment-thumbnail" alt="" title="mrsriley_shot2" /></a>
<a href='http://variancetheory.com/wp-content/uploads/2009/06/mrsriley_shot5.jpg' rel='shadowbox[post-219];player=img;' title='mrsriley_shot5'><img width="284" height="150" src="http://variancetheory.com/wp-content/uploads/2009/06/mrsriley_shot5-284x150.jpg" class="attachment-thumbnail" alt="" title="mrsriley_shot5" /></a>

]]></content:encoded>
			<wfw:commentRss>http://variancetheory.com/mrsriley-com/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mrs. Riley&#8217;s PageBuilder</title>
		<link>http://variancetheory.com/mrs-rileys-pagebuilder/</link>
		<comments>http://variancetheory.com/mrs-rileys-pagebuilder/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 06:00:32 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Non-Game]]></category>
		<category><![CDATA[SubFeatured]]></category>
		<category><![CDATA[MrsRiley]]></category>

		<guid isPermaLink="false">http://variancetheory.com/mrs-rileys-pagebuilder/</guid>
		<description><![CDATA[A Flex Application for the Autism Community]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a rel="shadowbox;width=974;height=761;" href="http://blip.tv/file/get/Mrsriley-PageBuilderDemoJune2009655.flv"><img class="size-medium wp-image-429 aligncenter" title="PageBuilder_Shot" src="http://variancetheory.com/wp-content/uploads/2009/06/PageBuilder_Shot-498x375.jpg" alt="PageBuilder_Shot" width="585" height="439" /></a></p>
<p>PageBuilder is a Flex application that was built to run inside of MrsRiley.com (<a href="http://mrsriley.com">visit site</a>, <a href="http://variancetheory.com/mrsriley-com/">visit portfolio page</a>). It helps people build visual learning materials and combines an easy interface with some novel community concepts. I wrote the entire application in MXML/Actionscript 3 as well as the backend in PHP running on a CentOS VPS. It also uses Amazon S3 for data storage.</p>
<p>The core concept of these materials is the Card. A Card is just a picture and word pair. These types of cards have been used in education for some time, but the existing software for building them is either too complicated or too expensive depending on who you are. I wanted to make something that was really accessible, but at the same time leveraged the fact that it was online by harnessing people&#8217;s work to build a database of cards.</p>
<p>So when a user saves a file, they can choose to share that file with the community. If they do so, the cards are extracted out of the pages in an intelligent way and added to a mySQL database that lets other users search for them. It&#8217;s the standard Web 2.0 paradigm &#8211; as people work on their individual stuff, they are building value for the group. This has worked even better than I had hoped, and all without exposing any complexity to the user.</p>
<p>PageBuilder is built following an MVC pattern in the front end, with a service/delegate setup for backend calls. I also implemented a pretty novel framework where the entire data model is a hierarchy that can transform itself to and from XML via an interface getXML() and setXML(). At first I did this just because XML is handy and AS3 happens to use the E4x interface for accessing it, making it really easy. But as time has gone on, many benefits have emerged.</p>
<p>For one, object cloning is dead simple. In typical AS3, you need to do some silly byteArray stuff to remove all references outside of a clone. With this, you just say objA.setXML(objB.getXML()) and you&#8217;re good.</p>
<p>Also, it took me a while to realize that I was making document building software, so I was always on the fence with whether or not I should represent the dataModel as relational data in mySQL. However, the decision to use XML paid off for no other reason than the simplicity of using full text search. All data is still stored in a mySQL database, but each searchable table has an XML field and searches run fulltext. This makes maintaining the search code vastly easier.</p>
<p>There&#8217;s lots of other stuff to talk about regarding PageBuilder. It has a nice undo system that was really interesting to write. It integrates with Yahoo and Flickr image search. It&#8217;s also a testament to &#8220;underdoing the competition&#8221; by focusing on a very common use case and doing it extremely well.</p>
<p>Check out the video of PageBuilder in action below or just visit <a href="http://mrsriley.com">Mrs. Riley</a> to try it yourself.</p>
]]></content:encoded>
			<wfw:commentRss>http://variancetheory.com/mrs-rileys-pagebuilder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://blip.tv/file/get/Mrsriley-PageBuilderDemoJune2009655.flv" length="39102599" type="video/x-flv" />
		</item>
		<item>
		<title>3DSMax Lipsync Rig &#8211; Convert Bones to Morph</title>
		<link>http://variancetheory.com/3dsmax-lipsync-rig-converting-bones-to-morph/</link>
		<comments>http://variancetheory.com/3dsmax-lipsync-rig-converting-bones-to-morph/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 15:59:40 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Characters]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Game Art]]></category>
		<category><![CDATA[Rigging]]></category>
		<category><![CDATA[SubFeatured]]></category>

		<guid isPermaLink="false">http://variancetheory.com/?p=155</guid>
		<description><![CDATA[Maxscripted Custom Attribute]]></description>
			<content:encoded><![CDATA[<p><a rel="shadowbox;width=974;height=761;" href="http://variancetheory.com/wp-content/uploads/2009/06/HeadMorphCA.swf"><img class="alignnone size-full wp-image-169" title="LipSyncRig" src="http://variancetheory.com/wp-content/uploads/2009/06/LipSyncRig1.jpg" alt="LipSyncRig" width="600" height="468" /></a></p>
<p>This example shows a relatively low-poly head rigged with bones for the standard lipsync viseme targets. This was matched to a system called Animeter that has since been bought and sold a bunch of times. Anyway, the standard targets still apply now.</p>
<p>So, the way this guy works is that we have a head model that is rigged and animated to a different morph target every 5 frames. The script creates a button in the head object&#8217;s rollout called &#8220;Create Morpher Head&#8221;. When the artist hits the button, Max snapshots the head along the timeline to create morph targets. It then assigns the targets to a base head with the Morpher modifier. Then you&#8217;re ready to roll.</p>
<p>The advantage to this is that since morphs are always topology dependent, we can&#8217;t tweak the model very much without ruining the rig. So instead, we make modeling changes to the skinned head and regenerate the morph targets from there. This can save artists a bunch of time.</p>
<p>Below is the source for the script.</p>

<div class="wp_codebox_msgheader wp_codebox_hide"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p155code1'); return false;">View Code</a> MAXSCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p1551"><td class="code" id="p155code1"><pre class="maxscript" style="font-family:monospace;">makeHeadCA <span style="color: #66cc66;">=</span> attributes makeHead
<span style="color: white;">&#40;</span>
	<span style="color: #dc143c;">parameters</span> main <span style="color: #dc143c;">rollout</span>:params
	<span style="color: white;">&#40;</span>
		makeHeadBtn type:#boolean ui:makeHeadBtn
	<span style="color: white;">&#41;</span>
	<span style="color: #dc143c;">rollout</span> params <span style="color: #7f007f;">&quot;Make Morpher&quot;</span>
	<span style="color: white;">&#40;</span>
		button makeHeadBtn <span style="color: #7f007f;">&quot;Create Morpher Head&quot;</span>
		<span style="color: #007f00;">on</span> makeHeadBtn pressed <span style="color: blue;font-weight:bold;">do</span>
		<span style="color: white;">&#40;</span>
			headBasis <span style="color: #66cc66;">=</span> $
			nameArray <span style="color: #66cc66;">=</span> #<span style="color: white;">&#40;</span><span style="color: #7f007f;">&quot;head_player_none_male&quot;</span>,<span style="color: #7f007f;">&quot;Eat&quot;</span>,<span style="color: #7f007f;">&quot;Earth&quot;</span>,<span style="color: #7f007f;">&quot;If&quot;</span>,<span style="color: #7f007f;">&quot;Ox&quot;</span>,<span style="color: #7f007f;">&quot;Oat&quot;</span>,<span style="color: #7f007f;">&quot;Wet&quot;</span>,<span style="color: #7f007f;">&quot;Size&quot;</span>,<span style="color: #7f007f;">&quot;Church&quot;</span>,<span style="color: #7f007f;">&quot;Fave&quot;</span>,<span style="color: #7f007f;">&quot;Though&quot;</span>,<span style="color: #7f007f;">&quot;Told&quot;</span>,<span style="color: #7f007f;">&quot;Bump&quot;</span>,<span style="color: #7f007f;">&quot;New&quot;</span>,<span style="color: #7f007f;">&quot;Roar&quot;</span>,<span style="color: #7f007f;">&quot;Cage&quot;</span>,<span style="color: #7f007f;">&quot;EyebrowRaiseLeft&quot;</span>,<span style="color: #7f007f;">&quot;EyebrowRaiseRight&quot;</span>,<span style="color: #7f007f;">&quot;BlinkLeft&quot;</span>,<span style="color: #7f007f;">&quot;BlinkRight&quot;</span>,<span style="color: #7f007f;">&quot;LookUp&quot;</span>,<span style="color: #7f007f;">&quot;LookDown&quot;</span>,<span style="color: #7f007f;">&quot;LookLeft&quot;</span>,<span style="color: #7f007f;">&quot;LookRight&quot;</span>,<span style="color: #7f007f;">&quot;EyebrowRaiseBoth&quot;</span>,<span style="color: #7f007f;">&quot;BlinkBoth&quot;</span><span style="color: white;">&#41;</span>
&nbsp;
			sliderTime <span style="color: #66cc66;">=</span> 0f
			headPosX <span style="color: #66cc66;">=</span> <span style="color: #ff4500;">0.5</span>
			headDone <span style="color: #66cc66;">=</span> <span style="color: #ff4500;">1</span>
			<span style="color: blue;font-weight:bold;">global</span> headM<span style="color: #66cc66;">or</span>phs <span style="color: #66cc66;">=</span> #<span style="color: white;">&#40;</span><span style="color: white;">&#41;</span>
			<span style="color: #5d5d5d; font-style: italic;">--snapshot the main head</span>
			<span style="color: blue;font-weight:bold;">for</span> i <span style="color: #66cc66;">=</span> <span style="color: #ff4500;">1</span> <span style="color: blue;font-weight:bold;">to</span> nameArray.<span style="color: #3c83b1;">count</span> <span style="color: blue;font-weight:bold;">do</span>
			<span style="color: white;">&#40;</span>
				newHead <span style="color: #66cc66;">=</span> snapshot headBasis
				headPosX <span style="color: #66cc66;">=</span> headPosX <span style="color: #66cc66;">+</span> .5
				newHead.<span style="color: #0000cd;">name</span> <span style="color: #66cc66;">=</span> nameArray<span style="color: white;">&#91;</span>i<span style="color: white;">&#93;</span>
				newHead.<span style="color: #3c83b1;">pos</span>.<span style="color: #3c83b1;">x</span> <span style="color: #66cc66;">=</span> headPosX
				append headM<span style="color: #66cc66;">or</span>phs newHead
				sliderTime <span style="color: #66cc66;">=</span> sliderTime <span style="color: #66cc66;">+</span> 5f
			<span style="color: white;">&#41;</span>
			sliderTime <span style="color: #66cc66;">=</span> 0f
&nbsp;
			<span style="color: #5d5d5d; font-style: italic;">--now add the morpher plus the targets</span>
			mainHead <span style="color: #66cc66;">=</span> headM<span style="color: #66cc66;">or</span>phs<span style="color: white;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: white;">&#93;</span>
			addmodifier mainHead <span style="color: white;">&#40;</span>m<span style="color: #66cc66;">or</span>pher<span style="color: white;">&#40;</span><span style="color: white;">&#41;</span><span style="color: white;">&#41;</span>
			<span style="color: blue;font-weight:bold;">global</span> theM<span style="color: #66cc66;">or</span>pher <span style="color: #66cc66;">=</span> mainHead.<span style="color: #3c83b1;">morpher</span>
			select mainHead
&nbsp;
			<span style="color: blue;font-weight:bold;">for</span> i <span style="color: #66cc66;">=</span> <span style="color: #ff4500;">1</span> <span style="color: blue;font-weight:bold;">to</span> <span style="color: white;">&#40;</span>headM<span style="color: #66cc66;">or</span>phs.<span style="color: #3c83b1;">count</span> <span style="color: #66cc66;">-</span> <span style="color: #ff4500;">1</span><span style="color: white;">&#41;</span> <span style="color: blue;font-weight:bold;">do</span>
			<span style="color: white;">&#40;</span>
				<span style="color: #0000cd;">print </span><span style="color: white;">&#40;</span><span style="color: #7f007f;">&quot;adding &quot;</span> <span style="color: #66cc66;">+</span> headm<span style="color: #66cc66;">or</span>phs<span style="color: white;">&#91;</span>i<span style="color: #66cc66;">+</span><span style="color: #ff4500;">1</span><span style="color: white;">&#93;</span>.<span style="color: #0000cd;">name</span><span style="color: white;">&#41;</span>
				WM3_MC_BuildFromNode mainHead.<span style="color: #3c83b1;">morpher</span> i headM<span style="color: #66cc66;">or</span>phs<span style="color: white;">&#91;</span>i<span style="color: #66cc66;">+</span><span style="color: #ff4500;">1</span><span style="color: white;">&#93;</span>
			<span style="color: white;">&#41;</span>
		<span style="color: white;">&#41;</span>
	<span style="color: white;">&#41;</span>
<span style="color: white;">&#41;</span>
&nbsp;
CAs <span style="color: #66cc66;">=</span> custattributes.<span style="color: #3c83b1;">getdefs</span> $head_basis.<span style="color: #3c83b1;">skin</span>
<span style="color: blue;font-weight:bold;">if</span> CAs.<span style="color: #3c83b1;">count</span> &amp;gt; <span style="color: #ff4500;">0</span> <span style="color: blue;font-weight:bold;">then</span>
<span style="color: white;">&#40;</span>
	<span style="color: blue;font-weight:bold;">for</span> i <span style="color: #66cc66;">=</span> <span style="color: #ff4500;">1</span> <span style="color: blue;font-weight:bold;">to</span> CAs.<span style="color: #3c83b1;">count</span> <span style="color: blue;font-weight:bold;">do</span>
	<span style="color: white;">&#40;</span>
		custattributes.<span style="color: #0000cd;">delete </span>$head_basis.<span style="color: #3c83b1;">skin</span> i
	<span style="color: white;">&#41;</span>
<span style="color: white;">&#41;</span>
<span style="color: #0000cd;">custAttributes.<span style="color: #3c83b1;">add</span> </span>$head_basis.<span style="color: #3c83b1;">skin</span> makeHeadCA</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://variancetheory.com/3dsmax-lipsync-rig-converting-bones-to-morph/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

