<?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>darkvertex.com &#187; tutorials</title> <atom:link href="http://darkvertex.com/wp/category/softimage/tutorials/feed/" rel="self" type="application/rss+xml" /><link>http://darkvertex.com/wp</link> <description>Bringing CG to life, one rig at a time...</description> <lastBuildDate>Wed, 02 May 2012 16:00:31 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <atom:link rel='hub' href='http://darkvertex.com/wp/?pushpress=hub'/> <item><title>Softimage: ICE String to Particles trick</title><link>http://darkvertex.com/wp/2010/11/15/softimage-ice-string-to-particles/</link> <comments>http://darkvertex.com/wp/2010/11/15/softimage-ice-string-to-particles/#comments</comments> <pubDate>Mon, 15 Nov 2010 14:30:57 +0000</pubDate> <dc:creator>Alan</dc:creator> <category><![CDATA[softimage]]></category> <category><![CDATA[tutorials]]></category> <category><![CDATA[ice]]></category> <category><![CDATA[tips]]></category> <category><![CDATA[tutorial]]></category><guid isPermaLink="false">http://darkvertex.com/wp/?p=431</guid> <description><![CDATA[[I shared this on the Softimage Mailing List the other day and thought it was worth posting here.] Here&#8217;s a fun trick for parsing an ICE string attribute, identifying the letters and typing out the text with particles: Download the sample scene here and read more about it below. (Soft 2011+ required.) Taking this knowledge [...]]]></description> <content:encoded><![CDATA[<p>[I shared this on the Softimage Mailing List the other day and thought it was worth posting here.]</p><p>Here&#8217;s a fun trick for parsing an ICE string attribute, identifying the letters and typing out the text with particles:<br /> <a rel="shadowbox[Mixed];width=1635;height=1055" href="http://s3.darkvertex.com/hlinked/ice/ICE_string_to_particles.png"><img class="size-medium wp-image-87 " src="http://s3.darkvertex.com/hlinked/ice/ICE_string_to_particles.png" alt="ICE string to particles" width="490" height="316" /></a><br /> Download the <a href="http://s3.darkvertex.com/hlinked/ice/ICE_string_to_particles.zip"><strong>sample scene</strong> <em>here</em></a> and read more about it below. (<strong>Soft 2011+</strong> required.)<br /> <span id="more-431"></span></p><p>Taking this knowledge we can also do variations on the concept like <strong>turning <em>a string into an array of booleans</em></strong>, for example:</p><p><a rel="shadowbox[Mixed];width=975;height=858" href="http://s3.darkvertex.com/hlinked/ice/ICE_string_to_boolean_array.png"><img class="size-medium wp-image-87 " src="http://s3.darkvertex.com/hlinked/ice/ICE_string_to_boolean_array.png" alt="ICE string to array of booleans" width="487" height="429" /></a></p><p>Let me know in the comments if you make anything cool with this technique. <img src='http://darkvertex.com/wp/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p> ]]></content:encoded> <wfw:commentRss>http://darkvertex.com/wp/2010/11/15/softimage-ice-string-to-particles/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Softimage: Symmetrical Shape Splitting with ICE</title><link>http://darkvertex.com/wp/2010/11/08/symmetrical-shape-split-with-ice/</link> <comments>http://darkvertex.com/wp/2010/11/08/symmetrical-shape-split-with-ice/#comments</comments> <pubDate>Mon, 08 Nov 2010 14:09:02 +0000</pubDate> <dc:creator>Alan</dc:creator> <category><![CDATA[softimage]]></category> <category><![CDATA[tutorials]]></category> <category><![CDATA[blendshapes]]></category> <category><![CDATA[compounds]]></category> <category><![CDATA[shapes]]></category> <category><![CDATA[tips]]></category> <category><![CDATA[tools]]></category> <category><![CDATA[tutorial]]></category><guid isPermaLink="false">http://darkvertex.com/wp/?p=339</guid> <description><![CDATA[I propose a way of using ICE to split symmetrical shape halves. Here it is in action: (Download here and read more about it below.) The classical way of doing symmetrical shapekeys (a.k.a. &#8220;blendshapes&#8221; if you&#8217;re in Maya or morphs if you&#8217;re in Max) is to make a symmetrical one then add it twice and [...]]]></description> <content:encoded><![CDATA[<p>I propose a way of using ICE to split symmetrical shape halves. Here it is in action:<br /> <a rel="shadowbox[Mixed];width=1293;height=878" href="http://wpfiles.darkvertex.com/wp/wp-content/uploads/2010/11/DeformWithSourceMesh_ICEcompound_exampleResult.png"><img class="size-medium wp-image-87 " src="http://wpfiles.darkvertex.com/wp/wp-content/uploads/2010/11/DeformWithSourceMesh_ICEcompound_exampleResult_THUMB.jpg" alt="My "Deform with Source Mesh" compound in action" width="517" height="351" /></a><br /> (<a href="http://s3.darkvertex.com/tools/ICE/Deform%20with%20Source%20Mesh.1.1.xsicompound"><strong>Download here</strong></a> and read more about it below.)<br /> <span id="more-339"></span></p><hr /></p><p>The classical way of doing symmetrical shapekeys (a.k.a. &#8220;<em>blendshapes</em>&#8221; if you&#8217;re in Maya or <em>morphs</em> if you&#8217;re in Max) is to make a symmetrical one then add it twice and paint off its influence with two weight maps, one for each half. In Maya you&#8217;d use the <em>Paint Blend Shape Weights</em> tool, but it&#8217;s basically the same deal.</p><p>In ICE, shapekeys have a <strong>.positions</strong> ICEattribute in them. This is an array of positions (vectors) representing the relative offset from the original mesh. In other words, it means you need to add them to the existing point positions to make said shape occur. That said, we won&#8217;t be using .positions in this post but full PointPosition&#8217;s instead.</p><p>Here&#8217;s what we&#8217;re gonna be working with in my example:<br /> <img src="http://wpfiles.darkvertex.com/wp/wp-content/uploads/2010/11/xsimanFace_neutralAndSmileSymmShape.jpg" alt="Amazing smile!" /></p><p>Normally you would make the 2 weightmaps, select one then Shape->Modulate Shape Key with Weight Map. The map looks kinda like this:<br /> <img src="http://wpfiles.darkvertex.com.s3.amazonaws.com/wp/wp-content/uploads/2010/11/XSIman_weightmap_halfFace.jpg" alt="Middle is 50 percent, rest is 100 percent." /><br /> This involves making sure you have 100% of one half and 50% of the middle. You want 50% because you want to be able to add the shapes for both sides and get 100% of the deformation in the middle, else you&#8217;d get 200% and that&#8217;s no good.</p><p>Let&#8217;s see how we can use ICE to skip that step altogether by only deforming points in one half instead of relying on a map to define it, as pictured at the beginning of this post.</p><p><a rel="shadowbox[Mixed];width=1752;height=972" href="http://wpfiles.darkvertex.com/wp/wp-content/uploads/2010/11/ICEtree_DeformWithSourceMesh.png"><img class="size-medium wp-image-87" src="http://wpfiles.darkvertex.com/wp/wp-content/uploads/2010/11/ICEtree_DeformWithSourceMesh_THUMB.jpg" alt="My "Deform with Source Mesh" compound in action" width="450" height="250" /></a></p><p>So as you can see we read the PointPosition, split out to scalars with the &#8220;<em>3D Vector to Scalar</em>&#8220;, then feed the X to different nodes to see if it&#8217;s bigger or equal to / bigger / smaller or equal to / smaller than zero. With the &#8220;<em>Select Case</em>&#8221; we use the correct one as defined from our dropdown menu input attribute &#8220;<em>Type</em>&#8220;. (If you didn&#8217;t know: to define a dropdown menu for an attribute in a compound just rightclick it and go to <em>Properties</em>, then fill in &#8220;<em>Combo string</em>&#8221; and &#8220;<em>Combo value</em>&#8221; then click &#8220;<em>Add combo</em>&#8221; as desired.)</p><p>The <em>If</em> node before the <em>Linear Interpolate</em> makes sure that if we&#8217;re not dealing with the correct half, we just let the positions pass through untouched. Otherwise, we check if the &#8220;<em>Type</em>&#8221; (mode) is set to one that includes the middle line, and if X is 0 it means we have a point in the perfect middle of the mesh, in which case we only affect it by 50%, else we let it go through. At the end we do one more <em>Linear Interpolate</em> between the affected result and the original mesh, so we can blend it gradually with a slider.</p><p>Lastly, if anyone&#8217;s curious what the word &#8220;<em>Epsilon</em>&#8221; means in regards to an &#8220;<em>Equals</em>&#8221; node, it&#8217;s basically the margin of error permitted in the comparison since vector values aren&#8217;t exact numbers most of the time in 3D. Thus an epsilon of 0.001 in this case means that a vector&#8217;s posX can be off from 0 by 0.001, so it could anywhere between -0.001 and 0.001 and still be considered to equal 0. You can increase the epsilon if you need to.</p><hr /> Long story short, you can <a href="http://s3.darkvertex.com/tools/ICE/Deform%20with%20Source%20Mesh.1.1.xsicompound"><strong>download the compound right here.</strong></a> I find it has greatly sped up my workflow when generating shape halves. Hope it helps you too. <img src='http://darkvertex.com/wp/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p> ]]></content:encoded> <wfw:commentRss>http://darkvertex.com/wp/2010/11/08/symmetrical-shape-split-with-ice/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Benchmarking your Python experiments</title><link>http://darkvertex.com/wp/2010/05/19/benchmarking-python-code/</link> <comments>http://darkvertex.com/wp/2010/05/19/benchmarking-python-code/#comments</comments> <pubDate>Wed, 19 May 2010 23:58:10 +0000</pubDate> <dc:creator>Alan</dc:creator> <category><![CDATA[tutorials]]></category> <category><![CDATA[python]]></category> <category><![CDATA[scripts]]></category> <category><![CDATA[tips]]></category> <category><![CDATA[tutorial]]></category><guid isPermaLink="false">http://darkvertex.com/wp/?p=288</guid> <description><![CDATA[Which is the fastest way to do this or that? Why not try them all and benchmark! All you need to do is lock at the time.clock()&#8230; # We need this for OS detection: from platform import system as OStype &#160; # Step 1: tick, tock... from time import clock start_time = clock&#40;&#41; &#160; &#160; [...]]]></description> <content:encoded><![CDATA[<p>Which is the fastest way to do this or that? Why not try them all and benchmark! <img src='http://darkvertex.com/wp/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p>All you need to do is lock at the <a href="http://docs.python.org/library/time.html#time.clock">time.clock()</a>&#8230;<br /> <span id="more-288"></span></p><div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;"># We need this for OS detection:</span>
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">platform</span> <span style="color: #ff7700;font-weight:bold;">import</span> system <span style="color: #ff7700;font-weight:bold;">as</span> OStype
&nbsp;
<span style="color: #808080; font-style: italic;"># Step 1: tick, tock...</span>
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">time</span> <span style="color: #ff7700;font-weight:bold;">import</span> clock
start_time = clock<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
&nbsp;
<span style="color: #808080; font-style: italic;"># Step 2: ???</span>
<span style="color: #808080; font-style: italic;"># (You do your procedures here.)</span>
<span style="color: #808080; font-style: italic;"># You NEED to do SOMETHING. Don't leave this blank!!</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># Here's a filler of nothingness:</span>
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">time</span> <span style="color: #ff7700;font-weight:bold;">import</span> sleep
sleep<span style="color: black;">&#40;</span><span style="color: #ff4500;">0.05</span><span style="color: black;">&#41;</span>
&nbsp;
&nbsp;
<span style="color: #808080; font-style: italic;"># Step 3: calculate duration</span>
timeTaken = clock<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> - start_time
&nbsp;
<span style="color: #808080; font-style: italic;"># In Windows clock() returns seconds but in Linux it's milliseconds, so:</span>
units = <span style="color: black;">&#91;</span><span style="color: #483d8b;">&quot;seconds&quot;</span> <span style="color: #ff7700;font-weight:bold;">if</span> OStype<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">is</span> <span style="color: #483d8b;">&quot;Windows&quot;</span> <span style="color: #ff7700;font-weight:bold;">else</span> <span style="color: #483d8b;">&quot;milliseconds&quot;</span><span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>
&nbsp;
msg = <span style="color: #483d8b;">&quot;It took &quot;</span>+<span style="color: #008000;">str</span><span style="color: black;">&#40;</span>timeTaken<span style="color: black;">&#41;</span>+<span style="color: #483d8b;">&quot; &quot;</span>+units+<span style="color: #483d8b;">&quot; to process your code.&quot;</span>
&nbsp;
Application.<span style="color: black;">LogMessage</span><span style="color: black;">&#40;</span>msg<span style="color: black;">&#41;</span> <span style="color: #808080; font-style: italic;"># if you're in Softimage,</span>
<span style="color: #808080; font-style: italic;"># otherwise use print() or whatever.</span></pre></div></div><p>I tried to make the snippet above as generic as possible, but if you&#8217;re using Python in Softimage, you can use XSIUtils.IsWindowsOS() for detecting Windows instead of my OStype stuff.</p> ]]></content:encoded> <wfw:commentRss>http://darkvertex.com/wp/2010/05/19/benchmarking-python-code/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Softimage Tip: ExtrudeOp Transforms</title><link>http://darkvertex.com/wp/2009/12/03/softimage-extrude-transforms/</link> <comments>http://darkvertex.com/wp/2009/12/03/softimage-extrude-transforms/#comments</comments> <pubDate>Thu, 03 Dec 2009 06:19:10 +0000</pubDate> <dc:creator>Alan</dc:creator> <category><![CDATA[softimage]]></category> <category><![CDATA[tutorials]]></category> <category><![CDATA[tips]]></category> <category><![CDATA[tutorial]]></category><guid isPermaLink="false">http://darkvertex.com/wp/?p=86</guid> <description><![CDATA[A lot of people are unaware of the possibilities of the ExtrudeOp operator.  See below&#8230; Try this yourself: Get a sphere. (My screenshot example was a half-sphere.) Select all polys. (Press Y to enter poly mode then Ctrl+A to select all.) Press Ctrl+D to Extrude. In an Explorer open your object&#8217;s operator stack, find the ExtrudeOp and [...]]]></description> <content:encoded><![CDATA[<p>A lot of people are unaware of the possibilities of the ExtrudeOp operator.  See below&#8230;</p><div id="attachment_87" class="wp-caption alignnone" style="width: 310px"><a rel="shadowbox[Mixed];width=1176;height=713" href="http://wpfiles.darkvertex.com/wp/wp-content/uploads/2009/12/xsi_extrudes_great.jpg"><img class="size-medium wp-image-87 " title="xsi_extrudeop_transforms_trick" src="http://wpfiles.darkvertex.com/wp/wp-content/uploads/2009/12/xsi_extrudes_great-300x181.jpg" alt="Fiddling with the ExtrudeOp options" width="300" height="181" /></a><p class="wp-caption-text">Fiddling with the ExtrudeOp options</p></div><p><span id="more-86"></span><br /> Try this yourself:</p><ol><li>Get a sphere. (My screenshot example was a half-sphere.)</li><li>Select all polys. (Press <strong>Y</strong> to enter poly mode then <strong>Ctrl+A</strong> to select all.)</li><li>Press <strong>Ctrl+D</strong> to <em>Extrude</em>.</li><li>In an <em>Explorer</em> open your object&#8217;s operator stack, find the <em><strong>ExtrudeOp</strong></em> and open its PPG.</li><li><strong>Turn off <em>Merge</em></strong>, then fiddle with <strong><em>Length</em></strong>, <strong><em>Inset Amount</em></strong> and <strong><em>Subdivs</em></strong>.</li><li>Then in the <em>Transform</em> tab, play with the sliders there.<br /> You can get some very interesting (and often abstract) results! <img src='http://darkvertex.com/wp/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></li></ol><p><span style="color: #ffcc00;">*</span><strong><span style="color: #ffcc00;">UPDATE [21/05/10]*</span></strong><strong>:</strong> A buddy of mine who uses Maya informs me that the mayan Extrude has options to do this as well if you peek in the channel box. Just so you know. <img src='http://darkvertex.com/wp/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p> ]]></content:encoded> <wfw:commentRss>http://darkvertex.com/wp/2009/12/03/softimage-extrude-transforms/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Tutorial: ReCentering with Components</title><link>http://darkvertex.com/wp/2009/04/22/recentering-with-components/</link> <comments>http://darkvertex.com/wp/2009/04/22/recentering-with-components/#comments</comments> <pubDate>Wed, 22 Apr 2009 18:30:06 +0000</pubDate> <dc:creator>Alan</dc:creator> <category><![CDATA[softimage]]></category> <category><![CDATA[tutorials]]></category> <category><![CDATA[tutorial]]></category><guid isPermaLink="false">http://darkvertex.com/wp/?p=9</guid> <description><![CDATA[[CLICK TO SEE VIDEO] FILES: DOWNLOAD TUTORIAL (22Mb SWF, play it with Adobe&#8217;s standalone Flash Player) and grab the example scenefile to try this yourself! BREAKDOWN: 1. Set an OK center position with &#34;Move Center to Bounding Box&#34; / &#34;Move Center to Vertices&#34;. 2. Enter &#34;Center&#34; mode. (top right) 3. Right-click on &#34;Ref&#34; button (below [...]]]></description> <content:encoded><![CDATA[<p><a rel="shadowbox[Mixed];width=640;height=498" href="http://cdn.darkvertex.com/tutorialfiles/recentering/recentering_tutorial_stream.swf"><br /> <img src="http://s3.darkvertex.com/tutorialfiles/recentering/recentering_tutorial_thumb.png" alt="Click to play video" /><br /> [<strong>CLICK TO SEE VIDEO</strong>]</a><br /> <span id="more-9"></span><br /> <strong>FILES</strong>: <a href="http://cdn.darkvertex.com/tutorialfiles/recentering/recentering_tutorial_highQuality.swf" rel="shadowbox[sbpost-9];width=640;height=385;">DOWNLOAD TUTORIAL</a> (22Mb SWF, play it with Adobe&#8217;s <a href="http://s3.darkvertex.com/inc/Adobe.Flash.Player.exe">standalone Flash Player</a>) and grab <a href="http://s3.darkvertex.com/tutorialfiles/recentering/recenteringTutorial_start.scn">the example scenefile</a> to try this yourself!</p><p><strong>BREAKDOWN</strong>:<br /> <strong>1.</strong> Set an OK center position with &quot;<em>Move Center to Bounding Box</em>&quot; / &quot;<em>Move Center to Vertices</em>&quot;.<br /> <strong>2.</strong> Enter &quot;<em>Center</em>&quot; mode. (top right)<br /> <strong>3.</strong> Right-click on &quot;<em>Ref</em>&quot; button (below <em>Local</em>) and choose &quot;<em>Pick Polygon/Edge/Point Reference</em>&quot;.<br /> Click an object to select it and highlight the desired components.<br /> <strong>4.</strong> While still in both &quot;<em>Center</em>&quot; and &quot;<em>Ref</em>&quot; modes, reset rotation to 0,0,0 then go back to &quot;<em>Object</em>&quot; mode (top right), go &quot;<em>Local</em>&quot; mode and reset rotation to 0,0,0 again. &#8212; That&#8217;s it! <img src='http://darkvertex.com/wp/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p><p><strong>FORUM THREADS</strong>: [<a href="http://www.xsibase.com/forum/index.php?board=6;action=display;threadid=39429">xsibase</a>] [<a href="http://www.xsiforum.com/forum/index.php/topic,6736.0.html">xsiforum.com</a>]</p> ]]></content:encoded> <wfw:commentRss>http://darkvertex.com/wp/2009/04/22/recentering-with-components/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>How: SSS Skin with Refractive Transparency</title><link>http://darkvertex.com/wp/2008/06/25/sss-with-refraction/</link> <comments>http://darkvertex.com/wp/2008/06/25/sss-with-refraction/#comments</comments> <pubDate>Wed, 25 Jun 2008 22:47:16 +0000</pubDate> <dc:creator>Alan</dc:creator> <category><![CDATA[softimage]]></category> <category><![CDATA[tutorials]]></category> <category><![CDATA[tutorial]]></category><guid isPermaLink="false">http://darkvertex.com/wp/?p=55</guid> <description><![CDATA[** Download Example Scene (XSI 6.02+) ** &#8212; Raw Rotation &#38; with post-blur [QT MP4] Why? The fast skinshader (mentalray) material that comes with XSI off the bat is pretty awesome, but it has one downfall which is the lack of a transparency input. How? A Refraction node combined with Binary Alchemy&#8217;s wonderful SSS shader, [...]]]></description> <content:encoded><![CDATA[<p><img src="http://s3.darkvertex.com/tutorialfiles/ssswithalpha/ssswithalpha_proof.jpg" width=500 /></p><p><a href="http://s3.darkvertex.com/tutorialfiles/ssswithalpha/ssswithalpha_example.scn">** Download Example Scene (XSI 6.02+) **</a> &#8212; <a href="http://s3.darkvertex.com/tutorialfiles/ssswithalpha/SSS_with_True.Refracting.Transparency.mov" rel="shadowbox[sbpost-55];width=640;height=385;">Raw Rotation </a> &amp; <a href="http://s3.darkvertex.com/tutorialfiles/ssswithalpha/SSS_with_True.Refracting.Transparency_and_Post.Blur.mov" rel="shadowbox[sbpost-55];width=640;height=385;">with post-blur</a> [QT MP4]</p><p><span id="more-55"></span></p><h2>Why?</h2><p>The fast skinshader (mentalray) material that comes with XSI off the bat is pretty awesome, but it has one downfall which is <strong>the lack of a transparency input</strong>.</p><h2>How?</h2><p>A <em>Refraction</em> node combined with <a href="http://www.binaryalchemy.de/index_dev.htm">Binary Alchemy&#8217;s</a> wonderful <strong>SSS shader</strong>, from their (freeware) &quot;<em>Essentials</em>&quot; shader collection, available for download on their site.</p><p>BA&#8217;s SSS shader doesn&#8217;t do transparency or refractions off the bat, and it won&#8217;t let you plug in a material, so that&#8217;s not an option. However, a Refraction node (or Transparency node, though that would look wrong) can be plugged into its &quot;<em>Replace Color</em>&quot; input no problem. Plug your transparency map to the weight input and you&#8217;re set.</p><p>The final rendertree looks like the following:<br /> <img src="http://s3.darkvertex.com/tutorialfiles/ssswithalpha/rendertree.gif" /></p><h2>But why would you need skin to be transparent? Humans aren&#8217;t transparent, you crazy nut!</h2><p><strong>True</strong>, however&#8230; what about fish? Certain fish can be almost completely transparent and most are at least partially so.<br /> Not only that, but in the areas that they are, they refract light, too. Behold some evidence below:<br /> <img src="http://s3.darkvertex.com/tutorialfiles/ssswithalpha/transparentfish.jpg" /></p><h2>What is the refractive index of transparent skin?</h2><p>That&#8217;s a good question&#8230;. and <strong>I&#8217;ve no idea</strong>. (If anyone knows, get in touch.) I&#8217;d guess it&#8217;s something around that of some sort of plastic or silicone.<br /> (In my example scenefile I used refraction of 1.2 just to see if it was working and by no means whatsoever is that the correct refractive index for skin.)</p><h2>Ok&#8230; it&#8217;s transparent, but shouldn&#8217;t it be a bit blurry too?</h2><p>Absolutely! And that&#8217;s where the magic of post-production can kick in. One way to do it is to have a pass of your transparency as black on white, and use that to selectively blur the transparent areas to give the illusion of blurry refraction. [Another way, potentially slower to render, is to use an Architectural node instead of the Refraction one to get blurry refractions off the bat. <span class="ni">-- Thanks ghonma for the tip.</span>]</p><p>I&#8217;ve provided my simple approach to doing the effect in post using XSI&#8217;s own FXtree:<br /> <img src="http://s3.darkvertex.com/tutorialfiles/ssswithalpha/fxtree.gif" /><a href="http://s3.darkvertex.com/tutorialfiles/ssswithalpha/SSS_with_True.Refracting.Transparency_and_Post.Blur.mov" rel="shadowbox[sbpost-55];width=640;height=385;"><img src="http://s3.darkvertex.com/tutorialfiles/ssswithalpha/ssswithalpha-and-post.jpg" /></a><br /> (Click on the picture to the right to download a QT .mov of the animated rotation after post-production.)</p><p>If you see any mistakes or feel the need to correct any of the methods described above, let me know so I can make this document more accurate. <img src='http://darkvertex.com/wp/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p> ]]></content:encoded> <wfw:commentRss>http://darkvertex.com/wp/2008/06/25/sss-with-refraction/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <enclosure url="http://s3.darkvertex.com/tutorialfiles/ssswithalpha/SSS_with_True.Refracting.Transparency_and_Post.Blur.mov" length="5745067" type="video/quicktime" /> <enclosure url="http://s3.darkvertex.com/tutorialfiles/ssswithalpha/SSS_with_True.Refracting.Transparency.mov" length="5893269" type="video/quicktime" /> </item> <item><title>Tutorial: Faster Displacement by Optimizing</title><link>http://darkvertex.com/wp/2008/01/18/tutorial-faster-displacement/</link> <comments>http://darkvertex.com/wp/2008/01/18/tutorial-faster-displacement/#comments</comments> <pubDate>Fri, 18 Jan 2008 18:29:42 +0000</pubDate> <dc:creator>Alan</dc:creator> <category><![CDATA[softimage]]></category> <category><![CDATA[tutorials]]></category> <category><![CDATA[tutorial]]></category><guid isPermaLink="false">http://darkvertex.com/wp/?p=5</guid> <description><![CDATA[[SEE VIDEO] FILES: DOWNLOAD TUTORIAL (36Mb SWF, play it with standalone Flash Player) Get the OBJ &#038; TIFF from here.&#160;&#160;[If the official link dies, get it here.] FORUM THREADS: [xsibase] [cgtalk] [xsiforum.com] [indocg.com] [xsiforum.de] NOTE:Sometimes, enabling &#8220;Sample Displacement Before Rendering&#8221; under the Optimization tab in the Renderer Options may drastically speed up your render even [...]]]></description> <content:encoded><![CDATA[<p><a rel="shadowbox[Mixed];width=1024;height=786" href="http://s3.darkvertex.com/tutorialfiles/fasterdisplacement/faster.displacement_10mins.swf"><br /> <img src="http://s3.darkvertex.com/tutorialfiles/fasterdisplacement/thumb.jpg" alt="Click to play video" /><br /> [<strong>SEE VIDEO</strong>]</a><br /> <span id="more-5"></span><br /> <strong>FILES</strong>: <a href="http://s3.darkvertex.com/tutorialfiles/fasterdisplacement/faster.displacement_10mins.swf" rel="shadowbox[sbpost-5];width=640;height=385;">DOWNLOAD TUTORIAL</a> (36Mb SWF, play it with <a href="http://s3.darkvertex.com/inc/Adobe.Flash.Player.exe">standalone Flash Player</a>)<br /> Get the OBJ &#038; TIFF from <a href="http://209.132.96.164/zmodels/humanhead3.zip">here.</a>&nbsp;&nbsp;[If the official link dies, get it <a href="http://s3.darkvertex.com/tutorialfiles/fasterdisplacement/humanhead3_OBJwithTIFF.zip">here.</a>]</p><p><strong>FORUM THREADS</strong>: [<a href="http://www.xsibase.com/forum/index.php?board=6;action=display;threadid=34543">xsibase</a>] [<a href="http://forums.cgsociety.org/showthread.php?t=585884">cgtalk</a>] [<a href="http://www.xsiforum.com/forum/index.php/topic,5061.0.html">xsiforum.com</a>] [<a href="http://www.indocg.com/forum/viewtopic.php?id=6143">indocg.com</a>] [<a href="http://www.xsiforum.de/thread.php?threadid=4542">xsiforum.de</a>]</p><p><strong>NOTE</strong>:<br />Sometimes, enabling &#8220;<i>Sample Displacement Before Rendering</i>&#8221; under the <i>Optimization</i> tab in the <i>Renderer Options</i> may drastically speed up your render even more.<br /> Bare in mind disabling it means mentalray doesn&#8217;t get accurate bounding boxes for the displaced geo, which means BSP calculations can be affected.<br /> This will not affect render quality though, only overall render times.</p><p> *<strong><em>UPDATE</em></strong>* [<em>03/01/10</em>] This tutorial was made in XSI 6 and you should know that the &#8220;<strong>sib_interp_linear</strong>&#8221; node is the &#8220;<strong>ChangeRange</strong>&#8221; node in present versions.</p> ]]></content:encoded> <wfw:commentRss>http://darkvertex.com/wp/2008/01/18/tutorial-faster-displacement/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Maya: Beginner&#8217;s Basic Rain Tutorial</title><link>http://darkvertex.com/wp/2007/10/04/simple-rain-in-maya/</link> <comments>http://darkvertex.com/wp/2007/10/04/simple-rain-in-maya/#comments</comments> <pubDate>Thu, 04 Oct 2007 22:55:27 +0000</pubDate> <dc:creator>Alan</dc:creator> <category><![CDATA[tutorials]]></category> <category><![CDATA[maya]]></category> <category><![CDATA[tutorial]]></category><guid isPermaLink="false">http://darkvertex.com/wp/?p=63</guid> <description><![CDATA[This tutorial was written a long time ago, but my logs show that some people still browse it. Here it is if you&#8217;re looking for it: (clicky clicky)]]></description> <content:encoded><![CDATA[<p>This tutorial was written a long time ago, but my logs show that some people still browse it.</p><p>Here it is if you&#8217;re looking for it: <a href="/tutorials/simplerain/">(clicky clicky)<br /> <img src="/tutorials/simplerain/preview.jpg" alt="Go to tutorial" /></a></p> ]]></content:encoded> <wfw:commentRss>http://darkvertex.com/wp/2007/10/04/simple-rain-in-maya/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
