tag:blogger.com,1999:blog-78875030209174483192024-03-19T09:43:08.350+01:00David Miranda| Dev BlogDavid Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.comBlogger117125tag:blogger.com,1999:blog-7887503020917448319.post-29442786604247908402017-01-21T01:32:00.002+01:002017-01-24T20:00:34.311+01:00Fog Volume 3, pre-release notes.It was 2013 when I started developing <a href="https://forum.unity3d.com/threads/fog-volume.225513/" target="_blank">Fog Volume</a>. I didn't decide to do it by myself, but <a href="https://twitter.com/robertbriscoe?lang=es" target="_blank">Robert Briscoe</a> asked me if I could do it for his project Dear Esther. I was really busy by that time, working full time on <a href="http://www.deadlightgame.com/" target="_blank">Deadlight</a>, writing some skin and atmosphere Tech for <a href="http://survivetheforest.com/" target="_blank">The Forest</a> and teaching UDK at <a href="https://www.u-tad.com/" target="_blank">U-TAD,</a> but I found the time to do a first implementation.<br />
<br />
Until now I have not worked too much on it, some weeks last year and some bug fixing here and there.<br />
<br />
Now, with the last Unite demo done, I didn't have much else to do, so I decided to put all my efforts here.<br />
<br />
From what I see on twitter, I put the first stone of Fog Volume 3 in <a href="https://twitter.com/BetaVersionOfMe/status/787822531256455168" target="_blank">October</a>. I got really motivated and have not stopped yet. It's been 3 months working an average of 15h/day. Sometimes more than 30 hours without sleeping. Sleep 4 and work another 20. And #repeat til death#<br />
<br />
But today I started to see the light at the end of the tunnel. My task list is getting thinner now. And some bigger tasks will be postponed for future versions.<br />
<br />
So, what can Fog Volume 3 do? Lets watch some short videos (sort by date):<br />
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="315" src="https://www.youtube-nocookie.com/embed/kM1Qik_6Pv4?rel=0" width="560"></iframe><br /></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="315" src="https://www.youtube-nocookie.com/embed/4kVyP6zSFh4?rel=0" width="560"></iframe><br /></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="315" src="https://www.youtube-nocookie.com/embed/6TXKGpbLeCo?rel=0" width="560"></iframe><br /></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="315" src="https://www.youtube-nocookie.com/embed/uSvKZW_LOuo?rel=0" width="560"></iframe><br /></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
</div>
<div style="text-align: center;">
</div>
<div style="text-align: center;">
</div>
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="315" src="https://www.youtube-nocookie.com/embed/A7heByoO-Dw?rel=0" width="560"></iframe><br /></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: left;">
A very important part of every piece of software is making it painless to the user. Fog Volume 3 is HUGE, frigging huge, so dealing with 3 vertical screens of weird parameters was not an option. For that reason, I wrote a modular interface:</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="315" src="https://www.youtube-nocookie.com/embed/7ojYID74AKs?rel=0" width="560"></iframe></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: left;">
<br /></div>
Some of the new features require more cameras, and other objects with scripts added to them. All of that happens under the hood. The user won't see anything of that. Everything just happens when a checker is activated. All the communication with those mysterious objects is done through the Fog Volume 3 interface.<br />
<br />
Having said what's Fog Volume, lets talk about what is not.<br />
<h4>
</h4>
<h4>
Fog Volume is not:</h4>
<ul>
<li>Time of the day system</li>
<li>Weather system</li>
<li>Atmosphere system</li>
</ul>
Will it be? Maybe. All depends on the market reaction.<br />
<br />
<h4>
</h4>
<h4>
Transparency:</h4>
I bet nobody have solved the problem of blending transparent shaders with raymarch shaders. Fog Volume will suffer of the same. What can you do? You can have a Fog Volume in the background:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-7FOVinG_Wps/WIN8pU_xRiI/AAAAAAAAEVU/5QWPEOMlolUUlbZ5Kp7kSjhLOkzo7pkvACLcB/s1600/2017-01-21_15-21-44.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="576" src="https://2.bp.blogspot.com/-7FOVinG_Wps/WIN8pU_xRiI/AAAAAAAAEVU/5QWPEOMlolUUlbZ5Kp7kSjhLOkzo7pkvACLcB/s640/2017-01-21_15-21-44.jpg" width="640" /></a></div>
</div>
<div style="text-align: left;">
<br />
So you can use it for high clouds, but don't ever put transparent objects inside the volume.<br />
<br />
In case you don't like Unity's default fog and want a different method in your project, lets say realistic scattering, height fog or whatever... you will have to code a whole new shading core. I have done that several times, but never released any to the public because that's a deep modification that needs a coder in the project to integrate and maintain the system. <br />
<h4>
</h4>
<h4>
Performance:</h4>
Raymarching is expensive by definition (almost). I tried to find where I was wasting gpu power in the older version. Regarding this, v3 can do more with less. Apart from that, having in mind that the noise input is a 3D texture of 128 pixels, we may think that rendering it dowscaled won't be a drama. And that's it, I included a module to render it with a secondary camera. I put a script in the main camera where we have access to this secondary camera properties. I would have placed it in the Fog Volume object, but this is a global process and common for n-Fog Volumes.<br />
In this script we have some parameters:<br />
<ul>
<li>Dowscale</li>
<li>Upsampling options</li>
<li>TAA made by Inside team and other important <a href="https://github.com/playdeadgames/temporal" target="_blank">researchers</a>.</li>
</ul>
This is how it looks, but I have to make a custom inspector for it though<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-4A3zQV-NSAM/WIN6kDynOLI/AAAAAAAAEVI/sPw8mQg0qW427QwIa4w-SKKj2KYBqKObgCLcB/s1600/2017-01-21_15-12-30.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://4.bp.blogspot.com/-4A3zQV-NSAM/WIN6kDynOLI/AAAAAAAAEVI/sPw8mQg0qW427QwIa4w-SKKj2KYBqKObgCLcB/s1600/2017-01-21_15-12-30.jpg" /></a></div>
<div style="text-align: center;">
</div>
<h4>
VR:</h4>
VR is possible, but at what cost? Dunno yet. The initial release won't support rendering the effect down-sampled, but I will work on that aspect after the release. Rendering the effect full scale wont produce any issue in VR.<br />
<br />
<br />
<h4>
Volumetric Shadows:</h4>
Shadow mapping is not done at the moment. What I do is to sample the opacity of a given object placed <u>on top</u> of the volume. So atm, I would use this feature to cast shadows from clouds, as shown in the picture below. Another case that comes to my mind to use this would be a corridor with windows.<br />
I sample this map along the volume after some down-sampling and blur.<br />
For realism, I wanted to control the amount of blur based on the distance from the shadow caster to the hit point, but I will do that in the future.<br />
Shadow direction will be correct if your relative rotationX between light and the volume don't exceed approx 30º. This is because I reuse the volume coordinates to do the trick. I would have to generate a new set of coordinates using the light matrix. This part is subject to evolve in the future, lets see where it ends.<br />
You could have 360º volume shadows while the relative rotation between light and volume don't exceed those 30º. I added a checker to attach the light to the volume rotation (relative rotation = 0). This is how Robert Cupisz volume light works. Once activated, I turn off a keyworkd where the shadow direction was computed. I told you I tried to avoid wasting gpu power!. <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-ZlRhuJLzTw4/WIOIYTairhI/AAAAAAAAEVk/lRtY8ZoN7zAloxHZyMoAa_TIkSh2vmnXwCLcB/s1600/2017-01-21_16-10-36.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="520" src="https://1.bp.blogspot.com/-ZlRhuJLzTw4/WIOIYTairhI/AAAAAAAAEVk/lRtY8ZoN7zAloxHZyMoAa_TIkSh2vmnXwCLcB/s640/2017-01-21_16-10-36.jpg" width="640" /></a></div>
<div style="text-align: center;">
<br /></div>
After all of that, I apply this map to a screen space decal material to shade the scene.<br />
<br />
<br />
<h4>
Viewports:</h4>
Fog Volume will be rendered in both viewports. Note that Scene view will be super expensive compared to Game view when you have dowsampling activated.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-mAZcasmqgwk/WIOQb5WK8CI/AAAAAAAAEV0/5IzGb99gbVAwXfFL0SZxN8vilQxahMWZgCLcB/s1600/2017-01-17_12-07-38.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="539" src="https://3.bp.blogspot.com/-mAZcasmqgwk/WIOQb5WK8CI/AAAAAAAAEV0/5IzGb99gbVAwXfFL0SZxN8vilQxahMWZgCLcB/s640/2017-01-17_12-07-38.jpg" width="640" /></a></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<h4 style="text-align: left;">
Intended platforms:</h4>
<div style="text-align: left;">
Mainly BIG machines although simple fog woks smoothly on mobile</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-l8FWxnDFdq4/WIOR0bTW_II/AAAAAAAAEV8/vp1PDW5d7k4aKOjJNnuc_H2XKLloz7-HgCLcB/s1600/FullSizeRender%25281%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="https://3.bp.blogspot.com/-l8FWxnDFdq4/WIOR0bTW_II/AAAAAAAAEV8/vp1PDW5d7k4aKOjJNnuc_H2XKLloz7-HgCLcB/s640/FullSizeRender%25281%2529.jpg" width="640" /></a></div>
<div style="text-align: center;">
</div>
<h4 style="text-align: left;">
Future plans:</h4>
<ul>
<li>Full volumetric lighting</li>
<li>Presets system</li>
<li>TOD && Sky scattering? Only if the mass ask for it</li>
<li>VR</li>
<li>Noise texture generator </li>
<li>Subtractive sphere distance fields </li>
<li>Interleaved sampling </li>
<li>Modify TAA for HDR output </li>
<li>More debug view modes </li>
<li>Scene blur. Thanks Lee Perry-Smith for the <a href="https://twitter.com/inlifethrill_" target="_blank">ideas and refs</a></li>
<li><br /><a href="https://pbs.twimg.com/media/C2nrwwyWEAEMo03.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="https://pbs.twimg.com/media/C2nrwwyWEAEMo03.jpg" width="640" /></a><br /> </li>
</ul>
That's all, folks!</div>
David Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com0tag:blogger.com,1999:blog-7887503020917448319.post-79674261551646813602016-11-11T14:13:00.000+01:002016-11-11T14:13:06.612+01:00Unite 2016: GPU instancing demoRecently, I worked on a demo that demonstrates GPU instancing on Metal API. I had 10 days to make all the art, shaders and scene setup. C# was provided by Unity.<br />
<br />
The demo was shown at the Unite 2016 event:<br />
<br />
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube-nocookie.com/embed/zEj-c0XY1DU?rel=0" width="640"></iframe></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: left;">
Local captures:<u><br /></u><br />
<br />
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube-nocookie.com/embed/-Etafw2g99M?rel=0" width="640"></iframe><br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-y5-emZe92lY/WCXBBTilrpI/AAAAAAAAETs/nbt_ufBw8hEYjsrlHnBlzE6sQqC36bQ2wCLcB/s1600/10-11-2016%2B17.27.58%2Bx1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="https://2.bp.blogspot.com/-y5-emZe92lY/WCXBBTilrpI/AAAAAAAAETs/nbt_ufBw8hEYjsrlHnBlzE6sQqC36bQ2wCLcB/s640/10-11-2016%2B17.27.58%2Bx1.png" width="640" /></a></div>
<div style="text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-w0IpeMDNmgI/WCXBAiGbfPI/AAAAAAAAETo/3TVD9Cm4x0cs89vH48n4Uor-ashpb6YvQCLcB/s1600/10-11-2016%2B17.28.05%2Bx1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="https://2.bp.blogspot.com/-w0IpeMDNmgI/WCXBAiGbfPI/AAAAAAAAETo/3TVD9Cm4x0cs89vH48n4Uor-ashpb6YvQCLcB/s640/10-11-2016%2B17.28.05%2Bx1.png" width="640" /></a></div>
<div style="text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-27YYb054wuk/WCXBGkHKBPI/AAAAAAAAET4/kgvX1ggCTx088puMWjy9s2iKbj2JlR76ACLcB/s1600/10-11-2016%2B17.28.28%2Bx1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="https://2.bp.blogspot.com/-27YYb054wuk/WCXBGkHKBPI/AAAAAAAAET4/kgvX1ggCTx088puMWjy9s2iKbj2JlR76ACLcB/s640/10-11-2016%2B17.28.28%2Bx1.png" width="640" /></a></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: left;">
Protoplanet sculpt:</div>
<div style="text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-Wydc8dnoX_Y/WCXBEyr017I/AAAAAAAAET0/wn37tV6wqjIHLJP5QVg2ZA_V964EpibHACLcB/s1600/2016-11-10_12-48-29.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="564" src="https://3.bp.blogspot.com/-Wydc8dnoX_Y/WCXBEyr017I/AAAAAAAAET0/wn37tV6wqjIHLJP5QVg2ZA_V964EpibHACLcB/s640/2016-11-10_12-48-29.jpg" width="640" /></a></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: left;">
Asteroid sculpt:</div>
<div style="text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-aIMyVBuoTBE/WCXBG3hFumI/AAAAAAAAET8/zcgKOXsJWYwQFikUFnATy16GAGNRbmV6wCLcB/s1600/2016-11-10_12-52-02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="554" src="https://3.bp.blogspot.com/-aIMyVBuoTBE/WCXBG3hFumI/AAAAAAAAET8/zcgKOXsJWYwQFikUFnATy16GAGNRbmV6wCLcB/s640/2016-11-10_12-52-02.jpg" width="640" /></a></div>
<br /></div>
David Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com0tag:blogger.com,1999:blog-7887503020917448319.post-13648821971541792342016-08-15T20:02:00.001+02:002016-08-17T22:40:39.240+02:00Arid Environment Set for UE4.<div style="text-align: center;">
<br /></div>
It's been a year since we climbed that high mountain searching for rocks to scan. Today we are happy to show you a scene that we have built using the collected data.<br />
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
<iframe allowfullscreen="true" frameborder="0" height="360" mozallowfullscreen="true" src="https://docs.google.com/presentation/d/1Om3DhlHoLDj7KA5mzv4N8YVfbk6FoYtjtEoLcjuWtS8/embed?start=false&loop=false&delayms=3000" webkitallowfullscreen="true" width="640"></iframe><br /></div>
<br />
I asked my bro to build something simple with the rocks I just imported into the editor, just to let him learn a bit of the Editor basics. <br />
<br />
I began to do some tests by myself. In the meantime, he trained hard. Weeks later I started to think that we could maybe work in the scene together, so I created a level for him, moved the project to Dropbox and shared it with him, so we would be able to work on it at the same time.<br />
<br />
I asked him to build an exterior area, so he designed and built it. Later I added all the detail.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://davidmiranda.me/files/AridEnvironmentSetUE4/DocumentationGallery/ScreenshotsStore_AridEnvironmentSet_screenshot_03.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://davidmiranda.me/files/AridEnvironmentSetUE4/DocumentationGallery/ScreenshotsStore_AridEnvironmentSet_screenshot_03.jpg" height="360" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://davidmiranda.me/files/AridEnvironmentSetUE4/DocumentationGallery/ScreenshotsStore_AridEnvironmentSet_screenshot_01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://davidmiranda.me/files/AridEnvironmentSetUE4/DocumentationGallery/ScreenshotsStore_AridEnvironmentSet_screenshot_01.jpg" height="360" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://davidmiranda.me/files/AridEnvironmentSetUE4/DocumentationGallery/ScreenshotsStore_AridEnvironmentSet_screenshot_10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://davidmiranda.me/files/AridEnvironmentSetUE4/DocumentationGallery/ScreenshotsStore_AridEnvironmentSet_screenshot_10.jpg" height="360" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://davidmiranda.me/files/AridEnvironmentSetUE4/DocumentationGallery/ScreenshotsStore_AridEnvironmentSet_screenshot_09.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://davidmiranda.me/files/AridEnvironmentSetUE4/DocumentationGallery/ScreenshotsStore_AridEnvironmentSet_screenshot_09.jpg" height="360" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://davidmiranda.me/files/AridEnvironmentSetUE4/DocumentationGallery/ScreenshotsStore_AridEnvironmentSet_screenshot_08.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://davidmiranda.me/files/AridEnvironmentSetUE4/DocumentationGallery/ScreenshotsStore_AridEnvironmentSet_screenshot_08.jpg" height="360" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://davidmiranda.me/files/AridEnvironmentSetUE4/DocumentationGallery/ScreenshotsStore_AridEnvironmentSet_screenshot_02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://davidmiranda.me/files/AridEnvironmentSetUE4/DocumentationGallery/ScreenshotsStore_AridEnvironmentSet_screenshot_02.jpg" height="360" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://davidmiranda.me/files/AridEnvironmentSetUE4/DocumentationGallery/ScreenshotsStore_AridEnvironmentSet_screenshot_07.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://davidmiranda.me/files/AridEnvironmentSetUE4/DocumentationGallery/ScreenshotsStore_AridEnvironmentSet_screenshot_07.jpg" height="360" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://davidmiranda.me/files/AridEnvironmentSetUE4/DocumentationGallery/ScreenshotsStore_AridEnvironmentSet_screenshot_06.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://davidmiranda.me/files/AridEnvironmentSetUE4/DocumentationGallery/ScreenshotsStore_AridEnvironmentSet_screenshot_06.jpg" height="360" width="640" /></a> </div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://davidmiranda.me/files/AridEnvironmentSetUE4/DocumentationGallery/ScreenshotsStore_AridEnvironmentSet_screenshot_05.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://davidmiranda.me/files/AridEnvironmentSetUE4/DocumentationGallery/ScreenshotsStore_AridEnvironmentSet_screenshot_05.jpg" height="360" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://davidmiranda.me/files/AridEnvironmentSetUE4/DocumentationGallery/ScreenshotsStore_AridEnvironmentSet_screenshot_04.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://davidmiranda.me/files/AridEnvironmentSetUE4/DocumentationGallery/ScreenshotsStore_AridEnvironmentSet_screenshot_04.jpg" height="360" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Some time ago I bought an HTC VIVE device, so it was a must to try it here. I learned the basics to make it possible and the scene is officially playable with it.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The initial plan was to do something way more simple, but sometimes, what starts as something small ends up as something huge! </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
David Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com1tag:blogger.com,1999:blog-7887503020917448319.post-91552574408464328142016-06-25T17:01:00.001+02:002016-07-01T16:13:09.000+02:00Advances in Sub-surface scatteringThe system had been gathering dust for more than two years now, but my current client wanted to invest on it for his product.<br />
<br />
In the last two months many things have changed and improved. The system supports now multi profile, as seen in UE4. This means that we can have many different organic materials on screen at the same time: skin, eyes, teeth... Other types of organic materials will be on the task list, but for now we can simulate other materials such as marble, honey or opaque glass with the same shader, it's pretty flexible.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-BnEj5v4FbbI/V26LGY9NP7I/AAAAAAAAEMw/s-3RgWl5w4YwwC5MhFahphx4bfmrg0LjQCLcB/s1600/2016-06-02_22-07-56.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://3.bp.blogspot.com/-BnEj5v4FbbI/V26LGY9NP7I/AAAAAAAAEMw/s-3RgWl5w4YwwC5MhFahphx4bfmrg0LjQCLcB/s640/2016-06-02_22-07-56.jpg" width="232" /> </a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='600' height='450' src='https://www.blogger.com/video.g?token=AD6v5dxvjl7QzFw5FUNkx79dEUh7No3KbbaO7A-7Ts5AKL3UZeXykSCabm6TicwTDrEhHTUlFeug8z6RCLUPPThDzg' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-2Uj1BV5FPlI/V26OMeqaAQI/AAAAAAAAENM/RazFycZCsWcEHkOU1lh5JPDagrNEXhIWQCK4B/s1600/2016-06-25_14-56-02.jpg" imageanchor="1"><img border="0" height="388" src="https://4.bp.blogspot.com/-2Uj1BV5FPlI/V26OMeqaAQI/AAAAAAAAENM/RazFycZCsWcEHkOU1lh5JPDagrNEXhIWQCK4B/s640/2016-06-25_14-56-02.jpg" width="640" /></a> </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-5UXdnUwB7tQ/V26OSpj-zYI/AAAAAAAAENU/32t0c4SxiYwqAzPmW3JxOFQLXvfzcf1fACK4B/s1600/2016-06-25_14-56-53.jpg" imageanchor="1"><img border="0" height="388" src="https://1.bp.blogspot.com/-5UXdnUwB7tQ/V26OSpj-zYI/AAAAAAAAENU/32t0c4SxiYwqAzPmW3JxOFQLXvfzcf1fACK4B/s640/2016-06-25_14-56-53.jpg" width="640" /></a> </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-H4XDMxalF5c/V26OUKxR5WI/AAAAAAAAENc/_eblRAa01V8mmDxsDB3WD7lvCgHe5tOxgCK4B/s1600/2016-06-25_14-57-55.jpg" imageanchor="1"><img border="0" height="388" src="https://2.bp.blogspot.com/-H4XDMxalF5c/V26OUKxR5WI/AAAAAAAAENc/_eblRAa01V8mmDxsDB3WD7lvCgHe5tOxgCK4B/s640/2016-06-25_14-57-55.jpg" width="640" /></a> </div>
<div class="separator" style="clear: both; text-align: left;">
Translucency has improved to allow light to travel through the subject:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-RARkKlmYpeY/V26NGu2IuaI/AAAAAAAAENA/SFa32cFTDDoTEWROxihrKk9niJzq6SAAwCK4B/s1600/2016-06-25_14-53-43.jpg" imageanchor="1"><img border="0" height="640" src="https://3.bp.blogspot.com/-RARkKlmYpeY/V26NGu2IuaI/AAAAAAAAENA/SFa32cFTDDoTEWROxihrKk9niJzq6SAAwCK4B/s640/2016-06-25_14-53-43.jpg" width="570" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
Another experiment in course was percentage close shadow filtering<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='600' height='450' src='https://www.blogger.com/video.g?token=AD6v5dwmv6GeSMSC9leI_1iv1vu5qzQRqvUvp_iK3mPDAvyYu3pIJ9MqgccEnANlD0z2nLD61YuY02tBqdZPBjqn' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<br />
Last addition to the character render was eyes rendering. Its a very hard task to cheat our brain when it comes to human perception. We are specially sensitive in face recognition and I think we will never cross the uncanny valley :)<br />
<br />
<br />
<br />
<div style="text-align: center;">
<a href="http://3.bp.blogspot.com/-d6erVzFi1lQ/V26QCFr2LKI/AAAAAAAAENo/obXRAtLITfQys0LzfjQvAE-AMLBxDO58QCK4B/s1600/2016-06-25_15-04-01.jpg" imageanchor="1"></a><a href="http://1.bp.blogspot.com/-y9yinPvxN_k/V26QFGzY4bI/AAAAAAAAENw/hHeex-Cd7DkiU6LEPV364bUN_iRZwLnVACK4B/s1600/2016-06-25_15-04-24.jpg" imageanchor="1"><img border="0" height="150" src="https://1.bp.blogspot.com/-y9yinPvxN_k/V26QFGzY4bI/AAAAAAAAENw/hHeex-Cd7DkiU6LEPV364bUN_iRZwLnVACK4B/s640/2016-06-25_15-04-24.jpg" width="640" /></a></div>
<br />
<div style="text-align: center;">
<img border="0" height="132" src="https://3.bp.blogspot.com/-d6erVzFi1lQ/V26QCFr2LKI/AAAAAAAAENo/obXRAtLITfQys0LzfjQvAE-AMLBxDO58QCK4B/s640/2016-06-25_15-04-01.jpg" width="640" /></div>
<div style="text-align: center;">
</div>
<div style="text-align: center;">
</div>
<div style="text-align: center;">
</div>
<div style="text-align: center;">
<a href="http://3.bp.blogspot.com/-5cM4V_UdeZM/V26QQD8CBjI/AAAAAAAAEN4/XDE1vbNCwrECVNhvLBkwhcrEcLdjGK9pgCK4B/s1600/2016-06-25_14-50-29.jpg" imageanchor="1"><img border="0" height="292" src="https://3.bp.blogspot.com/-5cM4V_UdeZM/V26QQD8CBjI/AAAAAAAAEN4/XDE1vbNCwrECVNhvLBkwhcrEcLdjGK9pgCK4B/s640/2016-06-25_14-50-29.jpg" width="640" /></a></div>
<div style="text-align: left;">
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-iOBmXtGg4C8/V26b6tjrAMI/AAAAAAAAESA/lT3EDciAdnY_3hR3VU5ZcAQ6hH8103L8gCLcB/s1600/2016-06-25_15-56-31.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="220" src="https://4.bp.blogspot.com/-iOBmXtGg4C8/V26b6tjrAMI/AAAAAAAAESA/lT3EDciAdnY_3hR3VU5ZcAQ6hH8103L8gCLcB/s640/2016-06-25_15-56-31.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-t0A3xM69Ka0/V26b6XgS7JI/AAAAAAAAER8/t-8R2TpDlrEMrQOSpgkhs_88BvuYQeD8gCLcB/s1600/2016-06-25_15-57-24.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="214" src="https://4.bp.blogspot.com/-t0A3xM69Ka0/V26b6XgS7JI/AAAAAAAAER8/t-8R2TpDlrEMrQOSpgkhs_88BvuYQeD8gCLcB/s640/2016-06-25_15-57-24.jpg" width="640" /></a></div>
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: center;">
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-Yoslwg1ufIg/V3Z6CnTZujI/AAAAAAAAESc/yewx5SCHSlkhRA3kBVb-WK2PvcdemZUtQCLcB/s1600/2016-06-30_22-26-24.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="566" src="https://1.bp.blogspot.com/-Yoslwg1ufIg/V3Z6CnTZujI/AAAAAAAAESc/yewx5SCHSlkhRA3kBVb-WK2PvcdemZUtQCLcB/s640/2016-06-30_22-26-24.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-oVwJS07IN0U/V3Z6Bs51PsI/AAAAAAAAESY/iPhoxEjMuqEUnzAXhUBLdvsTNNxaIevtQCLcB/s1600/2016-06-30_22-26-55.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="566" src="https://2.bp.blogspot.com/-oVwJS07IN0U/V3Z6Bs51PsI/AAAAAAAAESY/iPhoxEjMuqEUnzAXhUBLdvsTNNxaIevtQCLcB/s640/2016-06-30_22-26-55.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-UDjmKy6MbEY/V3Z6C-ErIMI/AAAAAAAAESg/1UYFoCRSBUI2qZdMso7QSW4AR8bDIsqcgCLcB/s1600/2016-06-30_22-27-52.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="566" src="https://3.bp.blogspot.com/-UDjmKy6MbEY/V3Z6C-ErIMI/AAAAAAAAESg/1UYFoCRSBUI2qZdMso7QSW4AR8bDIsqcgCLcB/s640/2016-06-30_22-27-52.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-4fpP2fYujwA/V3Z6DWWN11I/AAAAAAAAESk/I649qaR2_4YKyArWpc5tCWtLyyb3facLQCLcB/s1600/2016-06-30_22-32-16.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="566" src="https://1.bp.blogspot.com/-4fpP2fYujwA/V3Z6DWWN11I/AAAAAAAAESk/I649qaR2_4YKyArWpc5tCWtLyyb3facLQCLcB/s640/2016-06-30_22-32-16.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-M_iuowvUYTc/V3Z6EbNdIXI/AAAAAAAAESo/-azBsFLKlqsjb374VzL8r5CbMvfA2-HpACLcB/s1600/2016-06-30_22-34-01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="566" src="https://4.bp.blogspot.com/-M_iuowvUYTc/V3Z6EbNdIXI/AAAAAAAAESo/-azBsFLKlqsjb374VzL8r5CbMvfA2-HpACLcB/s640/2016-06-30_22-34-01.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-nFkN8vVbfUs/V3Z6Ev8i4bI/AAAAAAAAESs/ux-DU5YtHIAVXSRkfr_-qxKFLRqACdO8QCLcB/s1600/2016-06-30_22-35-02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="566" src="https://4.bp.blogspot.com/-nFkN8vVbfUs/V3Z6Ev8i4bI/AAAAAAAAESs/ux-DU5YtHIAVXSRkfr_-qxKFLRqACdO8QCLcB/s640/2016-06-30_22-35-02.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<a href="http://1.bp.blogspot.com/-C_QoJipXDs0/V26SF7yBZ9I/AAAAAAAAEOg/cQkQE3O55oUmbseBSnNSxxIXZq4nlO1aQCK4B/s1600/25-06-2016%2B15.10.28%2Bx1.png" imageanchor="1"></a><span id="goog_261208150"></span><span id="goog_261208151"></span><br /></div>
David Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com1tag:blogger.com,1999:blog-7887503020917448319.post-89164669901205140662016-01-11T18:58:00.000+01:002016-01-11T18:58:45.250+01:00SAS - Standard Anisotropic ShaderDuring December I worked on an update of my <a href="https://www.assetstore.unity3d.com/en/#!/content/27515" target="_blank">Cloth Shader for Unity 4</a> After some days of work several ideas came to my head. "What if it is suitable for metals?", "What if I make a metals demo?" "What if I try to shade a cymbal? "What if supports transparency?", "What if... carbon fiber!!", "What if, what if...." So it started to grow until I realized it was too big/flexible to deliver it as a simple update. Instead of that, I have released it as an upgrade for previous buyers of the old cloth shader.<br />
The new version aims to model any kind of scratched surfaces.<br />
<br />
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube-nocookie.com/embed/WUinmBe6gnw?rel=0" width="640"></iframe><br /></div>
David Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com0tag:blogger.com,1999:blog-7887503020917448319.post-91126414158371803132015-09-12T16:49:00.000+02:002015-09-12T16:51:46.909+02:00Removing ambient occlusion from photo-scanned subjectsThis is a simple idea I came up last night. I was making a little stone that would be used rotated in every axis. Then I figured out that the ambient lighting of the original capture won't match with the scene. This was the subject:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-Hj5_WqgJh24/VfQzNel_gCI/AAAAAAAAEKs/ayYvu9lP_dk/s1600/_DSC1329.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="424" src="http://4.bp.blogspot.com/-Hj5_WqgJh24/VfQzNel_gCI/AAAAAAAAEKs/ayYvu9lP_dk/s640/_DSC1329.jpg" width="640" /></a></div>
<br />
So the idea was to convert this diffuse into an albedo. The method consist on emulating the scenario to get a simulation of the original lighting conditions I had there. Then I will use the inverse of that result to brighten the original captured diffuse.<br />
You see there the lighting came from every direction from the clouds and a little percent of it came from the ground (typical hemisphere lighting).<br />
So the scene can be emulated like this:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-95j2lx2qwTk/VfQ1D8g_O6I/AAAAAAAAEK4/I2XbN7nBGpQ/s1600/2015-09-12_15-21-35.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="348" src="http://4.bp.blogspot.com/-95j2lx2qwTk/VfQ1D8g_O6I/AAAAAAAAEK4/I2XbN7nBGpQ/s640/2015-09-12_15-21-35.jpg" width="640" /></a></div>
<br />
Here is the resulting ambient occlusion:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-whJhZc725DQ/VfQ1TvX5A8I/AAAAAAAAELA/CRQzI_MQLTI/s1600/simulated%2BAO.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="http://3.bp.blogspot.com/-whJhZc725DQ/VfQ1TvX5A8I/AAAAAAAAELA/CRQzI_MQLTI/s640/simulated%2BAO.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
Captured albedo. Notice it matches perfectly with the emulated AO</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<img border="0" height="640" src="http://4.bp.blogspot.com/-nHG6kSe9BG4/VfQ1xTiidBI/AAAAAAAAELQ/vchUUoxiNpI/s640/original%2Bdiffuse.jpg" width="640" /> </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Now, I inverted the AO and blended it as "Linear Light" with opacity 50%. Other blending modes may be tested; "Lighten" seems to work pretty nicely too.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-7Kvp1YMlZb4/VfQ3yKEf7HI/AAAAAAAAELc/MZAgdb7rRow/s1600/final%2Balbedo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="http://3.bp.blogspot.com/-7Kvp1YMlZb4/VfQ3yKEf7HI/AAAAAAAAELc/MZAgdb7rRow/s640/final%2Balbedo.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
I can now bake a new AO without any other geometry than the model:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-B-8CAwtDCes/VfQ4dOL-hFI/AAAAAAAAELk/5AyrHIXAW48/s1600/Jama_01_occlusion.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="http://1.bp.blogspot.com/-B-8CAwtDCes/VfQ4dOL-hFI/AAAAAAAAELk/5AyrHIXAW48/s640/Jama_01_occlusion.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
And finally, the diffuse texture after the surgery session:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-1UqRTZ5H9TU/VfQ5Cytw48I/AAAAAAAAELs/j3Mb1FsNwy0/s1600/Jama_01%2B%255BAlbedo%255D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="http://4.bp.blogspot.com/-1UqRTZ5H9TU/VfQ5Cytw48I/AAAAAAAAELs/j3Mb1FsNwy0/s640/Jama_01%2B%255BAlbedo%255D.jpg" width="640" /></a></div>
<br />David Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com1tag:blogger.com,1999:blog-7887503020917448319.post-50705939930928033672015-08-29T01:32:00.000+02:002015-09-11T14:21:58.430+02:00From real world to real-timeSince May my life has been a mess. I moved to Tenerife with the idea of building my home-studio. It's progressing, slowly, but progressing. But well, thats another story for another post. The thing is that there is a mountain close to my house here in Tenerife with very interesting rock formations. I really wanted to have that kind of rocks in my assets bucket to use them here and there.<br />
I have tried to model rocks several times, but the result was always terrible. So the solution was obvious, photoscan!<br />
I asked my brother if he may like to climb that mountain to take some photos. I told him the plan and he agreed.<br />
<br />
This was the target:<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<a href="http://2.bp.blogspot.com/-40tfnB4RX7E/VeCyq-rOy5I/AAAAAAAAEHw/-06DeH822iw/s1600/Roque%2Bde%2BJama.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="475" src="http://2.bp.blogspot.com/-40tfnB4RX7E/VeCyq-rOy5I/AAAAAAAAEHw/-06DeH822iw/s640/Roque%2Bde%2BJama.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Climbing and searching interesting rocks to scan.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-j-hRt4XeASc/VeCz1VKbLiI/AAAAAAAAEIA/4_5J_WwVZPU/s1600/2015-08-04%2B17.23.51.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="http://3.bp.blogspot.com/-j-hRt4XeASc/VeCz1VKbLiI/AAAAAAAAEIA/4_5J_WwVZPU/s640/2015-08-04%2B17.23.51.jpg" width="480" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-nHkXEwOOpKY/VeCz7YJslOI/AAAAAAAAEII/hpHwFLfJFp0/s1600/2015-08-04%2B17.28.34.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="http://1.bp.blogspot.com/-nHkXEwOOpKY/VeCz7YJslOI/AAAAAAAAEII/hpHwFLfJFp0/s640/2015-08-04%2B17.28.34.jpg" width="480" /> </a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Scary views! </div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-2lOcodqn4E4/VeCzwCLvkzI/AAAAAAAAEH4/TbFM6bd1Llk/s1600/2015-08-04%2B18.01.08.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="http://1.bp.blogspot.com/-2lOcodqn4E4/VeCzwCLvkzI/AAAAAAAAEH4/TbFM6bd1Llk/s640/2015-08-04%2B18.01.08.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-ITcXmR_Hk58/VeC0Gf0nxGI/AAAAAAAAEIQ/RUMtGOpfaNc/s1600/2015-08-04%2B18.30.40.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="http://2.bp.blogspot.com/-ITcXmR_Hk58/VeC0Gf0nxGI/AAAAAAAAEIQ/RUMtGOpfaNc/s640/2015-08-04%2B18.30.40.jpg" width="480" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-avfWwI3n8x4/VeC0Mnq9TdI/AAAAAAAAEIY/luLN7dGZ8LM/s1600/2015-08-04%2B18.53.35.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="http://3.bp.blogspot.com/-avfWwI3n8x4/VeC0Mnq9TdI/AAAAAAAAEIY/luLN7dGZ8LM/s640/2015-08-04%2B18.53.35.jpg" width="480" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-OuYLMWmdSgw/VeC0Y1fXa1I/AAAAAAAAEIg/NxUebzQOqdU/s1600/2015-08-04%2B19.02.57.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="http://1.bp.blogspot.com/-OuYLMWmdSgw/VeC0Y1fXa1I/AAAAAAAAEIg/NxUebzQOqdU/s640/2015-08-04%2B19.02.57.jpg" width="480" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-iH7u5fhxQcs/VeC0vQJLYUI/AAAAAAAAEIo/8EERnMlZc-0/s1600/2015-08-04%2B19.09.02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="http://2.bp.blogspot.com/-iH7u5fhxQcs/VeC0vQJLYUI/AAAAAAAAEIo/8EERnMlZc-0/s640/2015-08-04%2B19.09.02.jpg" width="480" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-kvD2QkCnIJ4/VeC0x3q59fI/AAAAAAAAEIw/84YURcF91Sc/s1600/2015-08-04%2B19.10.10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="http://2.bp.blogspot.com/-kvD2QkCnIJ4/VeC0x3q59fI/AAAAAAAAEIw/84YURcF91Sc/s640/2015-08-04%2B19.10.10.jpg" width="480" /> </a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Although there were rocks everywhere, it was not easy to find good ones because most of them were not accesible, covered with lichens, or with vegetation growing everywere.</div>
<div class="separator" style="clear: both; text-align: left;">
The ideal rock should be shadowed, with no vegetation on it, young enough for not being too eroded or covered by lichens and accesible from every side. But well, we found some. We had to remove all the vegetation on/around it first.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The first attempt on processing the data took 15 hours to complete. I made a 200k mesh. The final mesh should be at least 2 million dense! How long would that take? Absolutely impossible. I had no choice, I spent 2000€ on new hardware: </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-VTONBwD6vQU/VeC4zJyYEVI/AAAAAAAAEI8/E3nsHY1jIxo/s1600/2015-08-28_20-38-05.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-VTONBwD6vQU/VeC4zJyYEVI/AAAAAAAAEI8/E3nsHY1jIxo/s1600/2015-08-28_20-38-05.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
Then I was able to compute a 4 million triangle mesh in 2-3 hours or so. Here is the rough mesh</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-8hlRlQfmq6A/VeC6i4bAR8I/AAAAAAAAEJI/LV82ig3mtSc/s1600/2015-08-28_20-41-33.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://2.bp.blogspot.com/-8hlRlQfmq6A/VeC6i4bAR8I/AAAAAAAAEJI/LV82ig3mtSc/s640/2015-08-28_20-41-33.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Then I had to remove all the crap in the borders:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-UPs9rs6QSDg/VeC7QjdW_kI/AAAAAAAAEJQ/kWrv9lPNrQo/s1600/2015-08-28_20-49-00.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="516" src="http://3.bp.blogspot.com/-UPs9rs6QSDg/VeC7QjdW_kI/AAAAAAAAEJQ/kWrv9lPNrQo/s640/2015-08-28_20-49-00.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<i><br /></i></div>
<div class="separator" style="clear: both; text-align: left;">
<i>"And what now?" </i>-I asked myself</div>
<div class="separator" style="clear: both; text-align: left;">
<i>- O_o</i></div>
<div class="separator" style="clear: both; text-align: left;">
<i>- Do I have to fill all of that by hand?</i></div>
<div class="separator" style="clear: both; text-align: left;">
<i>- I guess...</i></div>
<div class="separator" style="clear: both; text-align: left;">
<i>- It will never look as good as the original</i></div>
<div class="separator" style="clear: both; text-align: left;">
<i>- I know, but what else can we do?</i></div>
<div class="separator" style="clear: both; text-align: left;">
<i>- -_-' </i></div>
<div class="separator" style="clear: both; text-align: left;">
<i>- Do you know how to do that?</i></div>
<div class="separator" style="clear: both; text-align: left;">
<i>- No idea. you?</i></div>
<div class="separator" style="clear: both; text-align: left;">
<i>- ¬_¬</i></div>
<div class="separator" style="clear: both; text-align: left;">
<i>- Okay, I'll find the way</i></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Yeah, I had to fill all the missed surface to convert that into an usable asset. I started with a rough shape:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-XEYuJ7evIpE/VeC9H44E93I/AAAAAAAAEJc/-x39Q7g7yVI/s1600/2015-08-28_20-56-55.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="363" src="http://4.bp.blogspot.com/-XEYuJ7evIpE/VeC9H44E93I/AAAAAAAAEJc/-x39Q7g7yVI/s640/2015-08-28_20-56-55.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Then I applied Dynamesh in zBrush and removed the bottom cap:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-wL3blAo8dmo/VeC_FUhN38I/AAAAAAAAEJo/_xMfWrSXi6c/s1600/2015-08-28_21-05-19.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="448" src="http://4.bp.blogspot.com/-wL3blAo8dmo/VeC_FUhN38I/AAAAAAAAEJo/_xMfWrSXi6c/s640/2015-08-28_21-05-19.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
5 hours later:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-6W4q5QGDJaQ/VeDAQojdCTI/AAAAAAAAEJw/X04ekyHDswc/s1600/2015-08-28_21-06-53.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="344" src="http://4.bp.blogspot.com/-6W4q5QGDJaQ/VeDAQojdCTI/AAAAAAAAEJw/X04ekyHDswc/s640/2015-08-28_21-06-53.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-GjGx5k9ilYE/VeDARJ7D0_I/AAAAAAAAEJ0/-I8DE_71j4E/s1600/2015-08-28_21-09-42.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="344" src="http://1.bp.blogspot.com/-GjGx5k9ilYE/VeDARJ7D0_I/AAAAAAAAEJ0/-I8DE_71j4E/s640/2015-08-28_21-09-42.jpg" style="cursor: move;" width="640" /></a></div>
<br />
Once with the modelling "done" I made the low poly with decimation master and the UVs with UV master (easy way). The next step was to project the texture, bake normal, AO and cavity to use them in DDO.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-2L5DX5Lfgno/VeDBSd46c7I/AAAAAAAAEKA/RndktGx5jmY/s1600/2015-08-28_21-14-19.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="344" src="http://3.bp.blogspot.com/-2L5DX5Lfgno/VeDBSd46c7I/AAAAAAAAEKA/RndktGx5jmY/s640/2015-08-28_21-14-19.jpg" width="640" /></a></div>
<br />
I used DDO mostly to render the model, I didn't use much of it in this case. The texture fix was done with Mudbox. I didn't spend much time on that, probably less than 3 hours.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-hQydZfS9NHI/VeDDm_-V6iI/AAAAAAAAEKU/J4eAskJSfFI/s1600/screen06.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://3.bp.blogspot.com/-hQydZfS9NHI/VeDDm_-V6iI/AAAAAAAAEKU/J4eAskJSfFI/s640/screen06.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-UJZ1ZqY9_Fk/VeDDkfqFJRI/AAAAAAAAEKM/Vi4_txiPoEY/s1600/screen07.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://2.bp.blogspot.com/-UJZ1ZqY9_Fk/VeDDkfqFJRI/AAAAAAAAEKM/Vi4_txiPoEY/s640/screen07.png" width="640" /></a></div>
<br />
PS. Special thanks to Lee Perry-Smith for the support and advicesDavid Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com0tag:blogger.com,1999:blog-7887503020917448319.post-72597507536653630522015-07-30T19:09:00.001+02:002015-08-01T22:02:27.804+02:00Ocean shader in UE4I was asked to develop an ocean shader in Unreal 4 (among other extravagances). Woot? Unreal 4? I hope Unity forgive me this infidelity with a lover from the past :)<br />
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/paaNViki-UI" width="640"></iframe><br /></div>
<div style="text-align: center;">
<br />
<div style="text-align: left;">
Youtube compression destroyed the video, so here are some screens:</div>
<div style="text-align: left;">
<br /></div>
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-oCWYG38zhWw/Vb0Ya9FmidI/AAAAAAAAEHU/hE-han26BQk/s1600/HighresScreenshot00007.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://3.bp.blogspot.com/-oCWYG38zhWw/Vb0Ya9FmidI/AAAAAAAAEHU/hE-han26BQk/s640/HighresScreenshot00007.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-H0Gy2cAW27I/Vb0YdTHxHYI/AAAAAAAAEHc/0NAJaudS-8k/s1600/HighresScreenshot00009.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://4.bp.blogspot.com/-H0Gy2cAW27I/Vb0YdTHxHYI/AAAAAAAAEHc/0NAJaudS-8k/s640/HighresScreenshot00009.jpg" width="640" /></a></div>
<br />David Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com0tag:blogger.com,1999:blog-7887503020917448319.post-43052563423295671452015-06-23T20:31:00.002+02:002015-06-23T20:41:02.945+02:00Fog Volume 2 improvementsI wanted to learn about volumetric rendering (raymarching) for long time but never had the chance until now.<br />
A client asked me to make a cloud effect, so I have spent some time learning about this topic while improving Fog Volume.<br />
First thing that Fog Volume was missing was the intersection with scene objects, which is solved now. A better accumulation method has been also implemented as well as a rough method for lighting (subject to change in future updates).<br />
<br />
<div style="text-align: center;">
<br />
<iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/O8wOF7KAYyM" width="640"></iframe></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-QdSXHZiFHyI/VYmlaWsXNTI/AAAAAAAAEGY/fBY2oZcsKvo/s1600/2015-06-23_19-19-58.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="342" src="http://4.bp.blogspot.com/-QdSXHZiFHyI/VYmlaWsXNTI/AAAAAAAAEGY/fBY2oZcsKvo/s640/2015-06-23_19-19-58.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-AbXQcwcU2T4/VYmlanoXPZI/AAAAAAAAEGc/mrym8_4D0M8/s1600/2015-06-23_19-21-14.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="342" src="http://4.bp.blogspot.com/-AbXQcwcU2T4/VYmlanoXPZI/AAAAAAAAEGc/mrym8_4D0M8/s640/2015-06-23_19-21-14.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-oacPf1UVJwc/VYmlbDaYOyI/AAAAAAAAEGg/YdLkfej-u0k/s1600/2015-06-23_19-21-51.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="342" src="http://3.bp.blogspot.com/-oacPf1UVJwc/VYmlbDaYOyI/AAAAAAAAEGg/YdLkfej-u0k/s640/2015-06-23_19-21-51.jpg" width="640" /></a></div>
<div style="text-align: center;">
<br /></div>
David Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com1tag:blogger.com,1999:blog-7887503020917448319.post-9502081929696591622015-04-09T21:59:00.000+02:002015-04-09T22:01:38.601+02:00Tileable textures from high polyI have had the chance to get back to the art side of gamedev working for my new client. I'm quite happy with this job because it's an opportunity to learn art related topics. I have never worked as artist in a company, so... nice! But at the end I always end up as 1D/2D/3D/FX/Lighting artist, so Ill be doing a little bit of everything :)<br />
<br />
After reviewing the game, I felt it was a must to improve the ground they currently have. So I put some extra effort to learn how to make tileable textures from sculpted meshes. The main motivation was basically to have a solid workflow, relatively fast and compatible with PBR. By doing so I would get the correct data I needed to include DDO into the process.<br />
<br />
Here are three textures blended together with a shader I wrote in Unity.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-ryHtSce1K10/VSbRjedR-mI/AAAAAAAAEFc/N5i-xmTPc_I/s00/09-04-2015%2B19.42.35%2Bx2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-ryHtSce1K10/VSbRjedR-mI/AAAAAAAAEFc/N5i-xmTPc_I/s1600/09-04-2015%2B19.42.35%2Bx2.jpg" height="360" width="640" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-6PCAxrY6ylQ/VSbRjcrYIkI/AAAAAAAAEFg/PqlpfMtG2rE/s00/09-04-2015%2B19.43.08%2Bx2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-6PCAxrY6ylQ/VSbRjcrYIkI/AAAAAAAAEFg/PqlpfMtG2rE/s1600/09-04-2015%2B19.43.08%2Bx2.jpg" height="360" width="640" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-IQTVgBnLpRY/VSbRjVuRmuI/AAAAAAAAEFk/bqk4ad5uS0Y/s00/09-04-2015%2B19.43.41%2Bx2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-IQTVgBnLpRY/VSbRjVuRmuI/AAAAAAAAEFk/bqk4ad5uS0Y/s1600/09-04-2015%2B19.43.41%2Bx2.jpg" height="360" width="640" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-rcAFFTw6yWg/VSbRkcsZXhI/AAAAAAAAEFs/tv0rUFJwDZg/s00/09-04-2015%2B19.46.20%2Bx2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-rcAFFTw6yWg/VSbRkcsZXhI/AAAAAAAAEFs/tv0rUFJwDZg/s1600/09-04-2015%2B19.46.20%2Bx2.jpg" height="360" width="640" /></a></div><br />
David Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com0tag:blogger.com,1999:blog-7887503020917448319.post-46192887151919158092015-02-04T19:36:00.002+01:002023-08-16T14:45:41.677+02:00Car rendering: Delving into details<br />
A year ago, Unity Technologies requested me to create this demo. It was a huge load of work but finally, it was worth the effort. This article digs into the details of the project. <br />
<h2>
<br />
</h2>
<h2>
Environment</h2>
<div>
The project went through different stages. It was first shown at the GPU Technology Conference in March ’14.<br />
<br />
<br /></div>
<div>
</div>
<div class="separator" style="clear: both; text-align: center;"><a href="https://www.davidmiranda.me/wp-content/uploads/CarShots.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="450" data-original-width="800" height="360" src="https://www.davidmiranda.me/wp-content/uploads/CarShots.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div>
<div>
<br /></div>
I continued working on it for some months with a few breaks. As time went by, I realized that I was not convinced at all by the visual result. I got tired of the garage environment, maybe too detailed, and I felt that it was distracting my attention from the important thingie: the car. So I tried to think of something cleaner, even minimalistic, something simple and aseptic.<br />
And I came up with this:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-bYtn890L_b0/VLaYNhDz85I/AAAAAAAAD-w/eIeYb9m_l6Q/s0/14-01-2015%2B17.24.01%2Bx1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://3.bp.blogspot.com/-bYtn890L_b0/VLaYNhDz85I/AAAAAAAAD-w/eIeYb9m_l6Q/s0/14-01-2015%2B17.24.01%2Bx1.png" width="640" /></a></div>
I created some decals to break texture repetition as much as possible while adding some details.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-GadXp7WePW4/VLaYsbFLbbI/AAAAAAAAD-4/O5KWFgBPRQg/s0/14-01-2015%2B17.26.09%2Bx1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://3.bp.blogspot.com/-GadXp7WePW4/VLaYsbFLbbI/AAAAAAAAD-4/O5KWFgBPRQg/s0/14-01-2015%2B17.26.09%2Bx1.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
To add a bit more of realism and deepness to the floor I used relief mapping :<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-a3o42qExU2U/VLbaEonTK7I/AAAAAAAAEBk/AAtSSFOBK2A/s0/14-01-2015%2B22.02.53%2Bx1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://3.bp.blogspot.com/-a3o42qExU2U/VLbaEonTK7I/AAAAAAAAEBk/AAtSSFOBK2A/s0/14-01-2015%2B22.02.53%2Bx1.png" width="640" /></a></div>
<br />
I thought that it would be a good idea to create some cracks with relief mapping, so I modelled a few cool shapes in zBrush in order to get a good depth map.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-l6p00I9B8ig/VLaZm5VW7eI/AAAAAAAAD_A/AkzWXq2W5cc/s0/image%2B(13).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="http://2.bp.blogspot.com/-l6p00I9B8ig/VLaZm5VW7eI/AAAAAAAAD_A/AkzWXq2W5cc/s0/image%2B(13).png" width="632" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-hRz_xUxeBCw/VLaaa3HptKI/AAAAAAAAD_I/TXplwbyoNv0/s0/14-01-2015%2B17.33.26%2Bx1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://2.bp.blogspot.com/-hRz_xUxeBCw/VLaaa3HptKI/AAAAAAAAD_I/TXplwbyoNv0/s0/14-01-2015%2B17.33.26%2Bx1.png" width="640" /></a></div>
<br />
Another idea I came up with was the creation of a reflective floor. As it was a very rough surface, I added some extra magic to the Aras’ planar reflection script to blur the result.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-fiS2jj77nyU/VLabvnu0hWI/AAAAAAAAD_U/BWr6fCtVhHY/s0/14-01-2015%2B17.39.09%2Bx1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://2.bp.blogspot.com/-fiS2jj77nyU/VLabvnu0hWI/AAAAAAAAD_U/BWr6fCtVhHY/s0/14-01-2015%2B17.39.09%2Bx1.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div>
<h2>
Scene Manager</h2>
</div>
<div>
This demo allows you to switch between different lighting conditions and materials. Everything was planned to experience these changes in real-time and this involved managing skyboxes, lights, materials, atmosphere, ambient light and reflections.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-W89YzEQ_bOA/VNNMCRSq40I/AAAAAAAAEEU/-fSZn0P8r-Y/s1600/2015-02-05_11-51-03.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-W89YzEQ_bOA/VNNMCRSq40I/AAAAAAAAEEU/-fSZn0P8r-Y/s1600/2015-02-05_11-51-03.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
As you can see here, there are some arrays where data is stored. Material list stores the preconfigured materials. Sky Lighs is a class that stores a directional light, Fog Volume, GUI thumbnail, skybox & convolved skybox. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-sxd2KAo4YmM/VNNOOAy45vI/AAAAAAAAEEk/lMfNNXsJXw0/s1600/2015-02-05_12-04-02.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-sxd2KAo4YmM/VNNOOAy45vI/AAAAAAAAEEk/lMfNNXsJXw0/s1600/2015-02-05_12-04-02.jpg" /></a></div>
<br />
This data is read every time you clic over the GUI images so the new lighting conditions are set.<br />
Some other stuff, such as Tonemapping and skybox exposure, is controlled by the Material Switcher script. The script’s name doesn't match at all with its functionality, does it ? ;)<br />
<br />
<div>
<br /></div>
<h2 style="clear: both;">
Lighting</h2>
<div>
<ul>
<li>Sky: I used the <a href="http://blog.richardwhitelock.com/post/56259156794/allsky-on-the-unity-asset-store" target="_blank">AllSky</a> package for the skybox as well as <a href="https://www.assetstore.unity3d.com/en/#%21/content/14557" target="_blank">Fog Volume </a>to add some atmosphere. </li>
<li>Dynamic reflections: Unity 5 has a new method to capture HDR longitude-latitude maps in real-time called "Reflection Probe". It is quite easy to use since they have included shader macros that make its usage straightforward.</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-dXT4qkREZS8/VNNKQ9wtJoI/AAAAAAAAEEI/buyuLKzLN5w/s1600/2015-02-05_11-47-03.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-dXT4qkREZS8/VNNKQ9wtJoI/AAAAAAAAEEI/buyuLKzLN5w/s1600/2015-02-05_11-47-03.jpg" /></a></div>
<div style="text-align: center;">
<br /></div>
<ul>
<li>Static Reflections: Unity 5 is able to convolve HDR L-L cubemaps taking care about edges and mipmaps. This method was used for reflections before "Reflection Probes" were implemented.</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-IKRx_pp6QR8/VNNGjuhuiAI/AAAAAAAAED8/nFlGHZmaETA/s1600/2015-02-05_11-29-19.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-IKRx_pp6QR8/VNNGjuhuiAI/AAAAAAAAED8/nFlGHZmaETA/s1600/2015-02-05_11-29-19.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<ul>
<li>Car GI: The guys of Unity provided me with a script to switch between different skyboxes. It also had a magic function to compute Spherical Harmonics from a given skybox. </li>
</ul>
<div>
<h2>
</h2>
</div>
</div>
<h2 style="clear: both; text-align: left;">
Car model</h2>
<div>
We started with a very rough version of the car that <a href="http://www.luiscarrera.com/2010/11/ferrari-fr.html" target="_blank">Luis Carrera</a> made some years ago. We decided to hire him to polish the model, and he did a very nice job indeed. After we delivered the garage demo for the GTC, we stopped the project for a while and I got back on my skin renderer to build a demo for <a href="http://www.eisko.com/" target="_blank">eisko</a> guys.<br />
Once that the skin rendering demo was finished, I went back to the car project, but this time without Luis. He had been hired by another company, so I had to find a new partner. I decided to bring <a href="https://www.linkedin.com/pub/alfredo-guti%C3%A9rrez-moreno-%22fredo%22/4/5ab/851" target="_blank">Fredo</a> to this project. He is the perfect mercenary, fast and clean.<br />
I asked him to remake several parts of the car: engine, wheels, brakes, exhausts, and some bodywork. He did an awesome work there. I immediately fell in love with it.<br />
</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-FrW5CYL9bBY/VLag_EGSH5I/AAAAAAAAD_k/at3voOznegY/s0/14-01-2015%2B17.58.37%2Bx1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://4.bp.blogspot.com/-FrW5CYL9bBY/VLag_EGSH5I/AAAAAAAAD_k/at3voOznegY/s0/14-01-2015%2B17.58.37%2Bx1.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-6tkPjsmT-GM/VLag_DRBvbI/AAAAAAAAD_s/0U7CkdNKpZQ/s0/14-01-2015%2B17.59.32%2Bx1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://4.bp.blogspot.com/-6tkPjsmT-GM/VLag_DRBvbI/AAAAAAAAD_s/0U7CkdNKpZQ/s0/14-01-2015%2B17.59.32%2Bx1.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-ztwbZ2RSWko/VLag_Pj2FTI/AAAAAAAAD_o/RFY1Vx3TiW4/s0/14-01-2015%2B18.00.30%2Bx1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://4.bp.blogspot.com/-ztwbZ2RSWko/VLag_Pj2FTI/AAAAAAAAD_o/RFY1Vx3TiW4/s0/14-01-2015%2B18.00.30%2Bx1.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-7GpytpTrdoI/VLahAaVc9MI/AAAAAAAAD_0/uc6xwrv5Ix4/s0/14-01-2015%2B18.01.07%2Bx1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://2.bp.blogspot.com/-7GpytpTrdoI/VLahAaVc9MI/AAAAAAAAD_0/uc6xwrv5Ix4/s0/14-01-2015%2B18.01.07%2Bx1.png" width="640" /></a></div>
<div>
<br /></div>
<h2>
Car shader</h2>
<div>
The shader was the first thing I did. I made a demo scene where I was able to switch between different lighting conditions and materials. I tried to test every possible situation so I made many different materials with it.<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="360" src="//www.youtube.com/embed/zmnAEK9RLxQ?rel=0" width="640"></iframe><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="text-align: center;">
</div>
<h2>
Car lights</h2>
<div>
Here comes another interesting detail: I tried to simulate how light travels along lamps according to how they are built. I had to write several shaders for this, one for each piece of plastic with their own behaviour.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-X4ASLxyhIYk/VLbCH9fRRgI/AAAAAAAAEAM/K9wGrNyXfxk/s0/14-01-2015%2B20.17.38%2Bx1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://4.bp.blogspot.com/-X4ASLxyhIYk/VLbCH9fRRgI/AAAAAAAAEAM/K9wGrNyXfxk/s0/14-01-2015%2B20.17.38%2Bx1.png" width="640" /></a></div>
<br />
They are fully functional, so you can turn them on and off in real-time.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-mPvv3BgDCcY/VLbHHspP0ZI/AAAAAAAAEAc/SJmqu7kv_ug/s0/14-01-2015%2B20.26.03%2Bx1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://2.bp.blogspot.com/-mPvv3BgDCcY/VLbHHspP0ZI/AAAAAAAAEAc/SJmqu7kv_ug/s0/14-01-2015%2B20.26.03%2Bx1.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-OVWdqPd-PBw/VLbHHo3rhqI/AAAAAAAAEAg/iqu9r9G3y9Y/s0/14-01-2015%2B20.33.49%2Bx1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://2.bp.blogspot.com/-OVWdqPd-PBw/VLbHHo3rhqI/AAAAAAAAEAg/iqu9r9G3y9Y/s0/14-01-2015%2B20.33.49%2Bx1.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
I have also added a sort of fake volumetric effect to the headlights to emphasize the light beam.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-IdQmqvWvfLk/VLbHtrs79oI/AAAAAAAAEAw/B3q9xFYSU6I/s0/14-01-2015%2B20.40.31%2Bx1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://4.bp.blogspot.com/-IdQmqvWvfLk/VLbHtrs79oI/AAAAAAAAEAw/B3q9xFYSU6I/s0/14-01-2015%2B20.40.31%2Bx1.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-HM-CNAumzzM/VLbIL_uAGSI/AAAAAAAAEA8/SSQAhHNczAk/s0/14-01-2015%2B20.48.48%2Bx1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://2.bp.blogspot.com/-HM-CNAumzzM/VLbIL_uAGSI/AAAAAAAAEA8/SSQAhHNczAk/s0/14-01-2015%2B20.48.48%2Bx1.png" width="640" /></a></div>
<br />
Headlights are using a cookie texture to break the light shape as if refracting.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-cK6ZC-22dAU/VLbHtUSjYvI/AAAAAAAAEAs/Ab45fLBsb24/s0/14-01-2015%2B20.41.44%2Bx1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://3.bp.blogspot.com/-cK6ZC-22dAU/VLbHtUSjYvI/AAAAAAAAEAs/Ab45fLBsb24/s0/14-01-2015%2B20.41.44%2Bx1.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<h2>
Post-process</h2>
</div>
</div>
<div>
Most of them are built-in image effects. I use <a href="http://u3d.as/content/david-miranda/lens-dirtiness/5z5" target="_blank">Lens Dirtiness</a> and Camera Lens, which is a crazy complex thing I did that computes physically correct optical dispersion based on glass composition. But that is another story. </div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-rb3kq94xv_0/VLbOmPZEVwI/AAAAAAAAEBU/l5i-T2Zhscw/s0/2015-01-14_21-00-20.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-rb3kq94xv_0/VLbOmPZEVwI/AAAAAAAAEBU/l5i-T2Zhscw/s0/2015-01-14_21-00-20.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<h2>
Gallery</h2>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-21uefgHtAYY/VNJkgwVBTlI/AAAAAAAAECI/ABA3_i_uewc/s0/15-01-2015%2B14.24.25%2Bx1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://3.bp.blogspot.com/-21uefgHtAYY/VNJkgwVBTlI/AAAAAAAAECI/ABA3_i_uewc/s0/15-01-2015%2B14.24.25%2Bx1.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-ol7Ej-6GyLQ/VNJkoo591HI/AAAAAAAAEDI/B5FIePvxpds/s0/15-01-2015%2B14.24.43%2Bx1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://2.bp.blogspot.com/-ol7Ej-6GyLQ/VNJkoo591HI/AAAAAAAAEDI/B5FIePvxpds/s0/15-01-2015%2B14.24.43%2Bx1.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-FO5ROc_816A/VNJkhIf2rSI/AAAAAAAAECM/IOnp5PcxGLY/s0/15-01-2015%2B14.25.54%2Bx1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://2.bp.blogspot.com/-FO5ROc_816A/VNJkhIf2rSI/AAAAAAAAECM/IOnp5PcxGLY/s0/15-01-2015%2B14.25.54%2Bx1.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-IcS_77hDq0I/VNJkh0tIY9I/AAAAAAAAECQ/4HKoDV5Au1c/s0/15-01-2015%2B14.26.44%2Bx1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://2.bp.blogspot.com/-IcS_77hDq0I/VNJkh0tIY9I/AAAAAAAAECQ/4HKoDV5Au1c/s0/15-01-2015%2B14.26.44%2Bx1.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-EXc1p9XGVdQ/VNJkis60vpI/AAAAAAAAECU/Hp1pIu8zhFg/s0/15-01-2015%2B14.27.41%2Bx1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://1.bp.blogspot.com/-EXc1p9XGVdQ/VNJkis60vpI/AAAAAAAAECU/Hp1pIu8zhFg/s0/15-01-2015%2B14.27.41%2Bx1.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-hYrvIn0_kug/VNJkjfOfX0I/AAAAAAAAECc/Depd1SB2X3I/s0/15-01-2015%2B14.33.38%2Bx1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://4.bp.blogspot.com/-hYrvIn0_kug/VNJkjfOfX0I/AAAAAAAAECc/Depd1SB2X3I/s0/15-01-2015%2B14.33.38%2Bx1.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-8Plcekglywg/VNJkjtawt9I/AAAAAAAAECg/E0yZS1m4KGc/s0/15-01-2015%2B14.37.35%2Bx1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://1.bp.blogspot.com/-8Plcekglywg/VNJkjtawt9I/AAAAAAAAECg/E0yZS1m4KGc/s0/15-01-2015%2B14.37.35%2Bx1.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-QbzyynbOypo/VNJkkkXggSI/AAAAAAAAECk/0y5FHIJtwSo/s0/15-01-2015%2B14.38.55%2Bx1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://3.bp.blogspot.com/-QbzyynbOypo/VNJkkkXggSI/AAAAAAAAECk/0y5FHIJtwSo/s0/15-01-2015%2B14.38.55%2Bx1.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-UsNiCjg7S6s/VNJklL5MYAI/AAAAAAAAECo/AiNCmNtpg9k/s0/15-01-2015%2B14.39.16%2Bx1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://3.bp.blogspot.com/-UsNiCjg7S6s/VNJklL5MYAI/AAAAAAAAECo/AiNCmNtpg9k/s0/15-01-2015%2B14.39.16%2Bx1.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-hONx3Bj6hxI/VNJklgk6DpI/AAAAAAAAECs/CRw-ZdMGq4A/s0/15-01-2015%2B14.39.50%2Bx1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://4.bp.blogspot.com/-hONx3Bj6hxI/VNJklgk6DpI/AAAAAAAAECs/CRw-ZdMGq4A/s0/15-01-2015%2B14.39.50%2Bx1.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-OdWLwgEn9hQ/VNJkmDpgQWI/AAAAAAAAECw/YNIwtID4jRk/s0/15-01-2015%2B14.40.33%2Bx1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://3.bp.blogspot.com/-OdWLwgEn9hQ/VNJkmDpgQWI/AAAAAAAAECw/YNIwtID4jRk/s0/15-01-2015%2B14.40.33%2Bx1.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-8uYl1L2VEmk/VNJkmz8CD1I/AAAAAAAAEDA/pwECkPc3uyg/s0/15-01-2015%2B14.41.55%2Bx1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://2.bp.blogspot.com/-8uYl1L2VEmk/VNJkmz8CD1I/AAAAAAAAEDA/pwECkPc3uyg/s0/15-01-2015%2B14.41.55%2Bx1.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-Z-kx9Veyq6s/VNJknN4h9gI/AAAAAAAAEC8/rPJ9_Lo7YQY/s0/15-01-2015%2B14.42.45%2Bx1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://4.bp.blogspot.com/-Z-kx9Veyq6s/VNJknN4h9gI/AAAAAAAAEC8/rPJ9_Lo7YQY/s0/15-01-2015%2B14.42.45%2Bx1.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-I-96oHmMZ-0/VNJkoEaKqPI/AAAAAAAAEDE/Dkb3imJUYlI/s0/15-01-2015%2B14.42.53%2Bx1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://3.bp.blogspot.com/-I-96oHmMZ-0/VNJkoEaKqPI/AAAAAAAAEDE/Dkb3imJUYlI/s0/15-01-2015%2B14.42.53%2Bx1.jpg" width="640" /></a></div>
<div>
<br /></div>
<h2 style="clear: both; text-align: left;">
Video</h2>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/uNSctcISL8E" width="640"></iframe></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
</div>
<div>
<span id="goog_1414089057"></span><span id="goog_1414089058"></span> </div>
David Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com2tag:blogger.com,1999:blog-7887503020917448319.post-83238706790221443152014-04-10T01:36:00.000+02:002014-04-10T22:20:33.080+02:00High end car demo for Unity Technologies<div class="MsoNormal">
<div class="MsoNormal">
<a href="http://www.luiscarrera.com/" target="_blank">Luis Carrera</a> and I worked closely together developing this demo for Unity Technologies. </div>
<div class="MsoNormal">
We were asked to create a real time high end car rendering with layered paint and physically based shaders.</div>
<div class="MsoNormal">
While Luis was working on the car modelling, I focused on the rendering side of the demo and its functionality. Once we got those tasks done, we focused our attention on the environment. We both worked on the design, modelling and texturing and when the time came, I put everything together.</div>
<div class="MsoNormal">
This took us about 4 weeks non-stop. The demo was shown at the 2014 GPU Technology Conference.<br />
<br /></div>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://dl.dropboxusercontent.com/u/16565603/Unity/CarDemo/CarDemoShots.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="https://dl.dropboxusercontent.com/u/16565603/Unity/CarDemo/CarDemoShots.jpg" width="640" /></a></div>
<br />David Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com6tag:blogger.com,1999:blog-7887503020917448319.post-12487681027790697612014-04-08T23:59:00.000+02:002014-05-06T18:40:04.906+02:00Foggy Lights"Foggy Lights" is a visual effect that creates a light halo. It provides you with the option to add a light that matches the glow color and intensity in real time. It takes into account scene depth in order to avoid hard intersections with the environment. You can also offset the effect to make it appear closer or further.<br />
<br />
<div style="text-align: center;">
<a href="https://www.assetstore.unity3d.com/#/content/16607" target="_blank">Asset Store</a> | <a href="http://forum.unity3d.com/threads/239062-Foggy-Lights" target="_blank">Forum thread</a></div>
<br />
<br />
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="360" src="//www.youtube.com/embed/GVPu9wjbr4M" width="640"></iframe></div>
David Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com0tag:blogger.com,1999:blog-7887503020917448319.post-53956117603710540422014-04-05T01:36:00.000+02:002014-05-06T18:51:32.828+02:00DaveAfter some years using Lee’s scan, I had the feeling that it was time to switch to another model. It wasn’t easy to find a good one so I decided to start zBrush and see what happened. I’d never tried to model a face before so it was a long process. After an exhausting month of December, Dave was born.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-V9837jYVhnw/Uz8_NuPPyoI/AAAAAAAADxY/H6FvQfpijAk/s00/principal.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-V9837jYVhnw/Uz8_NuPPyoI/AAAAAAAADxY/H6FvQfpijAk/s00/principal.jpg" height="360" width="640" /></a></div>
<br />
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="360" src="//www.youtube.com/embed/xhCiDH4jf0M" width="640"></iframe><br /></div>
<br />
<a href="https://docs.google.com/presentation/d/1zQIKC5ivV8zOpn85EQpI97bhiXFg-yV3s6VwX_N7ZvY/pub?start=false&loop=false&delayms=3000#slide=id.p" target="_blank">Here</a> you can find a making-of. I promise you lots of fun!<br />
<br />
<div style="text-align: center;">
<iframe allowfullscreen="true" frameborder="0" height="360" mozallowfullscreen="true" src="https://docs.google.com/presentation/d/1zQIKC5ivV8zOpn85EQpI97bhiXFg-yV3s6VwX_N7ZvY/embed?start=false&loop=false&delayms=3000" webkitallowfullscreen="true" width="640"></iframe><br /></div>
<br />
What's in that document?<br />
<br />
A zombified Lee Perry:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-toQ2hvPf6d8/Uz9ARFzddUI/AAAAAAAADxg/1ml2kkjNEDQ/s00/05-04-2014+1-27-10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-toQ2hvPf6d8/Uz9ARFzddUI/AAAAAAAADxg/1ml2kkjNEDQ/s00/05-04-2014+1-27-10.jpg" height="360" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
A Slipknot tattoo surrounded by "junkie" veins:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-mIkaSMVlaRM/U0Fzq3FJj9I/AAAAAAAADyI/IBXKob12J6M/s1600/06-04-2014+17-31-15.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-mIkaSMVlaRM/U0Fzq3FJj9I/AAAAAAAADyI/IBXKob12J6M/s1600/06-04-2014+17-31-15.jpg" height="360" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
An IKEA chair:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-LzjGMJ9D-p8/U0Fzvf0mroI/AAAAAAAADyQ/3uL4uMQFjKQ/s1600/06-04-2014+17-32-03.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-LzjGMJ9D-p8/U0Fzvf0mroI/AAAAAAAADyQ/3uL4uMQFjKQ/s1600/06-04-2014+17-32-03.jpg" height="360" width="640" /></a></div>
<br />
And pores, billions of pores!!!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-zQuC6Kywm2c/Uz9AnmWKsXI/AAAAAAAADx4/nOw2p-MXoMo/s00/05-04-2014+1-27-57.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-zQuC6Kywm2c/Uz9AnmWKsXI/AAAAAAAADx4/nOw2p-MXoMo/s00/05-04-2014+1-27-57.jpg" height="360" width="640" /></a></div>
David Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com0tag:blogger.com,1999:blog-7887503020917448319.post-39633501149899885372014-01-30T10:55:00.002+01:002014-02-22T19:20:41.130+01:00Fog Volume for UnityAfter some requests I decided to create this new asset for the store. It consists of a boxed fog volume. It uses a cube geometry with a shader<br />
<div style="text-align: left;">
Watch this video to see how it works.</div>
<div style="text-align: left;">
Available at the <a href="https://www.assetstore.unity3d.com/#/content/14557" target="_blank">Asset store </a><br />
<a href="http://forum.unity3d.com/threads/225513-Fog-Volume?p=1502463#post1502463" target="_blank">Forum thread</a><br />
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="360" src="//www.youtube.com/embed/8b0Wq-CEs74" width="640"></iframe><br /></div>
</div>
<div style="text-align: center;">
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
</div>
<div style="text-align: left;">
It also models light in-scattering, so you can use it outdoors.</div>
<div style="text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-AUBfTL1JSEk/UueENyeTiaI/AAAAAAAADb0/mLSrSZ3vJlE/s1600/21-01-2014+13-28-49.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-AUBfTL1JSEk/UueENyeTiaI/AAAAAAAADb0/mLSrSZ3vJlE/s1600/21-01-2014+13-28-49.jpg" height="406" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-YerLzjg6Xc0/UueEN4k4qNI/AAAAAAAADbc/q28kdpBP01o/s1600/21-01-2014+13-32-07.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-YerLzjg6Xc0/UueEN4k4qNI/AAAAAAAADbc/q28kdpBP01o/s1600/21-01-2014+13-32-07.jpg" height="406" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-a6Tvikq_rJI/UueEN7yYODI/AAAAAAAADbY/4yUA95u-sbA/s1600/21-01-2014+13-32-29.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-a6Tvikq_rJI/UueEN7yYODI/AAAAAAAADbY/4yUA95u-sbA/s1600/21-01-2014+13-32-29.jpg" height="406" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-BCrPKp1Ow8k/UueEOrkQSvI/AAAAAAAADbo/hH7P73BiiWg/s1600/21-01-2014+13-42-45.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-BCrPKp1Ow8k/UueEOrkQSvI/AAAAAAAADbo/hH7P73BiiWg/s1600/21-01-2014+13-42-45.jpg" height="406" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-I4fJnkqt3UI/UueEOuUvBvI/AAAAAAAADbs/UfqnLrSmZK4/s1600/21-01-2014+13-51-05.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-I4fJnkqt3UI/UueEOuUvBvI/AAAAAAAADbs/UfqnLrSmZK4/s1600/21-01-2014+13-51-05.jpg" height="406" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Android tests:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://dl.dropboxusercontent.com/u/16565603/Unityforums/30-01-2014%2023-22-04.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="424" src="https://dl.dropboxusercontent.com/u/16565603/Unityforums/30-01-2014%2023-22-04.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://dl.dropboxusercontent.com/u/16565603/Unityforums/30-01-2014%2023-22-28.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="424" src="https://dl.dropboxusercontent.com/u/16565603/Unityforums/30-01-2014%2023-22-28.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div style="text-align: left;">
</div>
David Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com0tag:blogger.com,1999:blog-7887503020917448319.post-26701326369987927112014-01-11T01:45:00.000+01:002014-05-06T19:38:57.521+02:00Day of the Viking"Day of the Viking" is an amazing game where their creators, my friend <a href="http://makapainter.blogspot.com.es/" target="_blank">Carlos Macarron</a> and his girlfriend <a href="http://cristinaynzenga.blogspot.com.es/" target="_blank">Cristina Ynzenga</a>, show their huge talent and unique sense of humour. I've played it and guys, I couldn't stop laughing. It's the funniest game I've ever played!<br />
Extremely recommended:<br />
<a href="http://www.dayoftheviking.com/">http://www.dayoftheviking.com/</a><br />
<br />
Cristina made the animations for my project 'The Waterfall', and Carlos is helping me every time I need the experience of a good programmer. So many thanks guys!<br />
<br />
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="270" src="//www.youtube.com/embed/6zQ5E4wgMPY" width="480"></iframe></div>
David Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com0tag:blogger.com,1999:blog-7887503020917448319.post-79580397800065468072013-12-20T08:14:00.000+01:002014-05-13T16:23:33.176+02:00Setting nvidia gtx 690 SLIThat shy improvement was really weird. It was wrong indeed. I installed the <a href="http://blog.orbmu2k.de/sidebar-gadgets/gpu-observer-sidebar-gadget" target="_blank">GPU observer</a> widget and it gave me the clue. Only one GPU was in use. Then I started searching how to enable both and I found this application, <a href="http://www.guru3d.com/files_details/nvidia_inspector_download.html" target="_blank">nvidia inspector</a>, made by the same author. It's the same than the nvidia Control Panel but much more advanced. After a while, I found the correct configuration.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-BWfKIEbh0WI/UrPsxFP0peI/AAAAAAAADZQ/iW2sMnverrY/s1600/20-12-2013+7-49-27.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-BWfKIEbh0WI/UrPsxFP0peI/AAAAAAAADZQ/iW2sMnverrY/s1600/20-12-2013+7-49-27.png" /></a></div>
<br />
So now the performance is incredibly high!! From 10 fps to 200 OMFG<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-ypCE1Q_zayQ/UrPtNv-Z0uI/AAAAAAAADZY/g-uBKRtrlgg/s00/20-12-2013+07.48.25+x1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-ypCE1Q_zayQ/UrPtNv-Z0uI/AAAAAAAADZY/g-uBKRtrlgg/s640/20-12-2013+07.48.25+x1.png" height="360" width="640" /></a></div>
<br />David Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com0tag:blogger.com,1999:blog-7887503020917448319.post-13681418531368528242013-12-13T15:13:00.000+01:002013-12-13T21:42:12.766+01:00Understanding SpecularityUnderstanding how surface reflectivity works in the real world is crucial for correct map authoring.<br />
There is a way to split albedo and specular in order to get some references.<br />
For this, all we need is a polarized light setup.<br />
<br />
Equipment:<br />
<ul><li>Camera fully manual adjusted </li>
<li><a href="http://www.3dlens.com/shop/polarizer.php" target="_blank">Polarizing film</a> for your lamp</li>
<li>Polarizer filter <img height="400" src="https://dl.dropboxusercontent.com/u/16565603/posts/_DSC0041.jpg" width="602" /></li>
<li>Tripod <img height="400" src="https://dl.dropboxusercontent.com/u/16565603/posts/_DSC0043.jpg" width="602" /></li>
</ul><div><ul><li>Led lamp & remote shutter. This lamp is 6500 kelvin, producing white light.</li>
<img height="400" src="https://dl.dropboxusercontent.com/u/16565603/posts/_DSC0044.jpg" width="602" /> </ul><div><br />
We will take 2 photos of the subject. With and without polarizing film. Then, blend them in Photoshop with difference mode. Most of the times you will get a coloured result, so you have to desaturate the result image.<br />
<br />
Examples:<br />
<br />
<div>Cardboard:</div><div><div style="text-align: center;"><div class="separator" style="clear: both; text-align: center;"></div><br />
<div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-aypay5fadQY/Uqtpr7SbExI/AAAAAAAADXI/HUT1cVjcx88/s00/Cardboard.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-aypay5fadQY/Uqtpr7SbExI/AAAAAAAADXI/HUT1cVjcx88/s1600/Cardboard.jpg" height="424" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Plastic-Rubber</div><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-QjW3MBtdz08/UqtpqiWyzuI/AAAAAAAADXA/nCZLzgnQO3w/s00/Plastic-Rubber.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-QjW3MBtdz08/UqtpqiWyzuI/AAAAAAAADXA/nCZLzgnQO3w/s1600/Plastic-Rubber.jpg" height="424" width="640" /></a></div><br />
<div style="text-align: left;">Artificial wood</div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-ko7oUJV2j6A/UqtvNlQDKlI/AAAAAAAADYA/7xw_xD-wt-U/s00/Wood.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-ko7oUJV2j6A/UqtvNlQDKlI/AAAAAAAADYA/7xw_xD-wt-U/s1600/Wood.jpg" height="424" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Skin tests:</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><br />
<div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-ywOG3K88uf8/UqttHsAhC7I/AAAAAAAADXo/upzkhSp40hc/s00/Skin1_Specular.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-ywOG3K88uf8/UqttHsAhC7I/AAAAAAAADXo/upzkhSp40hc/s00/Skin1_Specular.jpg" height="220" width="553" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-4mHx3A0HBV0/UqttHqCE2pI/AAAAAAAADXs/FS-YLdhn_y4/s00/Skin2_Specular.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-4mHx3A0HBV0/UqttHqCE2pI/AAAAAAAADXs/FS-YLdhn_y4/s00/Skin2_Specular.jpg" height="220" width="553" /></a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><br />
</div></div></div></div>David Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com6tag:blogger.com,1999:blog-7887503020917448319.post-13739708871416053542013-11-27T23:52:00.000+01:002013-12-02T17:56:34.747+01:00New toy: GTX 690<div class="separator" style="clear: both; text-align: left;">
Just got this new blazing graphic card.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-_ahCoFMl4tw/UpZ0_EWXRzI/AAAAAAAADVQ/HMt1GtD-uRI/s00/nvidia-690-test-pc-3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="282" src="http://4.bp.blogspot.com/-_ahCoFMl4tw/UpZ0_EWXRzI/AAAAAAAADVQ/HMt1GtD-uRI/s640/nvidia-690-test-pc-3.jpg" width="640" /></a></div>
<br />
Before replacing my GTX 560, I took some screenshots for comparison purposes. I got different results. I expected a bigger performance. For UDK its not even twice faster.<br />
1080 renders:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-4e6r3v8v4uY/UpZ3DgkUVgI/AAAAAAAADVg/KFw2KknnrFA/s00/gtx+560+the+waterfall.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://4.bp.blogspot.com/-4e6r3v8v4uY/UpZ3DgkUVgI/AAAAAAAADVg/KFw2KknnrFA/s640/gtx+560+the+waterfall.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-oJ9zUXfHZeM/UpZ3ECte9BI/AAAAAAAADVo/YB7QRbBrvH0/s00/gtx+690+the+waterfall.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://3.bp.blogspot.com/-oJ9zUXfHZeM/UpZ3ECte9BI/AAAAAAAADVo/YB7QRbBrvH0/s640/gtx+690+the+waterfall.jpg" width="640" /></a></div>
<br />
Super heavy skin setup with tons of postprocessing. In this case, performance increased quite a lot.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-ShLUuWXfigs/UpZ3DS3mJ5I/AAAAAAAADVw/P4RpW-nvv8M/s00/gtx+560+heads+test.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://4.bp.blogspot.com/-ShLUuWXfigs/UpZ3DS3mJ5I/AAAAAAAADVw/P4RpW-nvv8M/s640/gtx+560+heads+test.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-5F2SwPWm31w/UpZ3DitHb9I/AAAAAAAADV4/OfDBNvBIGKQ/s00/gtx+690+heads+test.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://4.bp.blogspot.com/-5F2SwPWm31w/UpZ3DitHb9I/AAAAAAAADV4/OfDBNvBIGKQ/s640/gtx+690+heads+test.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
I really expected something much better. </div>
David Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com5tag:blogger.com,1999:blog-7887503020917448319.post-69488705037913297182013-11-22T18:13:00.000+01:002013-11-25T15:02:37.456+01:00Pirates: Treasure HuntersThis is the project I was working before joining Tequila Works. It was about to be cancelled and a big part of the team were fired, me too. Later, things become better for them and wanted to hire me again, but it was too late :)<br />
<br />
This first video shows the game as it was when I was still working there. I was in charge of all the technical stuff, shaders, FX... as usual :D<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="360" src="//www.youtube.com/embed/Ae2PE4O19aY" width="640"></iframe><br />
<br />
<br />David Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com3tag:blogger.com,1999:blog-7887503020917448319.post-69489400724342754602013-11-11T17:51:00.000+01:002013-11-11T17:51:17.309+01:00The Forest: Toys in ActionWell well well, here they are, Atmospheric and Skin rendering is present in this new trailer from 'The Forest' project:<br />
<div style="text-align: center;"><br />
</div><div style="text-align: center;"><iframe allowfullscreen="" frameborder="0" height="315" src="//www.youtube.com/embed/KwImGYR2rwg" width="560"></iframe></div>David Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com1tag:blogger.com,1999:blog-7887503020917448319.post-61500102822505704742013-11-10T19:45:00.003+01:002013-11-10T20:54:14.390+01:00From real-world to real-timeThe perfect solution for my artistic laziness, Photogrammetry! The software I'm using is Agisoft Photoscan. I was lucky for getting a license from my client.<br />
I've been living without a good camera all my life and that had to change. So I bought this amazing machine a few days ago:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-_INUm9koOgE/Un_kUmbSvKI/AAAAAAAADSQ/1Z9hDS9xoLw/s1600/10-11-2013+19-07-45.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="288" src="http://2.bp.blogspot.com/-_INUm9koOgE/Un_kUmbSvKI/AAAAAAAADSQ/1Z9hDS9xoLw/s320/10-11-2013+19-07-45.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
And the first usage I wanted to do with it was object scanning. For the first test, I took 65 photos to my girfriend's hand, and the result was really convincing<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-wRQorVvqEKE/Un_McVgTG-I/AAAAAAAADQs/u3ADNQcR0cc/s1600/09-11-2013+20-05-59.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="344" src="http://1.bp.blogspot.com/-wRQorVvqEKE/Un_McVgTG-I/AAAAAAAADQs/u3ADNQcR0cc/s640/09-11-2013+20-05-59.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Later, it was time to do something real-time friendly, so I grabbed a towel as my experiment subject.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-R5owmX8ZdA4/Un_NB1ErWsI/AAAAAAAADQ0/AypyJKVhlkU/s1600/10-11-2013+19-14-10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="396" src="http://3.bp.blogspot.com/-R5owmX8ZdA4/Un_NB1ErWsI/AAAAAAAADQ0/AypyJKVhlkU/s640/10-11-2013+19-14-10.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Scan result:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-b7abVv3ml3c/Un_N-2AM45I/AAAAAAAADQ8/XLqOXzX4fRM/s1600/10-11-2013+19-18-10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="354" src="http://4.bp.blogspot.com/-b7abVv3ml3c/Un_N-2AM45I/AAAAAAAADQ8/XLqOXzX4fRM/s640/10-11-2013+19-18-10.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
Later, a retopology made with zBrush remesher:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-nSiuOZ0egd0/Un_OgVUW1rI/AAAAAAAADRI/2IxIPyfdyhE/s1600/10-11-2013+19-20-03.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="344" src="http://4.bp.blogspot.com/-nSiuOZ0egd0/Un_OgVUW1rI/AAAAAAAADRI/2IxIPyfdyhE/s640/10-11-2013+19-20-03.jpg" width="640" /></a></div>
<br />
Once the new mesh was created, it was time for texture baking, and light cleaning:<br />
<br />
Original albedo from Photoscan after baking:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-srvckKhMScs/Un_O6cIl0WI/AAAAAAAADRQ/eDSSQzzp_V8/s1600/RemeshDiffuseMap.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="http://3.bp.blogspot.com/-srvckKhMScs/Un_O6cIl0WI/AAAAAAAADRQ/eDSSQzzp_V8/s640/RemeshDiffuseMap.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
After spending some time with photoshop, I removed almost all the lighting information and put a bit of AO on it:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-LtLrfb9Nnt4/Un_PLVF9dtI/AAAAAAAADRY/JOQ_D8LdX5s/s1600/Albedo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="http://4.bp.blogspot.com/-LtLrfb9Nnt4/Un_PLVF9dtI/AAAAAAAADRY/JOQ_D8LdX5s/s640/Albedo.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
And last step, using my cloth shader, here is in real-time:<br />
<br />
<div style="text-align: center;">
<img height="396" src="https://dl.dropboxusercontent.com/u/16565603/posts/000.gif" width="640" /></div>
David Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com3tag:blogger.com,1999:blog-7887503020917448319.post-65904313591298442152013-11-02T00:30:00.000+01:002013-11-02T00:37:12.555+01:00Atmospheric Rendering for Dynamic Light Transitions Atmospheric system for <a href="http://survivetheforest.com/" target="_blank">The Forest project</a><br />
<br />
<div style="text-align: center;"><iframe allowfullscreen="" frameborder="0" height="360" src="//www.youtube.com/embed/4CA_rgTgeH0" width="640"></iframe><br />
</div><div style="text-align: center;"><br />
</div><div style="text-align: left;"><a href="https://docs.google.com/presentation/d/1ljM4C51a3nZo3UvMJTB4V2hDT68vJ520OFJCOqER0IY/pub?start=false&loop=false&delayms=3000" target="_blank">Breakdown Slides:</a></div><br />
<div style="text-align: center;"><iframe allowfullscreen="true" frameborder="0" height="360" mozallowfullscreen="true" src="https://docs.google.com/presentation/d/1ljM4C51a3nZo3UvMJTB4V2hDT68vJ520OFJCOqER0IY/embed?start=false&loop=false&delayms=3000" webkitallowfullscreen="true" width="640"></iframe><br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-Egp0BZ2tWzw/UnQ4x0Jn-HI/AAAAAAAADMY/vl_W5HRUh2c/s00/02-11-2013+00.17.04+x1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://1.bp.blogspot.com/-Egp0BZ2tWzw/UnQ4x0Jn-HI/AAAAAAAADMY/vl_W5HRUh2c/s640/02-11-2013+00.17.04+x1.png" width="640" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-kQkmnrKzaJs/UnQ4yCMQafI/AAAAAAAADMc/K63OszGiuuY/s00/02-11-2013+00.20.40+x1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://2.bp.blogspot.com/-kQkmnrKzaJs/UnQ4yCMQafI/AAAAAAAADMc/K63OszGiuuY/s640/02-11-2013+00.20.40+x1.png" width="640" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-nfYgS1-ya2Y/UnQ4yBHEroI/AAAAAAAADMg/gpcNCfxPQ14/s00/02-11-2013+00.22.55+x1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://3.bp.blogspot.com/-nfYgS1-ya2Y/UnQ4yBHEroI/AAAAAAAADMg/gpcNCfxPQ14/s640/02-11-2013+00.22.55+x1.png" width="640" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-8hSzpGn7qu8/UnQ4z_tVFtI/AAAAAAAADMw/cHW8DgSZPWU/s00/02-11-2013+00.23.17+x1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://2.bp.blogspot.com/-8hSzpGn7qu8/UnQ4z_tVFtI/AAAAAAAADMw/cHW8DgSZPWU/s640/02-11-2013+00.23.17+x1.png" width="640" /></a></div><br />
</div>David Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com10tag:blogger.com,1999:blog-7887503020917448319.post-54876406092755926792013-11-01T15:58:00.000+01:002013-11-01T15:58:04.115+01:00Just noticed I didn't do The WaterallDon't forget this kid face and name, because he must be some kind of god:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-yAKfyyrSaj0/UnO_VkwnEbI/AAAAAAAADL4/LuL64Fa--Uc/s1600/01-11-2013+15-45-44.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="268" src="http://4.bp.blogspot.com/-yAKfyyrSaj0/UnO_VkwnEbI/AAAAAAAADL4/LuL64Fa--Uc/s640/01-11-2013+15-45-44.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-4Z-5JPArpdM/UnO_V-rYS-I/AAAAAAAADL8/YcWIxCkjVyo/s1600/01-11-2013+15-36-56.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="322" src="http://3.bp.blogspot.com/-4Z-5JPArpdM/UnO_V-rYS-I/AAAAAAAADL8/YcWIxCkjVyo/s640/01-11-2013+15-36-56.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
I have never seen such source of creativity, hard work and specially, passion for others work ^^</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Enjoy!! <a href="http://gameridersoffical.wix.com/ahmadshadid">http://gameridersoffical.wix.com/ahmadshadid</a></div>
<br />David Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com4tag:blogger.com,1999:blog-7887503020917448319.post-24287925611991317552013-10-19T18:34:00.000+02:002013-11-02T15:19:42.307+01:00Skin rendering (Iteration 3)<a href="http://survivetheforest.com/">The Forest</a> people asked me for a good skin system for their game. The petition couldn't be better planned, with the new GDC papers recently released.<br />
So yes, I have studied them every day for about 3 weeks, while travelling to the office / home (2h per day O_o). Once each concept was understood, its was time to start with the good coding stuff.<br />
I have worked on this about 3 weeks non stop, without visiting my sofa, without having any kind of rest or relax. Learning the papers in my tablet at the toilet, at the bus / train / metro, thinking in all the system while sleeping or having a shower... Pretty exhausting.<br />
What else can I say. I'm very proud of this and also, I would like to say thanks to graphics researchers, such as <a href="http://www.iryoku.com/" target="_blank">Jorge Jimenez</a> and co-workers. <a href="http://www.astutegames.com/">Rubén Alcañiz</a>, and Carlos Macarrón for their unconditional help. Also to my girlfriend, for her infinite patience. I'm sorry sweety!<br />
And of course, Lee for his free scan demo!<br />
<br />
All of this sounds like its finished, but not! Its not. CG research never ends. Notice the post tittle, Iteration 3. There is place for infinite ones :P<br />
<br />
So yes, lets go with the heavy metal:<br />
<br />
<div style="text-align: center;">
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="360" src="//www.youtube.com/embed/1pfqCQQIbUM" width="640"></iframe></div>
</div>
<br />
Online demo! This time, works in dx9 :)<br />
<br />
<div style="text-align: center;">
<a href="http://dl.dropboxusercontent.com/u/16565603/Unity/SSSSS%20Head%20Demo/SSSSS%20Head%20Demo.html" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="396" src="http://dl.dropboxusercontent.com/u/16565603/Unity/SSSSS%20Head%20Demo/Cover.jpg" width="640" /></a></div>
<br />
<a href="https://docs.google.com/presentation/d/1IgI7iuMhnWwSJBgDbsMN9NYAC0OQa3ivzKlM2R99V3c/pub?start=false&loop=false&delayms=3000" target="_blank">Breakdown</a><br />
<br />
<div style="text-align: center;">
<iframe allowfullscreen="false" frameborder="0" height="396" mozallowfullscreen="false" src="https://docs.google.com/presentation/d/1IgI7iuMhnWwSJBgDbsMN9NYAC0OQa3ivzKlM2R99V3c/embed?start=false&loop=false&delayms=3000" webkitallowfullscreen="false" width="640"></iframe></div>
<br />
Images used in the video:<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-nSBr2mrB7WU/UmKzQe1wNRI/AAAAAAAADAM/acaP-SLBk-Q/s00/19-10-2013+14.37.39+x1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="312" src="http://2.bp.blogspot.com/-nSBr2mrB7WU/UmKzQe1wNRI/AAAAAAAADAM/acaP-SLBk-Q/s640/19-10-2013+14.37.39+x1.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-K7FjbGhPLsY/UmKzQnfR-II/AAAAAAAADAU/4mo0iXuEO7s/s00/19-10-2013+14.37.06+x1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="312" src="http://3.bp.blogspot.com/-K7FjbGhPLsY/UmKzQnfR-II/AAAAAAAADAU/4mo0iXuEO7s/s640/19-10-2013+14.37.06+x1.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaR6zV2C3kZeaSlBShRGX9I2kHFyD5VBNjYxxGDlmBy5dr9oK00cYkcgZP5zxm3NRdDt_q4STQoClGipPHXuRq2maAeHlIhXJegPCnPe0QJpIRCB7O6oHIleLlWo4h5EdaFUl6Lqt31pI/s0/19-10-2013+14.38.02+x1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="312" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaR6zV2C3kZeaSlBShRGX9I2kHFyD5VBNjYxxGDlmBy5dr9oK00cYkcgZP5zxm3NRdDt_q4STQoClGipPHXuRq2maAeHlIhXJegPCnPe0QJpIRCB7O6oHIleLlWo4h5EdaFUl6Lqt31pI/s640/19-10-2013+14.38.02+x1.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-EsZAZBI_tRg/UmKzRhwh-5I/AAAAAAAADAg/iyYvRxlJhgQ/s00/19-10-2013+14.42.42+x1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="312" src="http://1.bp.blogspot.com/-EsZAZBI_tRg/UmKzRhwh-5I/AAAAAAAADAg/iyYvRxlJhgQ/s640/19-10-2013+14.42.42+x1.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-C8XHKoVU2OI/UmKzR6AklfI/AAAAAAAADAo/LIFTfMveQIc/s00/19-10-2013+14.42.59+x1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="312" src="http://1.bp.blogspot.com/-C8XHKoVU2OI/UmKzR6AklfI/AAAAAAAADAo/LIFTfMveQIc/s640/19-10-2013+14.42.59+x1.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-7SFi11IPQs0/UmKzSQm9yKI/AAAAAAAADAw/-qkk8jGYlCo/s00/19-10-2013+14.45.23+x1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="312" src="http://4.bp.blogspot.com/-7SFi11IPQs0/UmKzSQm9yKI/AAAAAAAADAw/-qkk8jGYlCo/s640/19-10-2013+14.45.23+x1.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-nqk9ItLVFYQ/UmKzSuHg2oI/AAAAAAAADA4/r0AtCyP0oyg/s00/19-10-2013+14.46.12+x1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="312" src="http://4.bp.blogspot.com/-nqk9ItLVFYQ/UmKzSuHg2oI/AAAAAAAADA4/r0AtCyP0oyg/s640/19-10-2013+14.46.12+x1.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-a3N2TlhGnII/UmKzTY7U9BI/AAAAAAAADBA/NaCrckvJrMU/s00/19-10-2013+14.46.38+x1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="312" src="http://2.bp.blogspot.com/-a3N2TlhGnII/UmKzTY7U9BI/AAAAAAAADBA/NaCrckvJrMU/s640/19-10-2013+14.46.38+x1.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-96EnlsmrwgI/UmKzUQ_6h9I/AAAAAAAADBQ/TDhfiQjrous/s00/19-10-2013+14.47.02+x1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="312" src="http://3.bp.blogspot.com/-96EnlsmrwgI/UmKzUQ_6h9I/AAAAAAAADBQ/TDhfiQjrous/s640/19-10-2013+14.47.02+x1.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-RP6wUrI2VhI/UmKzUVEHBJI/AAAAAAAADBM/ipmWBgdQhIw/s00/19-10-2013+14.48.01+x1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="312" src="http://3.bp.blogspot.com/-RP6wUrI2VhI/UmKzUVEHBJI/AAAAAAAADBM/ipmWBgdQhIw/s640/19-10-2013+14.48.01+x1.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-wIBHbN_-Le0/UmKzUiLIUMI/AAAAAAAADBU/l3VYIS56LlY/s00/19-10-2013+14.48.39+x1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="312" src="http://1.bp.blogspot.com/-wIBHbN_-Le0/UmKzUiLIUMI/AAAAAAAADBU/l3VYIS56LlY/s640/19-10-2013+14.48.39+x1.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-d8ppJaJn4i4/UmKzVUaeJJI/AAAAAAAADBc/g3sInzWtJ0w/s00/19-10-2013+14.50.27+x1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="312" src="http://1.bp.blogspot.com/-d8ppJaJn4i4/UmKzVUaeJJI/AAAAAAAADBc/g3sInzWtJ0w/s640/19-10-2013+14.50.27+x1.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
David Mirandahttp://www.blogger.com/profile/13817778283310964653noreply@blogger.com15