I am very excited to be kick off this series called Python for the Anxious Artist (#PyftAA).
Learning anything new, especially programming can be pretty scary for most people. I am certainly not immune to learning anxieties.
After years of programming, creating CG art and teaching, I wanted to help introduce what I believe is one of the single most powerful tools that an artist can have on their tool belt – Python.
If you have been scared, overwhelmed or discouraged by previous attempts at learning Python. I hope Python for the Anxious Artist(#PyftAA) is the series where you will turn your fear into love for coding.
I will hold your hands and show you step by step how you can finally add this powerful tool to way you create.
Introduction
Does the word “programming” make you feel anxious?
Perhaps you have been overwhelmed or discouraged from previous attempts.
3 years ago you said you’ll learn python. But you’ve been procrastinating since.
I have gotten along just fine and besides life is busy now.
Or worst yet you have convinced yourself that artists just aren’t good at programming.
Starting something new can be a rather scary journey.
Especially, learning to program can cause significant anxiety.
However, you can learn anything if you keep trying and are given a good chance at it.
Well, this series will grease those wheels of procrastination and inaction, as we learn python together in just a couple of minutes every week.
This is also a great Python crash course for the individual who might be interested in becoming a Pipeline Technical Director or Software Engineer within the games or movie industry.
Why learn to code/script?
As Computer Graphics artists, our job involves creating things in the computer utilizing input devices such as a keyboard, mouse and tablet.
It becomes a natural extension that the skill of learning to tell the computer to perform actions automaticallybecomes an important and highly advantageous skill for the individual artist and the team.
That’s what programming is – the skill of telling computers to perform actions automatically
Why Python?
Python is the #1 language in DCC software and Game Engines.
Python is the number #1 coding language implemented in every major DCC application and game engine. From Maya, Houdini, Nuke, Blender to Unreal Engine and Unity, just to name a few.
That means the easiest way to learn to tell all these applications to do things automatically is to learn Python.
Ability to automate and create anything.
Beyond that, Python also allows you to perform complex file and image manipulations, outside of DCC applications and create intuitive Graphical User Interfaces.
It can be used to ensure files are named and stored right. Watermark, resize, convert images/texture or even perform complex operations like identify faces in your images.
Anything can be automated.
So python can free you or your team of laborious & mundane tasks, so you can focus your mental energy on your art and dramatically scale your ability to create.
That’s why pipeline TDs are so prized in the industry.
As master artists, the tools we keep in our tool belt are very important. Python can be one of the most important – as it is the tool that can create any tool.
The most fun, easy and powerful language in the world.
Finally, the most compelling reason to learn Python, is because of how fun, easy to learn but yet incredibly powerful it is.
I’ve learnt and use several programming languages over the years. Java, C/C++, javascript, C#, Pascal, Basic and PHP to name a few.
But Python, is the easiest and most powerful programming language to learn.
You can go as deep as you want and create anything with python. From simple scripts to complex enterprise programs. Half of google is built on Python.
You know how you feel about ex-girlfriends when you meet the love of your life?
I used to like programming, but Python made me fall in love with code.
Even the website stackoverflow calls Python “the fastest-growing major programming language” and “the second most loved language” by over 8 million developers worldwide.
Questions about this series?
How many videos? Not sure. As long as it takes. But ideally, each video is shorter than 10 mins.
Why this video series? I’ve been a Pipeline TD and an FX artist on several major feature films. I’ve also worked in both Unreal Engine and Unity. Over the years, I have taught many CG artists and students to code.
I have been a developer, an artist and a teacher in the CG industry. So I get it.
There are many classes that teach software developers to code in Python, but not as many that relate to the CG industry.
What will be in this series? You will learn the basics of python. We will keep it to things not specific to DCC applications.
At the end of this series, you should feel rather confident in your ability to tell the computer to do things for you.
And on a personal note, I would love it if this is the series that gets you falling in love with programming.
Why not just learn python within a DCC app? We could, except that we will have to choose which DCC application. And we know how Houdini is probably going to win my vote here.
But more seriously, this is a basic introduction to python and I did not want to get into the details specific to individual DCC apps.
We will delve into those topics in future courses if there is sufficient interest.
Let’s dive in…
Hopefully, I got you excited enough about Python and this learning series.
I hope you join me in this learning journey and I have the privilege to introduce this powerful tool to you.
Subscribe to this channel and click on the bell.
Hey Nelson, great video at a great time!
I’ve been learning some python for use in Blender and one of the most common problems I run into with learning Python for use in a DCC is the lack of information on how to go from applying python knowledge to an API. I believe this problem is exacerbated because there is little info on how to diagnose problems with your code.
Sometimes it feels like the way the Blender API is written has definitions that feel separate from regular Python use, which makes troubleshooting very limiting when the terms and concepts don’t seem to be related. As most CG artists are usually not very logic/math oriented, the lack of concrete examples and practical uses of code puts a huge blindspot on people who are learning it for the very first time to be able to know what they are doing wrong, and where to find the information they need to move forward.
I’d love to know if you have important resources that you use/used when coming into these big roadblocks while attempting to write code. Cheatsheets, debugging tools, or resources that can help you dig apart what is happening “under the hood.”
Thanks!
Hey Nick, thanks for the comment.
I am not familiar with Blender and python within blender.
It’s true sometimes APIs can be vague and not well documented. In those cases, it is definitely much more painful to develop code for. Just try python in 3ds Max and you’ll quickly know what I mean.
In those cases, I sometimes look up github to see how other people are coding/developing tools with the API. I may not necessarily be looking for a particular solution. But I am observing patterns and general use case scenarios. Very quickly you can get a sense of what functions, methods or classes are most important and used and how people use it.
Depending on the DCC app, you may be able to use an IDE like Eclipse or Pycharm and set it up to integrate with PDB (python’s debugging library). However, that is a much more involved process that perhaps someday I can cover.
wow This is great stuff Nelso, This is one of the mystery areas in VFX alot of tutorials are there on VFX but they kinda don’t add up when it comes to add up peices. Please please continue this series from start to finish like you doing now and ending up to making up soom tools in Maya or Houdini. This is brilliant idea I love it! please keep it up Many thanks.
Thanks Sam! Glad you like it.