<?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>Julius Ihle &#187; aov</title>
	<atom:link href="http://julius-ihle.de/?feed=rss2&#038;tag=aov" rel="self" type="application/rss+xml" />
	<link>http://julius-ihle.de</link>
	<description>LookDev/Lighting TD &#124; Compositor</description>
	<lastBuildDate>Sun, 18 Jun 2023 07:39:58 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.41</generator>
	<item>
		<title>Digital Tutors/Pluralsight Training Release</title>
		<link>http://julius-ihle.de/?p=641</link>
		<comments>http://julius-ihle.de/?p=641#comments</comments>
		<pubDate>Sat, 20 Feb 2016 14:20:23 +0000</pubDate>
		<dc:creator><![CDATA[Julius]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[aov]]></category>
		<category><![CDATA[aovs]]></category>
		<category><![CDATA[cgi]]></category>
		<category><![CDATA[compositing]]></category>
		<category><![CDATA[computer graphics]]></category>
		<category><![CDATA[diffuse]]></category>
		<category><![CDATA[lighting]]></category>
		<category><![CDATA[lookdev]]></category>
		<category><![CDATA[multipass]]></category>
		<category><![CDATA[refraction]]></category>
		<category><![CDATA[shading]]></category>
		<category><![CDATA[specular]]></category>
		<category><![CDATA[texturing]]></category>
		<category><![CDATA[vfx]]></category>
		<category><![CDATA[visual effects]]></category>

		<guid isPermaLink="false">http://julius-ihle.de/?p=641</guid>
		<description><![CDATA[A few months back Digital Tutors/Pluralsight have picked me up to release a training series with them. It&#8217;s entitled Intermediate to Advanced AOV Manipulation Techniques&#8230;<p><a href="http://julius-ihle.de/?p=641" class="more-link post-excerpt-readmore"><span class="more-link-inner">Read more</span><span class="more-link-brd"></span></a></p>]]></description>
				<content:encoded><![CDATA[<p><a href="http://julius-ihle.de/?p=641"><img class="lazyload alignleft wp-image-642" data-original="http://julius-ihle.de/wp-content/uploads/2016/02/dt.png" alt="dt" width="800" height="333" /></a></p>
<p>A few months back Digital Tutors/Pluralsight have picked me up to release a training series with them. It&#8217;s entitled <strong><span style="text-decoration: underline;"><a title="Intermediate-to-Advanced-AOV-Manipulation-Techniques-in-NUKE" href="https://www.pluralsight.com/courses/intermediate-advanced-aov-manipulation-techniques-nuke-2397" target="_blank">Intermediate to Advanced AOV Manipulation Techniques in NUKE</a></span></strong>. In it I will be showing some tips/tricks to work as efficiently as possible with multipass renders. It starts by giving a brief introduction to AOV&#8217;s for newcomers, just so that everyone is on the same page but will quickly ramp up into more advanced topics.<br />
After the introductions I prepared a small project to integrate a CG car into a live action environment. Tweaking it to make it look good in the shot and an indepth rundown on why I do what are just a few of the things I will be discussing.</p>
<p>Also check out some before/after screenshots of the CG slapcomp vs the final composite to get a rough idea:<span id="more-641"></span></p>
<p style="text-align: left;">  <a href="http://julius-ihle.de/wp-content/uploads/2016/02/dt_training_slap.png" target="_blank"><img class="lazyload alignleft wp-image-644" data-original="http://julius-ihle.de/wp-content/uploads/2016/02/dt_training_slap.png" alt="dt_training_slap" width="600" height="338" /></a> <a href="http://julius-ihle.de/wp-content/uploads/2016/02/dt_training_final.png"><img class="lazyload alignleft wp-image-643" data-original="http://julius-ihle.de/wp-content/uploads/2016/02/dt_training_final.png" alt="dt_training_final" width="600" height="338" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://julius-ihle.de/?feed=rss2&#038;p=641</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Ground Contact Masks</title>
		<link>http://julius-ihle.de/?p=218</link>
		<comments>http://julius-ihle.de/?p=218#comments</comments>
		<pubDate>Sun, 03 Aug 2014 09:52:46 +0000</pubDate>
		<dc:creator><![CDATA[Julius]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[aov]]></category>
		<category><![CDATA[compositing]]></category>
		<category><![CDATA[id]]></category>
		<category><![CDATA[lighting]]></category>
		<category><![CDATA[mask]]></category>
		<category><![CDATA[maya]]></category>
		<category><![CDATA[passes]]></category>
		<category><![CDATA[position]]></category>
		<category><![CDATA[rendering]]></category>
		<category><![CDATA[vfx]]></category>

		<guid isPermaLink="false">http://julius-ihle.de/?p=218</guid>
		<description><![CDATA[Integrating CG into uneven soil is an interesting challenge. On a recent show we had to integrate CG characters into plates which often had a&#8230;<p><a href="http://julius-ihle.de/?p=218" class="more-link post-excerpt-readmore"><span class="more-link-inner">Read more</span><span class="more-link-brd"></span></a></p>]]></description>
				<content:encoded><![CDATA[<p><a href="http://julius-ihle.de/?p=218"><img class="lazyload alignnone wp-image-260" data-original="http://julius-ihle.de/wp-content/uploads/2014/08/grouncontact-1024x426.jpg" alt="grouncontact" width="800" height="333" /></a></p>
<p>Integrating CG into uneven soil is an interesting challenge. On a recent show we had to integrate CG characters into plates which often had a grassy ground. For Comp it&#8217;s benefitial if you get masks from Rendering to aid the blending of the CG elements into the grass. If the ground the characters are walking on is flat this can easily be achieved with a standard PWorld AOV. It get&#8217;s a bit trickier though if the characters are walking up a hill or a similarly uneven surface, because the coordinates at which the character comes in contact with the ground are constantly changing. I&#8217;ve been trying to come up with a system to make a Comper&#8217;s life easier and found a relatively simple solution.<span id="more-218"></span></p>
<p>So here&#8217;s a simple example scene with a sphere and a bumpy ground:</p>
<p><a href="http://julius-ihle.de/wp-content/uploads/2014/08/01_scene.png"><img class="lazyload wp-image-263 aligncenter" data-original="http://julius-ihle.de/wp-content/uploads/2014/08/01_scene-300x195.png" alt="01_scene" width="444" height="288" /></a></p>
<p style="text-align: left;">First of all I wanted to have a point on the sphere and a corresponding point on the groundplane right below that travels wherever the sphere moves. That way it&#8217;s easy to always get the closest distance of the ground to the sphere. A simple way to achieve this is to create a locator and constrain it to the sphere with a Closest Point Constraint. This will add 2 more locators to the scene: cpConstraintIn at the position where the locator was placed and cpConstraintPos which sticks to the surface of the sphere and is always on the closest point of the sphere to cpConsteraintIn.  The original locator that was created can be deleted. Depending on the scene a Point to Poly Constraint might be a more viable solution, such as when there&#8217;s a character moving over the ground, because it may be more desirable to have locators bound to each foot. In this case I chose a Closest Point Constraint because this will give the ability to rotate or scale the sphere and still have the system work eventually (a practical example would be a barrel rolling down a hill for example).<br />
Now one can move the sphere slightly up so that both locators are right above each other and Point Constraint the X and Z axis of cpConstraintIn to cpConstraintPos with maintaining the offset so that cpConstraintIn always travels along wherever the sphere moves. To make cpConstraintIn stick to the bumpy groundplane it can be Geometry Constraint&#8217;ed to it. For now this should give you something like this:</p>
<div style="width: 640px; " class="wp-video"><!--[if lt IE 9]><script>document.createElement('video');</script><![endif]-->
<video class="wp-video-shortcode" id="video-218-1" width="640" height="360" preload="metadata" controls="controls"><source type="video/mp4" src="http://julius-ihle.de/wp-content/uploads/2014/08/03_constraints.mp4?_=1" /><a href="http://julius-ihle.de/wp-content/uploads/2014/08/03_constraints.mp4">http://julius-ihle.de/wp-content/uploads/2014/08/03_constraints.mp4</a></video></div>
<p style="text-align: left;">Next thing that needs to be done is the coloration whenever both surfaces are coming closer to each other. I created a ramp as a perspective projection with white on the bottom and black on the top. Once again this could be done with a separate UV set instead of a projection but the projection approach gives the flexibility of being independend of the UV&#8217;s and have the system also work in situations when the object is rotating for example. To make sure that the part where the ground is is always white I placed the place3dTexture node (that got created when I created the ramp as a projection) so that the lower edge would be slightly below the cpConstraintIn locator. I then point constrained the place3dTexture from the ramp to this locator so that the white section would always be according to where the sphere might touch the ground.</p>
<p style="text-align: left;"><a href="http://julius-ihle.de/wp-content/uploads/2014/08/04_3dmap.png"><img class="lazyload wp-image-264 aligncenter" data-original="http://julius-ihle.de/wp-content/uploads/2014/08/04_3dmap-300x124.png" alt="04_3dmap" width="559" height="231" /></a></p>
<p style="text-align: left;">In the ramp one can now easily set the desired falloff and it should be all good to go:</p>
<div style="width: 640px; " class="wp-video"><video class="wp-video-shortcode" id="video-218-2" width="640" height="360" preload="metadata" controls="controls"><source type="video/mp4" src="http://julius-ihle.de/wp-content/uploads/2014/08/06_final_setup2.mp4?_=2" /><a href="http://julius-ihle.de/wp-content/uploads/2014/08/06_final_setup2.mp4">http://julius-ihle.de/wp-content/uploads/2014/08/06_final_setup2.mp4</a></video></div>
<p style="text-align: left;">The result can be piped into a custom AOV to deliver to comp for mixing it with a bit of noise and all that fancy stuff to make the elements sit properly in the plate.</p>
<p style="text-align: left;">Here&#8217;s a more practical example using point to poly constraints and a bit more effort being put into the setup:</p>
<div style="width: 640px; " class="wp-video"><video class="wp-video-shortcode" id="video-218-3" width="640" height="360" loop="1" preload="metadata" controls="controls"><source type="video/mp4" src="http://53035544.de.strato-hosting.eu/data/groundmask_test_v004.mp4?_=3" /><a href="http://53035544.de.strato-hosting.eu/data/groundmask_test_v004.mp4">http://53035544.de.strato-hosting.eu/data/groundmask_test_v004.mp4</a></video></div>
]]></content:encoded>
			<wfw:commentRss>http://julius-ihle.de/?feed=rss2&#038;p=218</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://julius-ihle.de/wp-content/uploads/2014/08/03_constraints.mp4" length="1698299" type="video/mp4" />
<enclosure url="http://julius-ihle.de/wp-content/uploads/2014/08/06_final_setup2.mp4" length="734544" type="video/mp4" />
<enclosure url="http://53035544.de.strato-hosting.eu/data/groundmask_test_v004.mp4" length="3030813" type="video/mp4" />
		</item>
		<item>
		<title>Dirt AOVs with Yeti &amp; PRMan</title>
		<link>http://julius-ihle.de/?p=78</link>
		<comments>http://julius-ihle.de/?p=78#comments</comments>
		<pubDate>Sat, 03 Aug 2013 17:04:21 +0000</pubDate>
		<dc:creator><![CDATA[Julius]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[aov]]></category>
		<category><![CDATA[lighting]]></category>
		<category><![CDATA[lookdev]]></category>
		<category><![CDATA[passes]]></category>
		<category><![CDATA[peregrine labs]]></category>
		<category><![CDATA[prman]]></category>
		<category><![CDATA[rendering]]></category>
		<category><![CDATA[renderman]]></category>
		<category><![CDATA[vfx]]></category>
		<category><![CDATA[yeti]]></category>

		<guid isPermaLink="false">http://julius-ihle.de/?p=78</guid>
		<description><![CDATA[CG fur always has the tendency to look very clean and soft. To break up the structure and to give a bit more realism I&#8230;<p><a href="http://julius-ihle.de/?p=78" class="more-link post-excerpt-readmore"><span class="more-link-inner">Read more</span><span class="more-link-brd"></span></a></p>]]></description>
				<content:encoded><![CDATA[<p><a href="http://julius-ihle.de/?p=78"><img class="lazyload alignleft wp-image-2186" data-original="http://julius-ihle.de/wp-content/uploads/2013/08/yeti_dirt.jpg" alt="yeti_dirt" width="800" height="333" /></a></p>
<p>CG fur always has the tendency to look very clean and soft. To break up the structure and to give a bit more realism I like to mix it with a bit of dirt, e.g. some leafs or sticks in the fur of a character walking through the woods. Here&#8217;s a quick rundown on what I&#8217;m doing to achieve this using Yeti and Renderman within Maya.<span id="more-78"></span>Let&#8217;s start with a simple sphere and some clumpy fur on it to get started. This is my base fur setup.</p>
<p>&nbsp;</p>
<p>What I&#8217;m doing next is to create another YetiNode on the same Mesh. This will be (one of) my dirt layers. In this example I&#8217;d like to have some leafs between the fur strands. For this I&#8217;m going to use polyPlanes with textures on them. So to distribute those planes along my sphere I need to first of all get some guide strands lain out. To make the planes take the direction of the fur I have to create a custom comb attribute which I&#8217;ll call &#8220;dirt_dir&#8221; in this example. So after comb&#8217;ing the grown fur with the groom I&#8217;m going to create yet another comb which has a comb attribute called &#8220;dirt_dir&#8221; in it.</p>
<p>&nbsp;</p>
<p>Next I&#8217;ll import the planes which are supposed to hold the leafs and instance them on the fur strands. For the alignment I&#8217;m going to choose my &#8220;dirt_dir&#8221; attribute to make the planes align along the fur strands. For this to work I have to set the &#8220;Instance To&#8221; to &#8220;Elements.</p>
<p>&nbsp;</p>
<p>To get a bit more variation and randomness one can also change the alignment, scale and twist variation as well as tick the &#8220;Deform&#8221; checkbox in the &#8220;Objects&#8221; tab.<br />
Alright, now that this is setup you can assign a simple Shader which holds a leaf texture for example and render and you&#8217;ll have a bit of dirt between the fur. However I personally like to have a bit more control over things in comp, so let&#8217;s take this a step further. I&#8217;m going to set up an AOV which holds the color and alpha of the leafs respectively, but the actual fur render will not contain the leafs at all. To set this up, I just map the leaf&#8217;s color to the diffuse and the leaf&#8217;s alpha to the mask input of a GPSurface Shader. Also I will turn up the transparency to full white because I don&#8217;t want the leafs to appear in the actual beauty render.</p>
<p>&nbsp;</p>
<p>For more information on how to set up custom AOV&#8217;s in Slim there&#8217;s a nice explanation <a title="using aovs" href="http://renderman.pixar.com/view/using-aovs" target="_blank">over at pixar.</a></p>
<p>When rendered and everything is set up correctly something like this should come out:</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Of course with a bit more sophisticated than just planes with textures on them one can get really nice results while still maintaining a lot of control. One thing I might add is that the color AOV of the dirt  should actually be rendered without the fur being visible. Otherwise as you can see it will be held out by the fur aswell, which could lead to premultiplication issues in comp. In this example it&#8217;s not really obvious but there might be cases where you should be aware of it.</p>
]]></content:encoded>
			<wfw:commentRss>http://julius-ihle.de/?feed=rss2&#038;p=78</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
