{"id":77164,"date":"2021-06-14T14:51:17","date_gmt":"2021-06-14T12:51:17","guid":{"rendered":"https:\/\/www.blender.org\/?p=77164"},"modified":"2024-10-15T15:32:59","modified_gmt":"2024-10-15T13:32:59","slug":"blender-and-the-rabbids","status":"publish","type":"post","link":"https:\/\/www.blender.org\/user-stories\/blender-and-the-rabbids\/","title":{"rendered":"Blender and the Rabbids"},"content":{"rendered":"<!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n<?xml encoding=\"utf-8\"?><html><body><blockquote class=\"wp-block-quote p-3 mb-4 is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>By Julien Blervaque and Yannick Castaing, Ubisoft  Film and Television- Paris<\/em><\/p>\n<\/blockquote>\n\n\n\n<p>Between&nbsp;January 2020&nbsp;and&nbsp;March 2021&nbsp;we were quite busy at&nbsp;Ubisoft Animation Studio (in-house&nbsp;studio of Ubisoft Film &amp; Television) working&nbsp;on a&nbsp;70min&nbsp;long&nbsp;special&nbsp;episode&nbsp;of&nbsp;our TV&nbsp;series&nbsp;<em>Rabbids&nbsp;Invasion.<\/em>&nbsp;This episode is named&nbsp;<em><strong>Rabbids&nbsp;Invasion: Mission to Mars<\/strong><\/em>&nbsp;and it will be released at the end of the summer on France Television and on Netflix worldwide in 2022.&nbsp;&nbsp;<\/p>\n\n\n\n<p>We handled the storyboard, previz and editing stages&nbsp;internally&nbsp;while&nbsp;the following steps&nbsp;were&nbsp;done by&nbsp;partners studios:&nbsp;<a href=\"https:\/\/www.supamonks.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Supamonks<\/a>, which worked&nbsp;mostly on Blender,&nbsp;<a href=\"https:\/\/anima.fi\/\" target=\"_blank\" rel=\"noreferrer noopener\">Anima<\/a>&nbsp;for&nbsp;a&nbsp;great&nbsp;part of&nbsp;the animation&nbsp;and&nbsp;<a href=\"https:\/\/www.miroslav-pilon.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Miroslav Pilon&nbsp;studio<\/a>&nbsp;for the sounds and voices.&nbsp;To facilitate the production the movie was divided into 3 acts of about&nbsp;23&rsquo;&nbsp;each. We&nbsp;chose to&nbsp;use&nbsp;the version&nbsp;2.83&nbsp;of Blender&nbsp;because&nbsp;it was a&nbsp;LTS&nbsp;and&nbsp;we needed stability on the&nbsp;project.&nbsp;<\/p>\n\n\n\n<p>The challenge for us &ndash; apart from using Blender&nbsp;in&nbsp;this kind of big&nbsp;production for the first time, which was&nbsp;pretty exciting&nbsp;&ndash; was to offer to our movie director a very flexible previz environment so that he and the artists could concentrate on the quality and unleash their creativity.&nbsp;<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Update 12-jan-22: All add-ons are available now below<\/strong><\/p>\n<\/blockquote>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Shot Manager: <\/strong><a href=\"https:\/\/can01.safelinks.protection.outlook.com\/?url=https%3A%2F%2Fgithub.com%2Fubisoft%2Fshotmanager&amp;data=04%7C01%7CJulien.Blervaque%40ubisoft.com%7C9c7f391f92e34f9fa6a208d9d5aaf16e%7Ce01bd386fa514210a2a429e5ab6f7ab1%7C0%7C0%7C637775752442549398%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=MNy2u2o6xx0BQFcBUSOSzlqZiksDJnOjKwwgYxPdsqA%3D&amp;reserved=0\">https:\/\/github.com\/ubisoft\/shotmanager<\/a><\/li>\n\n\n\n<li><strong>Stamp Info:<\/strong> <a href=\"https:\/\/can01.safelinks.protection.outlook.com\/?url=https%3A%2F%2Fgithub.com%2Fubisoft%2Fstampinfo&amp;data=04%7C01%7CJulien.Blervaque%40ubisoft.com%7C9c7f391f92e34f9fa6a208d9d5aaf16e%7Ce01bd386fa514210a2a429e5ab6f7ab1%7C0%7C0%7C637775752442549398%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=hUx%2FjT7CCxwiaHolEQqtUt1gBdS0dRbh3tAmxyAR0Us%3D&amp;reserved=0\">https:\/\/github.com\/ubisoft\/stampinfo<\/a><\/li>\n\n\n\n<li><strong>Mixer:<\/strong> <a href=\"https:\/\/can01.safelinks.protection.outlook.com\/?url=https%3A%2F%2Fgithub.com%2Fubisoft%2Fmixer&amp;data=04%7C01%7CJulien.Blervaque%40ubisoft.com%7C9c7f391f92e34f9fa6a208d9d5aaf16e%7Ce01bd386fa514210a2a429e5ab6f7ab1%7C0%7C0%7C637775752442549398%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=zlkZez0D6pvpf3e%2BjXJuDL%2BFTAQcee1YuIlJY%2FQnhr0%3D&amp;reserved=0\">https:\/\/github.com\/ubisoft\/mixer<\/a><\/li>\n\n\n\n<li><strong>Video Tracks<\/strong>&nbsp;(experimental): <a href=\"https:\/\/can01.safelinks.protection.outlook.com\/?url=https%3A%2F%2Fgithub.com%2Fubisoft%2Fvideotracks&amp;data=04%7C01%7CJulien.Blervaque%40ubisoft.com%7C9c7f391f92e34f9fa6a208d9d5aaf16e%7Ce01bd386fa514210a2a429e5ab6f7ab1%7C0%7C0%7C637775752442549398%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=AIwocQiSNNn%2FRQxddJcU7L1SoO7b0FLClNG73z4q5XA%3D&amp;reserved=0\">https:\/\/github.com\/ubisoft\/videotracks<\/a><\/li>\n\n\n\n<li><strong>Asset Bank<\/strong> (archive): <a href=\"https:\/\/can01.safelinks.protection.outlook.com\/?url=https%3A%2F%2Fgithub.com%2Fubisoft%2Fassetbank&amp;data=04%7C01%7CJulien.Blervaque%40ubisoft.com%7C9c7f391f92e34f9fa6a208d9d5aaf16e%7Ce01bd386fa514210a2a429e5ab6f7ab1%7C0%7C0%7C637775752442549398%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=ZGDSIvDUL2Z3J9c4CD4M2ml4WfWrdrE5UQS7tHfyZn8%3D&amp;reserved=0\">https:\/\/github.com\/ubisoft\/assetbank<\/a><\/li>\n<\/ol>\n\n\n\n<a href=\"#the-production\" class=\"is-heading-anchor\"><h2 class=\"wp-block-heading\" id=\"the-production\">The production&#8239;<\/h2><\/a>\n\n\n\n<p><strong>Yannick Castaing (VFX&nbsp;Supervisor):<\/strong>&nbsp;<\/p>\n\n\n\n<p>Before talking about this special Episode of&nbsp;Rabbid&nbsp;Invasion I want to talk about the&nbsp;incubator team of&nbsp;Ubisoft Film &amp;&nbsp;Televison: we have used Blender for many tests, trailers and small exercises that were made only to convince&nbsp;key people inside our&nbsp;studio, so we had to focused on the creativity more than on the technique.<\/p>\n\n\n\n<p>We had to onboard different people from different backgrounds, and after a few days of training it was&nbsp;easy, even with people less technical, to use Blender for their job. I do believe the best asset of Blender is to be able to break the big wall between 2D and 3D artists and make them work together easily (even if they are using the same tools differently).&nbsp;Furthermore, as a proof that Blender is stronger than ever, the quality of what we made was on the exact same level as other DCCs.&nbsp;<\/p>\n\n\n\n<p>On this&nbsp;Rabbids&nbsp;episode we were a small team&nbsp;in&nbsp;production, mixing&nbsp;skills like&nbsp;storyboarding, layout and&nbsp;look&nbsp;dev:&nbsp;3&nbsp;artists&nbsp;were&nbsp;coming from the&nbsp;usual&nbsp;storyboard&nbsp;department&nbsp;and 2&nbsp;others had a&nbsp;3D&nbsp;background. The&nbsp;result&nbsp;was&nbsp;so impressive that&nbsp;our&nbsp;broadcaster&nbsp;was amazed when they saw the previz, considering that it was&nbsp;much&nbsp;more immersive than a classic animatic.&nbsp;&nbsp;<\/p>\n\n\n\n<p>But&nbsp;the consequences were bigger than aesthetic and storytelling, because Supamonks, our CG partner, had all the right data about assets, lighting, and space. Even the&nbsp;colorscripter&nbsp;told us that they had their best work experience, because they had&nbsp;low definition assets with pre-lighting giving them a solid base to&nbsp;iterate!&nbsp;&nbsp;<\/p>\n\n\n\n<p>Nevertheless, this organic team&nbsp;suffered&nbsp;from the distance&nbsp;(because of the pandemic), and&nbsp;we had to find solutions in order to work and communicate well.&nbsp;Blender&nbsp;2.8x in&nbsp;production&nbsp;was a first for some of them and&nbsp;created some aftermath in other steps.&nbsp;This version of Blender changed so many things in the workflow that people&nbsp;had&nbsp;to&nbsp;shift their habits and mindset&nbsp;to embrace it well.&nbsp;The price of mixing 2D and 3D can also be heavy for&nbsp;storyboarders, as everyone ask them to&nbsp;work quickly and effective&nbsp;and&nbsp;we&nbsp;sometimes lost&nbsp;the&nbsp;flexibility&nbsp;of drawings&nbsp;but gained some consistency because of&nbsp;the 3D assets.&nbsp;<\/p>\n\n\n\n<p>Our partner&nbsp;Supamonks&nbsp;was also very&nbsp;interested&nbsp;in&nbsp;using Blender on&nbsp;their&nbsp;side, and with my help, they&nbsp;went from zero&nbsp;to a solid pipeline in&nbsp;a&nbsp;few months&nbsp;which allowed them to make final assets final lighting and rendering on&nbsp;this 70 minutes&nbsp;episode.&nbsp;As a first experience it was&nbsp;a&nbsp;tough&nbsp;challenge&nbsp;that&nbsp;they&nbsp;successfully overcome!&nbsp;<\/p>\n\n\n\n<p><\/p>\n\n\n\n<a href=\"#workflow-and-tools\" class=\"is-heading-anchor\"><h2 class=\"wp-block-heading\" id=\"workflow-and-tools\">Workflow and tools<\/h2><\/a>\n\n\n\n<p><strong>Julien&nbsp;Blervaque&nbsp;(Sr. Tools TD, Head of UX):<\/strong>&nbsp;<\/p>\n\n\n\n<p>I&nbsp;was in charge of&nbsp;the graphic workflow and to do so I took inspiration in my experience of live action filmmaking and stages. Thanks to our TD team we designed and developed several tools that quickly became the backbone of our pipeline.<br><strong>Good news is several of these tools will be released soon to the community!!!&nbsp;<\/strong><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Stamp Info<\/h4>\n\n\n\n<p>As you know in production it is mandatory to keep track of the context and origin of every rendered image in order to closely follow the advancement of the project. Blender already has a feature to write metadata on&nbsp;pictures&nbsp;but we needed more flexibility and additional information, such as the frame index of the image in various time systems (3D, edit&hellip;). We also wanted to have a more customizable layout. I then started to write my first add-on for Blender&nbsp;?<\/p>\n\n\n\n<figure data-wp-context='{\"imageId\":\"69a902467f2cb\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"69a902467f2cb\" class=\"wp-block-image size-full is-resized rounded wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"549\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.blender.org\/wp-content\/uploads\/2021\/06\/StampInfo_RenderScreen-1024x549-1.jpg\" alt=\"\" class=\"wp-image-77166\" style=\"width:800px;height:417px\" srcset=\"https:\/\/www.blender.org\/wp-content\/uploads\/2021\/06\/StampInfo_RenderScreen-1024x549-1.jpg 1024w, https:\/\/www.blender.org\/wp-content\/uploads\/2021\/06\/StampInfo_RenderScreen-1024x549-1-512x275.jpg 512w, https:\/\/www.blender.org\/wp-content\/uploads\/2021\/06\/StampInfo_RenderScreen-1024x549-1-768x412.jpg 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Image framing generated by Stamp Info and the add-on UI on the right<\/figcaption><\/figure>\n\n\n\n<p>I found&nbsp;the&nbsp;Python API&nbsp;very&nbsp;open and powerful. This&nbsp;allowed&nbsp;me&nbsp;to&nbsp;import&nbsp;Pillow, a common graphic library, to create an image with all the specified information, image&nbsp;that&nbsp;I&nbsp;could combine afterwards with the rendered picture thanks to a process based on the VSE&nbsp;and on the&nbsp;generation&nbsp;of a temporary scene.&nbsp;This got integrated&nbsp;pretty&nbsp;well&nbsp;in the pipeline, it can be used as a standalone tool or be called by script as it is the case with <em><strong>Shot Manager<\/strong><\/em>.&nbsp;<\/p>\n\n\n\n<p>However&nbsp;the&nbsp;add-on&nbsp;has&nbsp;an important limitation&nbsp;that we&nbsp;couldn&rsquo;t&nbsp;overcome&nbsp;when in&nbsp;production.&nbsp;During a rendering script&nbsp;execution&nbsp;the whole UI of&nbsp;Blender&nbsp;is frozen and there is no easy way to display the rendered images,&nbsp;to update a progress bar nor to interrupt the process&nbsp;(in case&nbsp;the&nbsp;images appear&nbsp;invalid&nbsp;for example).&nbsp;<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Shot Manager<\/h4>\n\n\n\n<p>It quickly appeared to me that&nbsp;in order&nbsp;to let the director experiment and concretize his vision in a short amount of time&nbsp;it&nbsp;was<strong><em>&nbsp;<\/em><\/strong>crucial&nbsp;<strong><em>to iterate fast in the way sequences are shot and cut.<\/em><\/strong>&nbsp;<\/p>\n\n\n\n<p>To do so I developed an add-on named <em><strong>Shot Manager<\/strong><\/em> that introduces a true shot entity in Blender scenes (by shot I mean not only a point of view,&nbsp;which&nbsp;is provided by a camera, but also a recording time) and a wide and powerful set of tools to build and edit sequences in real-time directly in the 3D context.&nbsp;<\/p>\n\n\n\n<p>The key idea lies in the analogy with shooting a continuous live action from several real cameras.&nbsp;That&rsquo;s why&nbsp;our&nbsp;sequence scenes&nbsp;contain an action&nbsp;with&nbsp;a plausible timing, we&nbsp;then&nbsp;introduce several&nbsp;cameras&nbsp;and the tool defines when the cameras are&nbsp;recording&nbsp;and in which order they&nbsp;appear in the edit.&nbsp;It also provides a play of the shots directly in the viewport, supporting ellipses and jump back in time.&nbsp;<\/p>\n\n\n\n<p>In practice we&nbsp;were able to&nbsp;reach the fast iterations&nbsp;by&nbsp;working on several axes:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Spending less time on the storyboard and more time in 3D:<\/strong>&nbsp;The&nbsp;2D animatic&nbsp;of each act, made in&nbsp;Toon&nbsp;Boom&nbsp;Storyboard Pro,&nbsp;was quite rough&nbsp;in terms of drawings. The director gave a close attention to the&nbsp;timing of the sequences and a pre timing&nbsp;for&nbsp;their shots.&nbsp;The animatic was then exported as an XML and a bunch of videos, one for each shot. Then&nbsp;for each sequence we ran a tool that created&nbsp;a Blender file,&nbsp;merged in the required 3D assets&nbsp;from the bank and&nbsp;read the XML to generate the shots and their associated camera, with the videos as background&nbsp;image.&nbsp;The artists then made the action and start working on the camera placements&nbsp;and shot timings.<br> <br><\/li>\n<\/ul>\n\n\n\n<figure data-wp-context='{\"imageId\":\"69a902467f968\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"69a902467f968\" class=\"wp-block-image aligncenter size-full rounded wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.blender.org\/wp-content\/uploads\/2021\/06\/Act01_Seq0060_Sh0010_Stb-1024x576-1.png\" alt=\"\" class=\"wp-image-77168\" srcset=\"https:\/\/www.blender.org\/wp-content\/uploads\/2021\/06\/Act01_Seq0060_Sh0010_Stb-1024x576-1.png 1024w, https:\/\/www.blender.org\/wp-content\/uploads\/2021\/06\/Act01_Seq0060_Sh0010_Stb-1024x576-1-512x288.png 512w, https:\/\/www.blender.org\/wp-content\/uploads\/2021\/06\/Act01_Seq0060_Sh0010_Stb-1024x576-1-768x432.png 768w, https:\/\/www.blender.org\/wp-content\/uploads\/2021\/06\/Act01_Seq0060_Sh0010_Stb-1024x576-1-480x270.png 480w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Drawing from the Storyboard step<\/figcaption><\/figure>\n\n\n\n<figure data-wp-context='{\"imageId\":\"69a902467fe11\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"69a902467fe11\" class=\"wp-block-image aligncenter size-large rounded wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/code.blender.org\/wp-content\/uploads\/2021\/06\/Act01_Seq0060_Sh0010_Previz-1024x768.png\" alt=\"The same action in the Previz step\" class=\"wp-image-5725\" style=\"object-fit:cover\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">The same action in the Previz step <\/figcaption><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Visualizing&nbsp;the&nbsp;sequences&nbsp;in real-time:<\/strong>&nbsp;Thanks to the playback provided by the tool directly in the viewport the artists and the director were able to&nbsp;immediately&nbsp;view&nbsp;what the sequence&nbsp;was looking&nbsp;like and quickly do modifications. Shot Manager also allowed&nbsp;edit&nbsp;variations to be saved and restored.&nbsp;<br>Here it&nbsp;is&nbsp;worth saying that we were a bit deceived by the performances of the viewport:&nbsp;Eevee is really&nbsp;efficient&nbsp;and&nbsp;the graphics went well&nbsp;but on the scenes&nbsp;containing&nbsp;a dozen of rigged characters&nbsp;or so,&nbsp;although&nbsp;quite simple for the previz,&nbsp;the framerate was CPU bound and we hardly went over 15fps. We then had to develop a&nbsp;playblast&nbsp;video&nbsp;rendering feature for more accurate visual check.<br> <br><\/li>\n\n\n\n<li><strong>Checking&nbsp;the edit of the whole act fast:<\/strong>&nbsp;Once a sequence&nbsp;reached&nbsp;a state that was fine enough for the director its shots were rendered as videos and an edit XML was generated. The director&nbsp;could then&nbsp;load the whole act in the edit software, with the latest version of all the sequences and shots, do some changes in the edit and regenerate the&nbsp;XML. Back&nbsp;into the&nbsp;3D scene&nbsp;of the&nbsp;sequence&nbsp;<em><strong>Shot Manager<\/strong><\/em>&nbsp;was able to update the timing of the shots from the new edit.&nbsp;<br> <br><\/li>\n<\/ul>\n\n\n\n<figure data-wp-context='{\"imageId\":\"69a902468039b\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"69a902468039b\" class=\"wp-block-image size-full is-resized rounded wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"550\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.blender.org\/wp-content\/uploads\/2021\/06\/ShotManager_screen-1024x550-1.jpg\" alt=\"\" class=\"wp-image-77167\" style=\"width:800px\" srcset=\"https:\/\/www.blender.org\/wp-content\/uploads\/2021\/06\/ShotManager_screen-1024x550-1.jpg 1024w, https:\/\/www.blender.org\/wp-content\/uploads\/2021\/06\/ShotManager_screen-1024x550-1-512x275.jpg 512w, https:\/\/www.blender.org\/wp-content\/uploads\/2021\/06\/ShotManager_screen-1024x550-1-768x413.jpg 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Shot Manager and its related OpenGl overlays in the viewport and in the timeline<\/figcaption><\/figure>\n\n\n\n<p>Quick overview of the features of <strong><em>Shot Manager<\/em><\/strong>:&nbsp;<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Creation of shots from&nbsp;scene cameras&nbsp;and of sequences from those shots, plus sequence variations&nbsp;<\/li>\n<\/ol>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>Non-linear real-time play of the sequences&nbsp;<\/li>\n<\/ol>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>Scene action and sequence edit global&nbsp;retime&nbsp;<\/li>\n<\/ol>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li>Global control on camera video and sound backgrounds&nbsp;<\/li>\n<\/ol>\n\n\n\n<ol start=\"5\" class=\"wp-block-list\">\n<li>Sequence batch rendering, with Eevee, Cycle and custom&nbsp;playblast&nbsp;<\/li>\n<\/ol>\n\n\n\n<ol start=\"6\" class=\"wp-block-list\">\n<li>EDL import and export based on&nbsp;OpenTimelineIO&nbsp;<\/li>\n<\/ol>\n\n\n\n<ol start=\"7\" class=\"wp-block-list\">\n<li>Grease pencil sketching per shot (still in development)&nbsp;<\/li>\n<\/ol>\n\n\n\n<ol start=\"8\" class=\"wp-block-list\">\n<li>Edit&nbsp;back and forth&nbsp;with&nbsp;VSE&nbsp;<\/li>\n<\/ol>\n\n\n\n<ol start=\"9\" class=\"wp-block-list\">\n<li>&hellip;&nbsp;<\/li>\n<\/ol>\n\n\n\n<p>This add-on received a lot of attention regarding its UX and UI in order to make it as simple to use as possible&nbsp;in spite of&nbsp;the number&nbsp;of features. It will come with documentation and tutorials.&nbsp;<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Video Tracks<\/strong><\/h4>\n\n\n\n<p>Having a video editing tool integrated inside the work&nbsp;environment&nbsp;is really appreciated in production.&nbsp;It&nbsp;considerably extents&nbsp;what can be done in the 3D viewport,&nbsp;providing&nbsp;sound support for instance. It is also of a great help for&nbsp;many casual pipeline related actions such as video previews.&nbsp;The&nbsp;Video&nbsp;Sequence&nbsp;Editor&nbsp;appeared a bit limited for our needs though and we thought having a more classical approach of the tracks in terms of UI would make it more efficient&nbsp;for the artists. We then&nbsp;developed this add-on named<strong> <em>Video Tracks<\/em><\/strong>&nbsp;to introduce a&nbsp;set of track headers and various tools to facilitate the&nbsp;manipulation of&nbsp;time, markers and&nbsp;clips.&nbsp;We used the VSE quite extensively during the second part of the production to compare edits and batch export shot videos with the final voices.&nbsp;<\/p>\n\n\n\n<p>Some of the limitations we&nbsp;bumped into&nbsp;are:&nbsp;no separation between audio and video&nbsp;tracks,&nbsp;the number of tracks&nbsp;is&nbsp;limited to 32,&nbsp;slowdowns to navigate between markers when there are too many,&nbsp;sampling&nbsp;mode&nbsp;of the viewport&nbsp;when the image is zoomed&nbsp;is&nbsp;Nearest,&nbsp;invalid time duration for long MP3&hellip;&nbsp;We also regretted that it was not possible to use the output of a VSE as a texture in another scene.&nbsp;<\/p>\n\n\n\n<p>Once this add-on&nbsp;is&nbsp;released&nbsp;I believe it could be used as a good basis for discussions about improvements that could be introduced natively in the VSE.&nbsp;<\/p>\n\n\n\n<figure data-wp-context='{\"imageId\":\"69a9024680ae4\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"69a9024680ae4\" class=\"wp-block-image size-full is-resized rounded wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"550\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.blender.org\/wp-content\/uploads\/2021\/06\/VideoTracks_screen-1024x550-1.png\" alt=\"\" class=\"wp-image-77170\" style=\"width:800px\" srcset=\"https:\/\/www.blender.org\/wp-content\/uploads\/2021\/06\/VideoTracks_screen-1024x550-1.png 1024w, https:\/\/www.blender.org\/wp-content\/uploads\/2021\/06\/VideoTracks_screen-1024x550-1-512x275.png 512w, https:\/\/www.blender.org\/wp-content\/uploads\/2021\/06\/VideoTracks_screen-1024x550-1-768x413.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Track headers and marker navigation bar from our add-on Video Tracks<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Asset Bank<\/h4>\n\n\n\n<p>Our TD department developed several&nbsp;production specific&nbsp;tools&nbsp;in order&nbsp;to&nbsp;populate&nbsp;the sequence files&nbsp;with&nbsp;the 3D assets of the project. One of them&nbsp;ensured&nbsp;that&nbsp;the&nbsp;assets contained in these sequence files matched&nbsp;with the casting specified in our in-house production tracking tool, called Gattaca. Another one, named <em><strong>Asset Bank<\/strong><\/em>,&nbsp;was used to link or import new assets from the bank &ldquo;on the fly&rdquo;. It is&nbsp;simple&nbsp;and&nbsp;efficient,&nbsp;and&nbsp;although&nbsp;probably&nbsp;obsolete&nbsp;soon&nbsp;with the asset manager&nbsp;that is about to come&nbsp;natively&nbsp;in&nbsp;Blender&nbsp;it helped us&nbsp;a lot&nbsp;at the time. We will share it as an archive&nbsp;as&nbsp;we believe it could still be of some interest for the community.&nbsp;<br><\/p>\n\n\n\n<figure data-wp-context='{\"imageId\":\"69a9024680ff8\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"69a9024680ff8\" class=\"wp-block-image size-full is-resized rounded wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"595\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.blender.org\/wp-content\/uploads\/2021\/06\/AssetBank_screenshot.jpg\" alt=\"\" class=\"wp-image-77171\" style=\"width:800px\" srcset=\"https:\/\/www.blender.org\/wp-content\/uploads\/2021\/06\/AssetBank_screenshot.jpg 1024w, https:\/\/www.blender.org\/wp-content\/uploads\/2021\/06\/AssetBank_screenshot-512x298.jpg 512w, https:\/\/www.blender.org\/wp-content\/uploads\/2021\/06\/AssetBank_screenshot-768x446.jpg 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">The user interface of Asset Bank add-on<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Mixer<\/h4>\n\n\n\n<p>And&nbsp;of course&nbsp;there is&nbsp;<strong><em>Mixer<\/em><\/strong>, our tool for real-time collaboration, to which we gave a lot of&nbsp;attention&nbsp;and which was recently released in version 1.0, with&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/ubisoft-mixer.readthedocs.io\/en\/latest\/index.html\" target=\"_blank\">documentation and tutorials<\/a>.&nbsp;Although not used&nbsp;in practice as extensively as we initially thought&nbsp;because&nbsp;it was not&nbsp;yet&nbsp;production&nbsp;ready, <em>Mixer <\/em>helped us to validate the concept that&nbsp;work&nbsp;sessions including artists and the director around the same sequence&nbsp;leads&nbsp;to quick and&nbsp;original&nbsp;results.&nbsp;<br><\/p>\n\n\n\n<figure data-wp-context='{\"imageId\":\"69a9024681568\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"69a9024681568\" class=\"wp-block-image size-full rounded wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"257\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.blender.org\/wp-content\/uploads\/2021\/06\/mixer_material-1024x257-1.gif\" alt=\"\" class=\"wp-image-77173\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">With <em>Mixer <\/em>artits can work at the same time on the same data (click for animation)<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<a href=\"#adoptingblenderin-production\" class=\"is-heading-anchor\"><h2 class=\"wp-block-heading\" id=\"adoptingblenderin-production\">Adopting&nbsp;Blender&nbsp;in production<\/h2><\/a>\n\n\n\n<p><strong>Yannick:<\/strong>&nbsp;<\/p>\n\n\n\n<p>Switching to another software is something critical, and many studios are afraid to&nbsp;discover&nbsp;something new and different, because it costs a lot of time and money. Blender&nbsp;is sometimes&nbsp;very&nbsp;different&nbsp;from&nbsp;other&nbsp;DCCs&nbsp;in its&nbsp;mindset&nbsp;and its&nbsp;workflow and as a&nbsp;result&nbsp;people often do not use it at its&nbsp;full&nbsp;potential.&nbsp;&nbsp;<\/p>\n\n\n\n<p>I then personally think that one element can be improved to help onboarding studios.&nbsp;We have&nbsp;so&nbsp;many tutorials by artists for artists (and it&rsquo;s&nbsp;awesome!), and even in the Blender&nbsp;Cloud, you have a lot of resources about&nbsp;creation or how to use Blender as an artist.&nbsp;However&nbsp;there are almost no&nbsp;specific&nbsp;tutorials&nbsp;and examples&nbsp;about&nbsp;workflows and how it is used in&nbsp;studios,&nbsp;nor&nbsp;best practices&nbsp;regarding&nbsp;links&nbsp;and collections.&nbsp;These are topics&nbsp;Blender Cloud&nbsp;may&nbsp;propose.&nbsp;<\/p>\n\n\n\n<p><\/p>\n\n\n\n<a href=\"#conclusion\" class=\"is-heading-anchor\"><h2 class=\"wp-block-heading\" id=\"conclusion\">Conclusion<\/h2><\/a>\n\n\n\n<p>This production on Blender&nbsp;was a great experience for us.&nbsp;We were able to&nbsp;integrate the application into&nbsp;our&nbsp;in-house pipeline and connect it to the other applications&nbsp;quite easily&nbsp;thanks&nbsp;to the strength of the Python API.&nbsp;In spite of&nbsp;some features&nbsp;that would need&nbsp;some maturity&nbsp;we&nbsp;had the confirmation that Blender is production ready and comes with&nbsp;tools&nbsp;that&nbsp;can&nbsp;really&nbsp;push&nbsp;up our way of&nbsp;working&nbsp;in&nbsp;terms of creativity.&nbsp;<\/p>\n<\/body><\/html>\n","protected":false},"excerpt":{"rendered":"<p>Julien Blervaque and Yannick Castaing, Ubisoft Film &#038; Television, share the experience of using Blender for Rabbids Invasion: Mission to Mars.<\/p>\n","protected":false},"author":4,"featured_media":77250,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[35],"tags":[131],"class_list":["post-77164","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-user-stories","tag-user-stories"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.blender.org\/wp-json\/wp\/v2\/posts\/77164","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.blender.org\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.blender.org\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.blender.org\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blender.org\/wp-json\/wp\/v2\/comments?post=77164"}],"version-history":[{"count":10,"href":"https:\/\/www.blender.org\/wp-json\/wp\/v2\/posts\/77164\/revisions"}],"predecessor-version":[{"id":93101,"href":"https:\/\/www.blender.org\/wp-json\/wp\/v2\/posts\/77164\/revisions\/93101"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.blender.org\/wp-json\/wp\/v2\/media\/77250"}],"wp:attachment":[{"href":"https:\/\/www.blender.org\/wp-json\/wp\/v2\/media?parent=77164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blender.org\/wp-json\/wp\/v2\/categories?post=77164"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blender.org\/wp-json\/wp\/v2\/tags?post=77164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}