Learning Python

General / 08 January 2021

Hello everyone!!
This (I hope) will be a series where I document the process of me learning the more technical aspects of python programming, with the sole purpose of becoming a better and more efficient artist. 

For years I avoided going down this path as I feared that I was inadequate and so I focused more on the art side of things.  

Why?

As a 3D artist I always had this unhealthy obsession with working faster. 

I strongly believe that the faster you create your assets and import them to a game engine the sooner you will you will be able to identify issues and make adjustments.  

I am primarily a Maya user and do most of my modelling in that software, and although the modelling tools in that software are great they haven't been updated to a degree where they can compete with other DCC (Digital Content Creation) packages.

In the past I relied heavily on other peoples scripts to adjust my workflows and create content faster but as time went by I found out that my workflow kept changing to a degree where I needed more specific tools to get the job done. 

The lack of tools out there pushed me into learning Python with the sole purpose of creating tools for Maya. 

The journey so far

I am by no means an expert in coding, I've only been learning Python for about 6 months now. 

However within this time I started out with a simple Mirror script (that took me ages to complete and nearly broke me). 

The learning curve was a bit steep when I started, I went through a lot of YouTube videos on the basics of Python (I remember staring at a screen for 4-5 hours at a time trying to digest a few lines of code!!!) but being persistent, dedicated (and asking for help) got me through at the end. 

I would recommend anyone starting, to set out an initial goal (nothing too ambitious) just so its enough to explore Python and having a script that does a simple task.

For me completing that script was the end goal and I was dedicated to seeing it through no matter what. I remember spending most of my time taking notes and trying to figure out the logic and steps to be taken in order to avoid having repetitive and redundant code. 

After finishing the script, there was a small period where my brain was completely saturated with information to a point where I couldn't digest any new information, so at the time i decided to take a break. 

After that cool down that lasted 3-4 weeks I went back to create a series of smaller useful scripts for every day use. I found out that everything was a lot more comprehensive that second time around.

I know I have tons of more stuff to learn and explore, as an artist exploring the domain of the technical aspects of creating tools for artists is a nuance that I find fulfilling. 


So, advice for anyone starting: things will be bumpy at first - take it easy - and let your brain digest the information. 

Keep notes / think out as much of the process as you can before committing to writing any code and don't be afraid to ask for help.


Thanks for reading!

-Mike