{"id":492,"date":"2015-02-28T10:12:44","date_gmt":"2015-02-28T10:12:44","guid":{"rendered":"http:\/\/julius-ihle.de\/?p=492"},"modified":"2018-04-04T08:39:50","modified_gmt":"2018-04-04T08:39:50","slug":"more-katana-macrostools","status":"publish","type":"post","link":"https:\/\/julius-ihle.de\/?p=492","title":{"rendered":"More Katana Macros\/Tools"},"content":{"rendered":"<p><a href=\"https:\/\/julius-ihle.de\/?p=492\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-493\" src=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/katana_dev.jpg\" alt=\"katana_dev\" width=\"800\" height=\"333\" srcset=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/katana_dev.jpg 1280w, https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/katana_dev-300x125.jpg 300w, https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/katana_dev-1024x426.jpg 1024w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">During the last year I luckily had some time to spend on digging a bit deeper into Katana. From working on assets and shots I experienced some moments where I thought it&#8217;d be great to have some basic tools to help get the job done just a little bit quicker. So whenever I had a bit of spare time I was developing some Macros\/Gizmos\/Tools to help artists on some common problems.<!--more--><\/p>\n<p><iframe loading=\"lazy\" src=\"\/\/player.vimeo.com\/video\/120869259\" width=\"500\" height=\"281\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p><a href=\"https:\/\/vimeo.com\/120869259\">Katana Macro\/Tool Dev<\/a> from <a href=\"https:\/\/vimeo.com\/julsvfx\">Julius Ihle<\/a> on <a href=\"https:\/\/vimeo.com\">Vimeo<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p>One of the tools is a macro that helps managing multiple lights. Based on a CEL you can freely modify exposed shading and transform parameters. This especially comes in handy in scenes with bigger environments that have to be lit with multiple light sources. It also features some randomization controls for lightcolor and rotation &amp; scale.<\/p>\n<p><a href=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/lmanager.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-494\" src=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/lmanager.png\" alt=\"lmanager\" width=\"479\" height=\"580\" srcset=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/lmanager.png 628w, https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/lmanager-248x300.png 248w\" sizes=\"auto, (max-width: 479px) 100vw, 479px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Next up we occasionally had some shots that required very accurate light cookies\/gobos based on the plate. On recent shows we for example had some shots of characters walking through the woods with quite direct lighting which caused very complex noticeable shadows from the tree&#8217;s branches and leaves. In some scenes one could get away with putting just some random lightcookies as projectors (slidemaps) on the lights, but others needed a more accurate solution. This is a macro I have been working on which automates the whole process:<\/p>\n<p><a href=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/cookiemaker.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-495\" src=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/cookiemaker.png\" alt=\"cookiemaker\" width=\"480\" height=\"413\" srcset=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/cookiemaker.png 630w, https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/cookiemaker-300x258.png 300w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a>It basically works this way: You project the plate through the render camera onto the set geometry and render that result back through the light source which will should give you a proper light gobo. Now, there are usually a few things to consider, like the camera&#8217;s focal length, pre\/post transformations of the plate to match the light&#8217;s scale and so on which all depends on the way the slidemap is implemented into the shader. On this one no one had to worry about it, because it&#8217;s all handled automatically :) The only drawback is that the generation of the resulting cookie involves a 2-step rendering process (projection on geo and post-tweaks) which makes it not as interactive as it could be, but luckily those renders go through really quick at least.<\/p>\n<p>Here&#8217;s a quick run through on a previous set up which is based on the same technique, but a bit more manual and goes through Nuke. This should also work with really any setup that requires building accurate light cookies.<br \/>\nSay this is your light setup (in this case in Katana, but could be Maya, Houdini, or whatever):<\/p>\n<p><a href=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/katana_lightsetup.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-496\" src=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/katana_lightsetup.png\" alt=\"katana_lightsetup\" width=\"754\" height=\"547\" srcset=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/katana_lightsetup.png 877w, https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/katana_lightsetup-300x218.png 300w\" sizes=\"auto, (max-width: 754px) 100vw, 754px\" \/><\/a><br \/>\nYou replicate the same thing in Nuke importing the same camera and set geometry. You project the plate through the rendercam onto the set geometry and copy over the light transformations from your 3D package into a new camera, which you then render through:<\/p>\n<p><a href=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/nuke_lightsetup.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-497\" src=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/nuke_lightsetup.png\" alt=\"nuke_lightsetup\" width=\"999\" height=\"382\" srcset=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/nuke_lightsetup.png 1724w, https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/nuke_lightsetup-300x115.png 300w, https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/nuke_lightsetup-1024x391.png 1024w\" sizes=\"auto, (max-width: 999px) 100vw, 999px\" \/><\/a><br \/>\nThe tricky part is getting the correct settings for focal length, etc. on your camera that resembles the light, which involves a bit trial and error. You can then just desaturate the map and grade, paint and do all the fancy comp stuff to make it do what you want and then use it on your lights:<\/p>\n<p><a href=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/katana_cookie_arealight2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"  wp-image-498 aligncenter\" src=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/katana_cookie_arealight2.jpg\" alt=\"katana_cookie_arealight2\" width=\"498\" height=\"280\" srcset=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/katana_cookie_arealight2.jpg 1280w, https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/katana_cookie_arealight2-300x169.jpg 300w, https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/katana_cookie_arealight2-1024x576.jpg 1024w\" sizes=\"auto, (max-width: 498px) 100vw, 498px\" \/><\/a> <a href=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/plate_720.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"  wp-image-499 aligncenter\" src=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/plate_720.jpg\" alt=\"plate_720\" width=\"500\" height=\"281\" srcset=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/plate_720.jpg 1280w, https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/plate_720-300x169.jpg 300w, https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/plate_720-1024x576.jpg 1024w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>When the guys from FX do their magic and blow things up into thousands of pieces that&#8217;s always awesome. Anyone in comp is usually happy if you provide them ID&#8217;s for just about anything so, provided the FX cache contains separate geometry pieces or face-sets that&#8217;s pretty straight forward with this ID randomizer:<\/p>\n<p><a href=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/idassgner.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-500\" src=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/idassgner.png\" alt=\"idassgner\" width=\"508\" height=\"329\" srcset=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/idassgner.png 508w, https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/idassgner-300x194.png 300w\" sizes=\"auto, (max-width: 508px) 100vw, 508px\" \/><\/a><br \/>\nWhen Lookdev&#8217;ing assets it always helps to ensure some consistency between the renders. While we had templates that managed chrome- and greyballs and rendercameras, we didn&#8217;t have a setup for the turntable itself&#8230; Well, now we have:<\/p>\n<p><a href=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/turntable.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-501\" src=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/turntable.png\" alt=\"turntable\" width=\"723\" height=\"296\" srcset=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/turntable.png 723w, https:\/\/julius-ihle.de\/wp-content\/uploads\/2015\/02\/turntable-300x123.png 300w\" sizes=\"auto, (max-width: 723px) 100vw, 723px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<br \/>\n<span style=\"color: #808080;\">_________________________________________________<\/span><br \/>\n<span style=\"color: #808080;\"><span style=\"font-size: small;\"> If this post has helped you in any way you can express your gratefulness by using the <em>Donate\u00a0<\/em>Button below to buy me a coffee! :)<\/span><\/span><br \/>\n<a href=\"https:\/\/www.paypal.com\/cgi-bin\/webscr?cmd=_s-xclick&amp;hosted_button_id=VH5RW3YDWDJSQ\" target=\"_blank\" rel=\"nofollow\"><img decoding=\"async\" src=\"https:\/\/www.paypal.com\/en_US\/i\/btn\/x-click-but21.gif\" alt=\"\" \/><\/a><\/p>\n<div class=\"moz-text-html\" lang=\"x-unicode\">\n<div><span style=\"font-size: small;\"><span style=\"color: #808080;\">3M5xNSV7g2NzVpHMqzYKhgoKJZ8CWa644m<\/span><\/span><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-2576\" src=\"https:\/\/julius-ihle.de\/wp-content\/uploads\/2018\/03\/bc_ldgr_qrcode.png\" alt=\"bc_ldgr_qrcode\" width=\"128\" height=\"128\" \/><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>During the last year I luckily had some time to spend on digging a bit deeper into Katana. From working on assets and shots I experienced some moments where I thought it&#8217;d be great to have some basic tools to help get the job done just a little bit quicker. So whenever I had a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[11,30,29,27,25,32,26,6,31,24,28],"class_list":["post-492","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-arnold","tag-cookie","tag-gobo","tag-katana","tag-lighting","tag-lookdev","tag-rendering","tag-renderman","tag-slidemap","tag-vfx","tag-workflow"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p3MXK6-7W","jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/julius-ihle.de\/index.php?rest_route=\/wp\/v2\/posts\/492","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/julius-ihle.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/julius-ihle.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/julius-ihle.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/julius-ihle.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=492"}],"version-history":[{"count":11,"href":"https:\/\/julius-ihle.de\/index.php?rest_route=\/wp\/v2\/posts\/492\/revisions"}],"predecessor-version":[{"id":2597,"href":"https:\/\/julius-ihle.de\/index.php?rest_route=\/wp\/v2\/posts\/492\/revisions\/2597"}],"wp:attachment":[{"href":"https:\/\/julius-ihle.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=492"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/julius-ihle.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=492"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/julius-ihle.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=492"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}