tag:blogger.com,1999:blog-9802472767637356852024-03-12T23:17:25.205-07:00kanooshkaI'd like this blog to prevent my fellow 3D digital artists from repeating the hours of toiling I've spent myself. From tips and tricks to some theory I hope my notes and thoughts will help out in whatever your projects are.kanooshkahttp://www.blogger.com/profile/12798364178704875410noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-980247276763735685.post-72377095651439762062013-08-05T20:06:00.002-07:002013-08-05T20:07:06.025-07:00Global Render Quality Control v0.1Hey everyone!<br />
<br />
I know it's been awhile since I've posted anything but here it goes!<br />
<br />
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;">I'm sure everyone else is like me and is always looking to speed up their test render times, and because of that I've put together a global quality UI. This UI gives you one simple control to scale all of your scene's quality parameters while storing your high quality attributes for returning back to the highest quality. Currently this tool only supports Renderman 4.0 but if there's enough interest, I can make it compatible with other renderers. </span></span><br />
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;"><br /></span></span>
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;">You can get the script here: </span></span><a href="http://www.creativecrash.com/maya/script/global-render-quality-control-ui">http://www.creativecrash.com/maya/script/global-render-quality-control-ui</a><br />
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;"><br /></span></span>
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;">Here's the current build's description:</span></span><br />
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;">***********************</span></span><br />
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;"><br /></span></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGcqfOW5U2Yv8nKYxCetIOkYb0Tbkq3c4IOG7afaNQMrJG_u5BTHajR3KpWK9lIGuMQQcxTa550Ic43LNbP3AYH4yEcunVGaE7YRmwcsEhh0FN2SvgfuJ6_Tvm2to_vuy_mfjs46R6XNg/s1600/Capture.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="74" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGcqfOW5U2Yv8nKYxCetIOkYb0Tbkq3c4IOG7afaNQMrJG_u5BTHajR3KpWK9lIGuMQQcxTa550Ic43LNbP3AYH4yEcunVGaE7YRmwcsEhh0FN2SvgfuJ6_Tvm2to_vuy_mfjs46R6XNg/s320/Capture.PNG" width="320" /></a></div>
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;"><br /></span></span>
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;"><br /></span></span>
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;">GlobalQualityControlUI v0.1</span></span><br />
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;"><br /></span></span>
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;">Supports: RMS4.0</span></span><br />
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;"><br /></span></span>
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;">Installation: Place script in your scripts folder and restart maya. Run GlobalQualityControlUI to bring up the UI.</span></span><br />
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;"><br /></span></span>
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;">Description: </span></span><br />
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;">The purpose of this tool is to create a global control for all samples (lights, materials, transforms etc...) in a scene. This includes: </span></span><br />
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;"><br /></span></span>
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;">shadowRays,smapSamples, volumeShadowSamples, areaSamplingU, areaSamplingV, reaLowSamplingU, areaLowSamplingV, maxSpecularSamples, maxLightSamples, minSpecularSamples, minLightSamples, sssSamples, nsamples, indirectDiffuseSamples, NumSamples, AntiAliasing Pixel Samples, Focus Factor, Motion Factor and Shading rate.</span></span><br />
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;"><br /></span></span>
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;">Adjust the slider to set your global samples for a scene, 1.0 is highest quality while 0.01 is lowest. Once you have chosen a quality, press the `Set!` button and your quality settings will be applied to all the objects in your scene. Your high quality attribute will be stored in a new attribute on your object by the name of "HQ_PRMAN_" and will be updated if any higher values are inputted at the time of pressing the `Set!` button.</span></span><br />
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;"><br /></span></span>
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;">The Max shading rate is a cap for the largest shading rate allowed. This helps prevent any textures or displacement from becoming too low res.</span></span><br />
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;"><br /></span></span>
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;">There is no guarantee that this tool will work, and I'm not responsible for any issues you may have. </span></span><br />
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;">However, if you have any issues, comments, concerns or requested features please let me know at kanooshka@gmail.com. </span></span><br />
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;"><br /></span></span>
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;">Happy lighting!</span></span><br />
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;"><br /></span></span>
<span style="font-family: verdana, geneva, lucida, lucida grande, arial, helvetica, sans-serif;"><span style="font-size: 12px; line-height: 18px;">Dan</span></span>kanooshkahttp://www.blogger.com/profile/12798364178704875410noreply@blogger.com0tag:blogger.com,1999:blog-980247276763735685.post-41001483900722188862011-02-25T19:35:00.000-08:002011-02-26T07:40:24.221-08:00Mental Ray - Creating Rim Lights Easier<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigZf6KvZzcmG3a4ePCvy9z33IkYmelI4_Z2-RWz_SfEt5Bz12r111XzL6GkEMLfS5uk9CLH7UtJOzK1kCFTov5h56iTz-KraIfp-HI7S_9e4m-0nqEGEmEe7acSAOl2JzGT5tEq4hC8KE/s1600/MRRimLight_example.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 238px; height: 238px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigZf6KvZzcmG3a4ePCvy9z33IkYmelI4_Z2-RWz_SfEt5Bz12r111XzL6GkEMLfS5uk9CLH7UtJOzK1kCFTov5h56iTz-KraIfp-HI7S_9e4m-0nqEGEmEe7acSAOl2JzGT5tEq4hC8KE/s400/MRRimLight_example.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5577844236836431442" /></a><div style="text-align: left;">Rim lighting is always a finicky process that requires lots of finesse and trial and error to get to look the way you want in Mental Ray. In Maya's software render you can simply connect the samplerInfo.facingRatio into a rampShader.VCoord then plug that directly into a light's color but, unfortunately that does not work in Mental Ray (I'm not sure why) . I've come up with a work around for this by using the camera space normal direction output mode of the mi ambient occlusion shader.</div><div style="text-align: left;"><br /></div><div><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNC9FuFtNoeWvN_QEK9DeR-eIDZ9xkajXl8W5CVdBQ7AGjSmYvQPdiy_MpfLJhoylHXF7re0U_kRtTfns5kf-Pud2rchLWQ_Ag7g6JaPAiYcOXrmyUkFkhzeT3NPPS-sPoyrclSrpzuCY/s400/MRRimLight_shadingNetwork.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 165px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5577839557884851682" /><div style="text-align: center;"><b>Shading Network</b></div><div style="text-align: center;"><br /></div><div style="text-align: left;">The shading network is fairly straightforward. The occlusion node has its output mode set to 3 which is camera space normals. It Blue value (Z) is then hooked up into an RGB to HSV node so that it can be remapped in a ramp. The outputX of the RGB to HSV node is then plugged into the VCoord of a ramp which is then used to drive the thickness of the rim light. The light is then given a rim thickness attribute which can be used to control how thick the rim light is. If you're interested in trying this out or taking a closer look at it, here's a script that will create this network for you.</div><div style="text-align: left;"><i><br /></i></div><div style="text-align: left;"><i>Make sure you're using mental ray or this will not work</i>.</div><div style="text-align: left;"><br /></div><div style="text-align: left;">Also, there is a known issue that this does not yet work with raytraced shadows so you must use depth maps</div><div style="text-align: left;"><br /></div><div style="text-align: left;"><a href="http://dockay.com/Blog/2-25-2011/MRRimLightShader.mel">MRRimLightShader.mel</a> (Right click and save as)</div><div style="text-align: left;"><br /></div></div>kanooshkahttp://www.blogger.com/profile/12798364178704875410noreply@blogger.com0tag:blogger.com,1999:blog-980247276763735685.post-17559727823398415742010-06-13T20:06:00.000-07:002010-06-14T11:24:35.052-07:00Maya Light Master V 0.1a<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.dockay.com/LightMaster/LightMasterV0_1a_screenshot.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 240px; height: 140px;" src="http://www.dockay.com/LightMaster/LightMasterV0_1a_screenshot.jpg" alt="" border="0" /></a>I'd like to introduce Light Master V0.1a. The idea of Light Master is to focus on simplifying the workflow of lighting in Maya by having useful tools and settings all in one place. Currently the tool's main task is soloing lights. Soloing lights is essential when lighting but, unfortunately it can be a tedious and troublesome task. With this tool it is now a one click solution to specify one or more light(s) to hide or show.<div><br /></div><div>At this point there's not too much to explain so here's the script. Just extract the MEL file into your script folder. Then type without the quotes `source LightMaster.mel` into maya's command line.<br /></div><div><br /></div><div><a href="http://www.dockay.com/LightMaster/LightMasterV0_1a.rar">http://www.dockay.com/LightMaster/LightMasterV0_1a.rar</a></div><div><br /></div><div>If you have any questions, issues, comments or ideas for future features please let me know.<br /></div><div><br /></div><div>Happy Lighting!</div><div><div><br /></div><div><br /></div></div>kanooshkahttp://www.blogger.com/profile/12798364178704875410noreply@blogger.com1tag:blogger.com,1999:blog-980247276763735685.post-79783424368249661582010-04-25T07:21:00.000-07:002010-04-25T07:55:03.624-07:003DStimulus Day 2010For those who made it to 3DStimulus Day, thanks for coming! Also thanks to Gael McGill, Alex Schwartz, Yuris Mangold and Chad Moore for volunteering their time to present. Finally, thanks to GET for putting the event together. For those who weren't able to make it to 3DStimulus day you missed some great presentations and networking, hope you can all come to the next event!<br /><br />Also, for those interested here are the slides from my presentation. Hopefully they'll be useful. I look forward to delving further into this topic at a later event.<br /><br /><br /><div style="text-align: center;"><a href="http://www.dockay.com/Blog/4-25-10/DanKonieczka_Light-Mat_Conc-Theory.pdf">Lighting and Materials : Concepts and Theory (PDF)</a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.dockay.com/Blog/4-25-10/DanKonieczka_Light-Mat_Conc-Theory.pdf"><img style="cursor: pointer; width: 628px; height: 469px;" src="http://www.dockay.com/Blog/4-25-10/introImage.jpg" alt="" border="0" /></a></div>kanooshkahttp://www.blogger.com/profile/12798364178704875410noreply@blogger.com0tag:blogger.com,1999:blog-980247276763735685.post-54126545414890912432010-03-23T20:08:00.000-07:002010-03-24T06:03:36.935-07:00One Is The Ugliest NumberOne is by far the ugliest number when it comes to working with color. A lot of people find it easier to work with HSV values as opposed to RGB values, mostly because it's much more intuitive. I don't blame them, I use mostly HSV myself. However, there are a few pitfalls that come with that territory. So when working with HSV make sure to check your RGB values for these issues.<br /><div style="text-align: left;"><br /></div><div style="text-align: center;"><div style="text-align: center;"><div style="text-align: left;">Let's start by taking a basic image with 3 spheres The top left is pure red RGB(1,0,0), top right green RGB(0,1,0) and bottom blue RGB(0,0,1) as well as a plane underneath with a gray material RGB(0.5,0.5,0.5), for showing the light color. Keep in mind that this is a very drastic situation. As this entry will hopefully teach you, you almost never want RGB values of either 0 or 1.<br /></div><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.dockay.com/Blog/images/3-24-10/whiteLight.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://www.dockay.com/Blog/images/3-24-10/whiteLight.jpg" alt="" border="0" /></a>For this first image we have a white light for a starting point.<br /></div><br /><div style="text-align: left;">If we look at the RGB values for this white light we have (1,1,1) which is good because they're not zero. Now lets try a different scenario.<br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.dockay.com/Blog/images/3-24-10/yellowLight.jpg"><img style="cursor: pointer; width: 320px; height: 240px;" src="http://www.dockay.com/Blog/images/3-24-10/yellowLight.jpg" alt="" border="0" /></a><br /></div><div style="text-align: center;">This image has a pure yellow light in it with RGB(1,1,0)<br /><br /><div style="text-align: left;">Now it may seem obvious not to use a light of this color because there is a value of 0 for blue. But this same color in the HSV scale looks deceiving. The saturation in the HSV scale for this color is 1. No zeros, so there should be no issues you may think. However,<span style="font-weight: bold;"> a saturation of 1 means one or two RGB values equal 0</span>. In the case depicted above this blue is that zero.<br /><br />So maybe the problem lies in the materials. If we desaturated the materials there shouldn't be a problem....<br /></div></div><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.dockay.com/Blog/images/3-24-10/yellowLightLoneSphere.jpg"><img style="cursor: pointer; width: 320px; height: 240px;" src="http://www.dockay.com/Blog/images/3-24-10/yellowLightLoneSphere.jpg" alt="" border="0" /></a><br /></div><br /></div></div><div style="text-align: center;">This is what happens with a purely yellow light when its intensity is extremely high. Why doesn't it resolve to white?<br /><br /><div style="text-align: left;">Well, one must ask themselves what colors are required to make white, and they are red, green <span style="font-weight: bold;">and</span> blue. No matter how bright this light gets even with a white material on the sphere there will not be any blue present to create white.<br /><br />The solution? <span style="font-weight: bold;">Stay away from saturation values of 1</span>! My recommendations for HSV are to keep the Saturation values below 0.8 and keep the Value between the range of 0.2 and 0.8. As for RGB 0.2 - 0.8 is a good range. Of course there are always exceptions to the rule but this is good for a general guideline.<br /><br /><div style="text-align: center;">Finally here are renders with saturation reduced from 1 to 0.8.<br /><br /></div><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.dockay.com/Blog/images/3-24-10/finalRender.jpg"><img style="cursor: pointer; width: 640px; height: 240px;" src="http://www.dockay.com/Blog/images/3-24-10/finalRender.jpg" alt="" border="0" /></a><br /></div><br /><br /></div></div>kanooshkahttp://www.blogger.com/profile/12798364178704875410noreply@blogger.com0