 I'm Flavio Perez, a city of animation company called Le Fais Special, based in Montpellier, in France. And I'm going to talk about this feature film, our third one we made during the COVID, and how we did it. So just a little bit of background. It's September 1980 and Iraq just declared war to Iran. So it's a war that will last for seven years. Abadan here, southwest of Iran. It's a strategic town with one of the world's largest refineries, which is this huge building. There will be a siege of Abadan, which will last for a year, and the story takes place during that siege. And at the beginning of the movie, many people are leaving or joining the army to fight, and some decide to stay. It's a case of our hero, Homed. His family is leaving, and his elder brother is joining the army, but he decides to stay with his grandfather to help him. And he will make a lot of attaching personalities in the journeys to about start and maybe love. Let's see that in the movie. So the series feature film, the production is over, and the movie is going through its final post-production stage, including sound mixing, and will be released later in 2023. You might hopefully see it in festivals before that. So the movie was screened by Jawad Jawari, the director, Sepideh Farsi. She's a director from live action, and it was his first animation movie. The art direction, you will see that, is very strong. It's coming from Zaven Najar. He's the one who decided to do this movie in Blender seven years ago, and it was produced by Sebastian O. There is a lot of partners in the production. I'm not going to name them all, but that will also have an impact on how we do the movie. So as I mentioned, there is strong visual art defining this project. It's made out of illustrator, so it's very full shapes and stuff like that. There is a very specific look, as you can see, of factorial shapes. The work is highly documented, of course, and we can see this in photos from the cinema before it was destroyed and the creation of the sets on the right side. Here was the Mosque here, which was next to the church. You can see it on the photo here, and which was a military place during the siege. So you see very highly detailed illustrator style for the sets. There is color palettes. For example, here the greens, the browns, the blues. There is different style. But the art director was willing to do this movie in Blender, so this is where we step in, and the producer came to see us to ask us how we do that in Blender. So the main idea here is from a storyboard, you create an illustrator file, of course. This illustrator file will be exported as PNG sequences of layers. We'll see that in detail in Blender. We have some tools to create a 3D space. We'll also dig into that later. Then we have three assets, of course, from the characters to props and vehicles and stuff like that. And then the parallax allows us to do some, I mean, this spacing of the layers allows us to create some parallax. And then we go back to After Effects and bring back also the illustrator file to do the compositing on the original material, even in fact, moved around in Blender. So you have the full idea. So this is the preview of the real steps. This is a real pattern, as designed by the pipelinepatterns.com suggestions. And we are going to go through each and every one of those steps, of course, today. So here is the first step, so creating an illustrator file. No, I'm kidding. I'm not going to explain everything. There is a lot of shots in the movie, but we start with the assets. We will need to be organized to handle this, of course. There is 1,800 shots, that's a lot, and 3,000 assets for this movie. So the characters, the first thing. So it's very close to the art style, you know, the illustrator style. You can see here a turnaround of the 3D modeling. There is a lot of cheating here. There is no real casting shadows and stuff like that. It's a fake shadow. There is re-controllers on the shadow, of course. If we need for some cases, or even the shadows on the nose are little geometries with the inverse normals and stuff like that. Here is another example. We can go on forever as there is many characters. And the question is how many characters? Well, there is a lot like 300 main characters just for the, you know, the characters. A lot of variations and stuff like that. Some pets you will see animals at the end. And then a lot of props. Yeah, a lot of them, kids, pets. A lot of cats. And then the main, there is a lot of cats around. This is the main character. He has 30 variations. We decided actually to not do a rig system where you can switch the variations. It's one variation per file. So we avoid issues later on. So then the illustrator file, as I mentioned, so there is a, it's files with a lot of layers. So obviously there is some helpful layers with a perspective and annotation and storyboard and stuff like that. And then it's highly detailed level of shapes. But that is exported as a sequence of PNGs, as I mentioned also. So you can see here the same shot and all the layers are a different PNG. Yeah. There is an average of 16 layers per shot. But the biggest one was like 50 shots, 50 layers, sorry. It's 6,000 pixel wise, 6,000 pixel wise set, which was a nightmare to load on Blender of course in the graphical cards memory and stuff like that. So we had to create tools for making proxies and stuff like that. So the first step usually it's to put the shots in the layers in the shots. So we have this camera plane tool which you import the layers. And then it's pretty easy to set up the scene and move the layers around. You can group them, you can, here you have, when they are important, you have the list of layers, the distance to the camera. So you just play around and create quickly a space. Because that would be useful to put the 3D asset in the right place or having some parallax effect in some cases and stuff like that. Yeah, you see examples. Actually we'll see that at the end on the real layout file. You will see that there is usually two cameras. There is one camera for the set, the projection set and one for the action. So we have two different cameras. They are not linked. So we can move around and create a space. So here we import an asset and then we set up the camera more or less correctly. And then we can still move around the layers. And this information of how we move the layers is important to keep until the end because maybe here they decided to move the plots around a little bit on the left or on the right but for the composition. And this needs to go through at the end until the compositing, of course. Yeah, so that's the real layout file here. And we see the parallax is free now. You have access to that. Then about the characters, we did the rigging on the AutoRig Pro, you might have heard about, made by Lucas Weber. It was supervised by Pascal Ramondin in the studio. We made 80%, I think, of the rigs. And then some students in Germany helped us. So here are some of the tools we made. So this, for example, is the low generation creation of an asset. So we divide by two. It's creating the collection of low polys and stuff in one click. So trying to, you know, little tools to speed up the production and help the team to go faster. The let's dance button, of course. You test the rig, you click the let's dance, it's opening the scene and applying a stupid animation. So you can try out the rig and see if it's jumping around and stuff like that. So let's see if you have skinned it well. Here you have it. Of course. It's not an animation, an animator animation, of course. It's a technique animation. And in the case you are wondering, of course the let's dance button itself, it's dancing. The polka dot system here. It's a stupid thing we did. It's just applying a polka pattern on the character. As you can see, look to the screen. This was made for temporary rigs. Any character was not finished as this shedding system on. So if we started a shot before the rig was finished or even sometimes using another rig, at least the director can see visually that's not the right character in the scene and not asking a retake saying it's not the right character. We know it's not the right character. So we displayed it on screen. Autorigs for props. You import the prop and then there is a one click auto rig system. It's handy for, I mean, to just gain time. And then if you need a specific rig, of course, you will work. This doesn't need a rig. So you just at least can move the object around. This is more tricky. The transfer rig model. So it's a system. If you are happy with a model, you create a complex model. You can select it. So for example, here the clock of the character. And you can select the whole rigging module and then export it and import it in another character. But it's completely connected back to the auto rig. And it's working. It's making us gain a lot of time. Obviously, this character doesn't have a clock, but you will see the result here. Everything is working. So this is why it's useful if you have managed to do something with a soldier's bullet system and you want to apply it to another character. You can just transfer that kind of stuff pretty easily. And it's working. The sanity check. Of course, the sanity check is super important during the production. Some artists can't check that much control point we need. You have to test a lot of things. So in our case, it's just you have a rig, you click a button and maybe you start the video. No, it's okay. And you have a full report made in HTML. So it's playing what's wrong in the scene. You can see all the tests which have been going through and passed the test here. So there is a lot of them. And then you can start the script again with an auto fix option, which is trying to fix as much things as you can depending on how it was programmed every test. So here I started it again. And then we have like six features who were fixed. So it takes 10 seconds. But it's coming. Yeah. And some of them, the script cannot fix them. So you still have three things to think. That helps us a lot to drop completely the number of issues we had during the production, of course. And I'm trying to get back to my notes here. Yeah. It was made out of a Python model called SCARF, Simple Quality Assurance Report and Fixes, made by Damien Dicourot, former city of Ubisoft motion pictures in our head of pipeline at Fortish. It's only adapted by Clément Bernadette who worked with us. There is a almost 100 test well-organized for rigs and props. Here you have some detail. I really recommend medium or bigger project to set up a good sanity check because, you know, provide some love to sanity check you won't regret it. It's very important. In our case, the book tickets drop drastically during the production. So it was very helpful. Now let's go to shots now. So as I mentioned, there is a 1,876 shots in this movie. And that's a lot. It requires to have things organized well and fluent, of course. The first thing is the same builder. We started the production with Blender 291. So it was proxies back then yet, no overrides. And so the limitations are known. But it's a hub where you can port characters, switch to low res, high res, you know, this kind of stuff. You can hear, you see, we go from 40K vertices to almost 400,000 cases vertices. So it's very useful for for animators. This is a hub. You can switch versions, update assets and stuff like that. Usually people won't use that. We have also this in common line. So usually our asset manager, we just use the same techniques to import everything in the scene. But still in case we need we have access to a full GUI interface of this. And then we can switch to later on 293. We can started switching to overlays in some cases we needed. So it was in cases we needed multiple assets, for example, or stuff like that. And then remove assets. You know, this kind of useful stuff. So it was, I mean, I'm just presenting the main features here, but there were many, many features, including renaming, creating caches and exporting and stuff like that. So then playblasts, it's always important to have good playblasts and mark the image. The watermarks are very important. We made these two years ago and I've been evolving it a lot. And it's based on JSON templates and JSON data you provide to the script. It's not only there is a blender add-on, but you can make it work outside of Blender for any other image sequence. And it's a post-process creating also the movie with the image magic and FFN peg. And here you have a playblast from layout. Here you can see also these polka dots are available on these characters. So it's not the final version of the character or maybe not even the right one. Maybe not the right variation or age or something. And the car also was made by the layout. So while the asset is not there, they put the polka dot just to say that's not the final car. Of course. A post-library, we did. It's a concept I made. So yesterday, Daniel Martinez made a flashback. So I'm doing also a flashback. In Blender conference 2015, I presented the idea of creating tools for Blender, outside of Blender, using web sockets to connect the tools with Blender. And I made a prototype for a post-library. We didn't use it for five years. And then this project came. And we had this problem coming back. So I said, okay, let's dig that idea and create something a little bit more up-to-date. And the basic post-library linked with the read was too limited for our case. And even the earlier version of the asset matter which were coming was limited. Our case scenario was many animators across different studios, difficulties to update the rigs or the library files and stuff like that. And also the ability to share poses and animations across characters. So we created this web page. So you connect the interface and then you double click and then the poses apply. You can put different options like flip the pose. You can select part of the rigs and say I want to apply the pose. Basic post-library stuff. Of course, then lip-sync. But the idea was to have it easy to the animators to use. And then you can also mix poses. So with the middle click from the web page you mix, you know, a pose, this kind of stuff. And then it was easy also to save poses. It was very easy to an animator to create its own temporary poses library and then share them with the others. So just if you are happy with the pose, you just click the plus button here. You name the pose. All right. And then you select the bones you want to grab the pose. Here it says it saves 18 bones here. You have a button to do a snapshot. You can, you know, everything is connected in real times. It's very helpful. And it was even more helpful than the lead animator was, I don't know, in Germany and then in Slovenia animators were working. So if any animators put something on the share library, at the same time, instantaneously, the other animators have access to that. So it can be animation cycles, so I'm not showing the animation, but we have animation also and stuff like that. And then finally, the preparing the rendering. So we will get all the files, update the asset, of course, we have to update the assets here, prepare the layers, the render layers, what was the passes, export to export, after effect the camera and 3D objects. We'll see that later. And the collections are created and set up the node trees created. So this was like a checklist of stuff before rendering and going to compositing. Everything was, I mean, 99% of the movie was rendered with Eevee, which was already there. It was great because it was super fast. I mean, this kind of visuals are very fast to render. Apart from some shots made with cycles for the shadow catcher, because Eevee didn't have the shadow catcher stuff. We used Eevee, so it was great. And the sets were not rendered, except on some cases of camera mapping, because it's a 3D object, because all the set are planes and we'll send the planes straight to after effect with the 3D position of each plane and stuff like that. So we didn't have to render the set, so it was also lighter and we don't have to send huge image sequence and stuff like that. So going to compositing, so that means leaving Blender now. Just one presentation of how we set up the scene in after effect. We generate a .bat file with JavaScript things and it's creating the after effect, importing all the layers, importing back the illustrator file, creating the compositions, importing the same position of the layers no matter how they moved. And then we have the scene here. We just have to move around a little bit the renderer image of the characters, for example, and put them in the right place. But we offered the compositing team to have both 3D composition or 2D, depending on the shot. If there is no camera movement, you see there is two compositions here, one with the 2D. They used a 2D one because it's lighter and faster in after effect than the 3D ugly after effect system. But yet if they needed, they can move around stuff. And every character and props as a locator connected to it. So they can still attach an effect to the character if it's moving or the vehicle or stuff like that. So the idea was to have as much things prepared for the artist all the time during the production as we can. So they focus on artistic stuff, of course. We'll see a sequence. The sequence, it's early in the movie. The browser for Omid left for the army. So Omid is taking over his brother's job. It's not the final version. It's also one of the first sequences we did in the movie. So there is some little stuff and it's mixing 2D and 3D as you will see. So you can see the style of the movie. So we see, we keep this strong visual style in the production and effects every visual effects also done directly. So we have these very rounded shapes and stuff like that. So as I mentioned, there is a lot of partners in this project. What it means, it means a lot of studios working because when you find money in other countries, because of this kind of movies are to finance in only one place, it's an adult movie about a war far away. So you have to find money around. So what it means is you find money in Germany. Germany has to work with you. So you have to split work. And there is eight studios in this project engaged in the project. It means also people working from home because of the COVID pandemic. It was last two years. So studios, home workers, everyone has to be connected and working, adding the dependencies, the files, everything. And it's a 3D project. So you have textures. I mean, I don't have to explain to you what the 3D project means. So a lot of things. So of course we have a lot of tools to do that. The usual communication tools, of course, always there. And then for Blender add-ons, we create an add-on called the package manager. So it's an add-on. The graphics will just install. There is a network version of the add-on. But then you have the list of package for the project available. So you list all the, you know, it's saved by department. And the idea is you have a one-click install button. It's installing the add-on. And the dependencies sometimes beep. Dependencies, for example, from other Python libraries. Some of the add-ons are great. Means we can find them because they are on private repositories. You need a token. Usually it's not our add-ons. It's add-ons we bought from the Blender market, for example. And the authors don't put them publicly online on some Git or Git lab. So we have a private copy of them. Then you can install, remove a package. You know, it's very, very easy to set up. And I think the add-ons are updated. So here, for example, there is an add-on which is not updated. So you can see you have a different button. You can also use the auto-update function which is on the top of this, which at the start of Blender would check if there is an update on the... So that was useful for people working remotely, for example, but not for studios. So, you know, we mix things. Then we use Kitsu a lot. You might have heard about it. It's a web application where you put all the, you know, track your world production. So the different shots and the different departments and review the work, have the different version of stuff uploaded. And then we have the comments from the director here, the retakes. Everything was centralized in Kitsu. So it was a two years old version. I think we push it to the limits with that many shots displayed. But this is the final screen where everything is green. So you are happy because the project is over, of course. So a lot of shots. And then we create a tool called Libreflow. It's based on Cabaret Studio. I will just talk about that quickly. The main idea is an application to handle the asset management files, naming conventions, and then synchronization between studios. I'm going to show you what was Libreflow back then because it has involved a lot since we finished the production. But this is what Libreflow looks like. So basically you log in, it's connected to Kitsu. So you log in, you have access to a lot of things on the production, the library of assets, and then the shots, of course. We can filter and search for shots and stuff like that. So open, you have access to departments. Every department has different kind of files, file sound, movies, image sequence, textures. Everything can be handled here. And then you can see the history of the file. So here in the animation file of the shot, so before, I can see that there is nine versions. I have access to the last one. The other ones were created by a guy called Ray. And we didn't download them yet. So I can just maybe download the produced version if I need. Here I have the produced version. And then the most important thing is creating a working copy. So you take a version, a published version, and you create your own version so you can work on it and then you'll be able to publish it later. So I made a copy of the version nine for me. So in the history, I can see that there is a working copy for me. And then I can just double click in its opening blender. And I mean, I can work on the file, obviously. I won't make any changes here. But the idea is then you publish the file. So you usually put a comment. So you know the history of modifications and you know what's changed on the file. So you can go back to a produced version if the directors want a previous version of the animation, you know, this kind of stuff. And that's it. We have the copy. There is many actions we create here, send movies to kids in one click. So to avoid people looking around in the file system where is the file, you know, we have, we included a render, a little render farm system inside the tool. So every play that was also sent to another computer, for example, opening RV on the computer. Opening RV on this kind of software is also preset combination. There is many things and then all the synchronization between the studios was made with Libreflow where you can say I want, I'm going to work on the animation file, for example. So I want all the dependencies and grabbing the dependencies and unloading them. To vision Libreflow, Libreflow is based on cabaret. So cabaret is a framework. You will still need to create the flow and the actions and describe how you want to do your production, but it's still a great framework, providing an easy work for modeling workflow, metadata persistence and taking care of saving stuff in the database, automatic GUI. So you just type Python in. You don't, you never say I want a button or something. It's just creating the buttons for you. So you just focus on the workflow. But you also have access to the workflow as a Python module if you need, in any other script you are doing. And live update also, that's great because all the cabaret sessions open. If someone in France opened Libreflow and then someone else in Germany, they are connected together. So if someone updates something, the other one gets a signal that something has changed, so the interface is updated. And then you just type, actually it's based on pipe. So people in Libreflow that's surrounded will just install all the dependencies needed for work. So it's automatic. So it was very fast to deploy the tool in someone's space. If you're interested, we can talk about that later. So creating this kind of project is a big stack of tools. Some I presented today. Some I didn't have time to present. Some are third-party tools. There is, you know, a lot of them. Most of them are available on our GitLab. Most of the ones named here are available. And then on the top part, third-party tools we bought and help us a lot. And apart from the, obviously, the DCC's Illustrator and AfterEffect, everything here is open source. Everything here is GPL, of course. So we can do a feature film with mostly open source tools and software. And it's great and amazing and very thankful at the community for this. Some statistics, because it's always funny to see some numbers and realize, you know, we almost got 100,000 publishers on the file system we had. We put more than 100,000 comments on Kitsu and 26,000 movies uploaded to Kitsu also. So this is the kind of numbers we have in the... It's a medium-sized feature film. It's not, you know, but it's still impressive numbers. So as I mentioned, you can have access to this code on our GitLab. 95%, at least. Some of the scripting are not shared because they are completely useless outside of a specific context. So they didn't finish on GitLab, but most of it is here. Here is some contact information, of course. You can find us on the web. We have a tech blog. We are going to make more articles in the incoming days and weeks. So just go back to see more updated stuff. And just to finish, I'm going to show some video of the ambience on the different studios while I'm thinking people involved in the project. I mean, my mouse here. So I will just thank Damien Picard, who I've been working with for 10 years and helped create most of the tools we have seen today. But Pascal Aramondi, for the rigging system, Baptiste Delos, who made Libreflow with me, he arrived just days before the first lockdown of the pandemic. We didn't have time to meet and he was locked in his place. Clément Natalin for our production manager for building the building. Everyone involved, of course. And then the studios. So Studio Soy, Tric Film, Daywalker, Amopex, La Station, La Fabrique d'Image, Blue Faces. To name a few people here, Mathias, Sofia, Patrick. Thanks for the patience and feedback. I didn't mention we were the only studio-knowing blender already. The others were newcomers to blenders. So it was also a lot of support, but they were patient and willing to learn blender. So it was great. So very good energy and good-willing in finding solutions. Of course, I mean, all the producers involved the creative team for trusting us on this project. Nadine Yukiko and Langklaude. I want to thank the CNC. It's a French cinema commission and especially the CIT, the Commission on Industry Technique, who helped us to create Libreflow just on the right time. And the Occitanie Film Fund for helping us because we need to create a strong and stabilized creative industry outside of Paris. There are images of our studio, but I'm not explaining every studio here. Special thanks to Zavin, the art director. He was used to guerrilla style and so this world-future film and the pipeline and the workflow was a little bit strange for me, but we did it. And he's starting a movie now, and I wish him the best with this. And finally, the director for the CEPI de Farsi and Sébastien, the producer for the movie, and for allowing me to be here, even if the movie is going to be released next year and showing already all the steps. So that's it. If you have any questions, maybe we can do that now, or otherwise we can meet in the outside. I will be there the world conference. Thank you very much. Any questions? Yeah. So the question is the fact that having all the backgrounds made out of planes doesn't allow really complex movements of camera, and if we are considering texturing some geometries. So yeah, the question is the answer is, yeah, we have limited tension with the system. We cannot turn around, of course. We can still do front panning, trucking and truck out. It's still working. We had some complex shots with even motorbike shots and going through, and I was pretty sure they couldn't do it without camera mapping, but they managed just placing all the planes in the right place to it's fast and as you don't really, I mean, there is time you notice the planes on these kind of shots, but I think there is only, I don't know, 10 to 20 shots with camera mapping. So we had to, in this case, render the sets, but that's it. The movie is not using a lot of camera movement also because of the art style. There is no, you know, because of the art style, there is no blur in the movie, so there is no motion blur. There is no, and this is also why there is that amount of shots compensating some of the stuff you can do with normal camera movements and stuff, and it's over cutting the, to compensate this kind of lack of some stuff we didn't want to use, but yet in some of the movement, I think they made a pretty good job on most of these shots. There is some shots I'm not very happy with, but I mean, it's, I mean, in any of our production, we end up with shots we don't like, but it was just enough. But yeah, we consider camera mapping, of course. Any other question? Yes. Thanks. So the question is that almost all the stack of softwares are open source, except from the 2DCCs which are Illustrator and After Effects, of course, and how far we are for, to find alternatives to this. So if you mention Inkscape, of course, I think there were, was made in Illustrator because the design team started before and was just very used to Illustrator, so sometimes it cannot change everything at the same time. After Effects is more complicated. I mean, this is an ongoing discussion in the industry, how can we replace After Effects? Because Blender is making things better on the compositing side, but yet you have this, in this case, a lot of shapes to create in compositing and stuff. So today this kind of project will be very hard to do, I think, in another software. But we hope for new things. I mean, yeah, it's still great. We are not completely close to non-open source software. Of course, they are doing great jobs also outside the industry. But it depends. I think we will find, depending on who is starting the project, because for example, at the studio, we use a lot of Krita instead of Photoshop, even if we have Photoshop licenses. We try to push that. And some of our artists now switch completely to Krita and don't want to go back to Photoshop. It's also part of the training and changing the mentalities and trying things. I'm not sure. I need to check that some of the big, big layers we have in this movie, I'm not sure. I need to check if your Inkscape can handle them also with 70, 10K layers and stuff like that. But we have to start to continue pushing and try things. Definitely. Anyone else? Yeah, there is one here. So you say we didn't see any Grisp pencil and why we didn't see any Grisp pencil. Actually, you see some and I didn't mention it. So thanks for asking it. We use Grisp pencil in the movie for some effects. So it was already present. Grisp pencil two was there already. And we used it for some water effects, some tears and stuff like that. So the animator can do it on shot directly. And you saw it in the sequence I showed you when it takes a chicken and open it. The rigging system is just basically chicken two legs. So you don't have all the flesh destroyed. And this is Grisp pencil, actually. So we use it. I think there is 50 shots in the movie using Grisp pencil. So yeah, I didn't mention it but thanks. And yeah, so how you will be able to see the movie when it's released. So yeah, fully in theaters whenever they decide to release it. I think they are aiming for a big festival next year before releasing it. At least all the countries involved in the project we have released in theaters and hopefully more places will screen it also. So yeah, it will be in, I mean, it's a feature made for cinema. So it will be the usual cinema time shuttle way of screening things. So hopefully you will be able to see it soon. And I'm really willing to see the last version of this movie and how it's working. We have seen all the shots one by one. Anyone else? No? Well, thank you for being here and we can have a coffee outside. Have a great Blender conference.