Week 1: Getting Started
You will:
– Get all your applications installed and bookmark important websites.
– Learn the history of python and various flavors of python in Maya.
– Get a tour of the Maya script editor
– Setup Maya, Sublime and QT Designer
– print statements, strings, and variables
– The dir and help commands
– Importing modules
– The xform and getAttr commands
– Translate, rotate and scale maya objects with a script.
Week 2: Fundamentals Part I
Learn about:
– Converting MEL to python with a nifty tool.
– variables
– dictionaries
– lists
– indexing and sorting
– tuples
– for loops
– if-then statements
– operators
– help() and dir(),
– strings
– enumerate()
– range()
– immutable vs. mutable
You will script the building of a model
Week 3: Fundamentals Part II
You will learn:
– functions
– arguments
– docstrings
– variables
– *args and **kwargs
– PYTHONPATH
– scope and the LEGB principle
– closures
– string formatting.
You’ll make your own module that can be run inside of maya.
Week 4: Core Concepts and Essential Kung Fu
Learn About:
– iterators
– sets
– list comprehensions
– generators
– the with statement
– Memory profiling
– installing Anaconda
– using the logging module.
– The differences between Python 2.7 and 3.0
You’ll parse and external text file and find the 3 most common words in the file.
Week 5: Classes and Object-Oriented Programming
You will Learn:
– Classes and OOP
– polymorphism and inheritance
– the __init__() function
– what does self mean
– duck-typing
– exceptions and the try/except statement
You’ll create your own class out of all your current code.
Week 6: Graphical User Interfaces
Learn about:
– decorators
– partial functions
– How to design your own GUI using QT Designer
– open your UI in Maya with PySide
– naming Qt widgets,
– convert a .ui file to python
– connect buttons to commands in Maya
You will build a UI that will create content inside of Maya using PySide.
Week 7: Improving GUIs and Intro to PyMEL
– An introduction to PyMEL.
– Build an API using PyMEL,
– the pickle, and JSON modules.
– you’ll create a GUI to generate and store NURBs curve controllers as part of your final project
Week 8: Finalizing your UI and Incredibly Useful Modules
– Continue working on your Nurbs Controller UI
– Finalize your API and GUI.
– Write a command line python tool using argparse.
– Launch a subprocess from within Maya.
You will write a command line tool using Python Image Library to crop icons for the Controller GUI.
Week 9: Useful Modules Every TD Should Know
Learn some useful python modules that every python coder should know about.
– Ensuring only one instance of your GUI ever exists.
– Cygwin the Linux emulator on windows and grep
– Regular Expressions
– Paths to files using the path module
– maya.standalone examples including covering pymel gotchas
– What is stdin, stdout, and stderr?
– What is a pipe?
– Using Regular Expressions to limit character entry into fields in PySide
– Detailed look at the subprocess module