Friday, April 11, 2008

Scripting... isn't that just for programming geeks?


Silly cg artist. That's why you can't figure out why your software package won't 'work'.

The attitude that artists only make art is NOT embraced by lead cg artists. Maybe you do feel that you don't need to get a basic understanding of scripting (which is just a simpler version of programming) simply because you, "Just want to animate." Maybe that'll get you by. But do you really want to be so clueless about your tools? Every good painter knows how to use their brushes, pigments and surfaces. Can you honestly say you know how to use your software?

There are lots of resources to give you a basic idea of how programing works. That's easy to find. What isn't always so easy is finding out exactly how scripting helps you - the artist. Here's a short list of the benefits:
  1. Trouble Shooting: When you understand what's happening 'under the hood', you'll be able to more quickly figure out exactly what's causing your current issue and fix or work around it. Example: You hit the "make pretty" button and nothing happens. You look in the script editor and see an error message that alerts you to the fact that you did not have an object selected to be 'made pretty' (it says something crazy like, "invalid input argument; operation failed"). You select an object, hit the button and now have 'the pretty'.
  2. Automation: Making the computer do what is was designed for - let you be lazier more efficient. Have the software do more of the boring and/or repetitive tasks while you spend your time improving the mood of your shot. Examples: preparing characters for export to a game engine, building rigging elements you frequently use, creating automated secondary motion for tentacles, etc.
  3. Consistency: When you script a task, you know you'll get the same result every time. This also helps to reduce human error. Example: You have scripts that build rig setups on the bones/joints you created. You don't have to spend time checking if the 291 controller objects are named correctly before passing the asset off. You can now leave work in time for your hot date AND not have your teammates later punch you in the throat for delaying the last shot for "The Land Before Time 17".
  4. Extensibility: Sometimes the tool you need hasn't been made yet or doesn't work the way you need it to. You can often make it yourself. Additionally, you have more control and understanding of the tool, so modifying or re-purposing a part of it becomes a very appealing option.
Q: "Hey, I don't do 3d. This is worthless!"
A: Motion graphics artists
sometimes need to write expressions for animating certain elements. They also occasionally need to duplicate a layer 243,917 times, change each new layer's overlay mode to something unique, and then derive the name from that overlay mode setting, etc. You can automate both of these silly task lists (as long as your software supports scripting). I'm willing to wager that if you started looking through this glorious world view, you'll find all sorts of ways to make your workload lighter, productivity faster and output quality higher. :D

Q: "But.. PHOTOSHOP doesn't support scripting?!! Oh, nos!"
A: You are not not not correct. Please check the first two links below, dear friend.

Further reading: