Learn python if you are interested in Tech Art-ing. It's used for scripting in Maya, 3ds Max, Blender, MotionBuilder, and Modo. Probably more. Most programs support multiple languages. But Python is the common one.
There are different types of tech artists. Some are mixed or do everything.
1. Tech Animator - Does rigging and animation tools 2. Tech Artist - Does modeling tools and pipeline tools 3. Tech Designer - Does in game shaders, optimizations, and game editor tools.
The third one would probably use C#, C++, and whatever shader language is needed. but 1 and 2 would use python.
Generally, python support in 3ds max is still pretty rudimentary, so a tech artist developing tools for 3ds max would primarily use maxscript, C# for more power, C++ if it gets really serious. Python wouldn't be of much help in rigging in 3ds max, either; most things there are achieved via maxscript alone, sometimes mixing in dotNet and C# if there's a need.
On the other hand, Python in Maya is much more useful, both for tools and for rigging. Addition of Python there improved versatility considerably, as MEL alone is a pretty cumbersome and dated commandline language.
Python is considered a great "glue" language to keep the pipeline together, due to it being cross-platform, having tons of libraries available for anything you would want to do, and playing well with the others, as a result many kinds of utility applications take very little time to develop in Python, compared to most other languages. Perhaps someone with more experience with huge pipelines could offer examples of how and where it is useful in such cases.
If your production house is centered around 3ds max and windows, however, C# could be an equivalent, but more immediately useful alternative for you.
Most of the big 3D software packages support Python scripts/plugins, so it's good for writing tools, automating tasks, bits of pipeline, etc.
It's also a very flexible language - there's no strong typecasting, it compiles fast, it's got some nice syntax, it's cross-platform and is well featured (it's also got a ton of libraries if what you need isn't there).
It doesn't have the raw speed of compiled C/C++ or even C#, but if highly optimised code isn't a necessity for what you're after then it's a solid choice for a language. Even if you DO need C++, you can iterate an idea much more quickly with Python to test it works before locking it into a compiled language.
However, I don't know how much direct use it has in rigging other than automating rigs setups and such.
Thanks for the replies, at the moment I'm focusing on rigging and I'm wondering what I'm missing if I haven't tackled Python yet.
I definitely understand it's use for tools now though, and that's something I could see myself doing in due time.
Shader coding for me is much more down the line as I get used to more of the 3d concepts. right now I have a lot to learn in that area to do anything useful.
Like Zhalktis said, the Python implementation in Max isn't quite there yet so you can safely ignore it if you're working with that app, for now.
For Maya though, unlike MEL it lets you work with the API, while still letting you use commands output in the script editor (they both use the same command names, just different syntax).
Replies
There are different types of tech artists. Some are mixed or do everything.
1. Tech Animator - Does rigging and animation tools
2. Tech Artist - Does modeling tools and pipeline tools
3. Tech Designer - Does in game shaders, optimizations, and game editor tools.
The third one would probably use C#, C++, and whatever shader language is needed. but 1 and 2 would use python.
On the other hand, Python in Maya is much more useful, both for tools and for rigging. Addition of Python there improved versatility considerably, as MEL alone is a pretty cumbersome and dated commandline language.
Python is considered a great "glue" language to keep the pipeline together, due to it being cross-platform, having tons of libraries available for anything you would want to do, and playing well with the others, as a result many kinds of utility applications take very little time to develop in Python, compared to most other languages. Perhaps someone with more experience with huge pipelines could offer examples of how and where it is useful in such cases.
If your production house is centered around 3ds max and windows, however, C# could be an equivalent, but more immediately useful alternative for you.
It's also a very flexible language - there's no strong typecasting, it compiles fast, it's got some nice syntax, it's cross-platform and is well featured (it's also got a ton of libraries if what you need isn't there).
It doesn't have the raw speed of compiled C/C++ or even C#, but if highly optimised code isn't a necessity for what you're after then it's a solid choice for a language. Even if you DO need C++, you can iterate an idea much more quickly with Python to test it works before locking it into a compiled language.
However, I don't know how much direct use it has in rigging other than automating rigs setups and such.
I definitely understand it's use for tools now though, and that's something I could see myself doing in due time.
Shader coding for me is much more down the line as I get used to more of the 3d concepts. right now I have a lot to learn in that area to do anything useful.
For Maya though, unlike MEL it lets you work with the API, while still letting you use commands output in the script editor (they both use the same command names, just different syntax).