Before We Begin...
TLDR: Python is widely used in making movies. This guide is meant for those with at least a basic understanding of Python. You will need to download 3rd party tools to follow along with this guide.
Why does this guide exist?
Why use Python only for data science and web development, when you can also use it to make movie magic? The visual effects and animation industries offer very exciting work that is abundant in opportunities ripe for the taking by software engineers and developers alike. If you have ever tried to land a job as a technical director or have just been interested in pipeline development, you would know how few resources about VFX pipeline development specifically are available out there. This guide is here to help remedy this lack of concise, structured information about VFX pipeline and workflow tools development.
Oddly enough, pipeline systems generally do not vary much from studio to studio, since the core concepts and workflows involved are more or less the same, with varying levels of technical complexity and features, of course. This means that the ideas laid out here will ring true if you work in a real-world post-production environment. However, please note that we will be creating a bare-bones pipeline system, not a comprehensive one, as a fully fleshed out production-grade pipeline system can get very complex, yet never truly complete due to the ever-changing nature of VFX work. It’s ultimately up to you if you want to continue building on the foundations laid out in this guide and I encourage you to do so!
Oddly enough, pipeline systems generally do not vary much from studio to studio, since the core concepts and workflows involved are more or less the same, with varying levels of technical complexity and features, of course. This means that the ideas laid out here will ring true if you work in a real-world post-production environment. However, please note that we will be creating a bare-bones pipeline system, not a comprehensive one, as a fully fleshed out production-grade pipeline system can get very complex, yet never truly complete due to the ever-changing nature of VFX work. It’s ultimately up to you if you want to continue building on the foundations laid out in this guide and I encourage you to do so!
Who is this guide for?
This guide is for those who really, really like Python programming and have an interest in the technical side of visual effects for film and/or 3D animation. We will be going through the fundamental steps of building a pipeline system that can support artists working on a VFX project by handling and structuring the data involved in the post-production process. All of this could be very beneficial to those looking to get into the VFX/animation industry or the development enthusiasts, who want to expand their knowledge of how programming can be used for creative purposes.
What are the prerequisites for following this guide?
You will most definitely need to know at least the fundamentals of Python object-oriented programming, since the purpose of this guide is not to teach you all things Python. We will also be using a number of external Python libraries and APIs, relevant further reading and documentation links will be provided throughout. Some knowledge of general relational database concepts and industry standard VFX software packages such as Autodesk Maya and The Foundry’s Nuke would also be beneficial, but not essential, as the relevance of these may change over time and we won't be too concerned with DCC-specific functionality.How do I know if my Python skills are good enough for me to follow along?
Have a look at www.tutorialspoint.com/python – if at a glance you are familiar with the majority of topics covered, you’re good to go! Otherwise, that website is a great place to start improving your understanding of Python programming.What are we going to be using for this guide?
For programming, we will be using the following free open source tools:- Python 3.4 (for just about everything);
- PyCharm Community (an IDE for Python development);
- DB Browser for SQLite (an application for displaying and editing SQLite database files);
- git (for storing, accessing, versioning and distributing our code repository);
- Autodesk Maya (for 3D work);
- The Foundry’s Nuke (for 2D work);
Comments
Post a Comment