Home Technical Talk

As a tech artist what is python scripting used for?

polycounter lvl 5
Offline / Send Message
iadagraca polycounter lvl 5
Someone suggested before I should learn python scripting but i don't know the context that it's used beyond making tools or plugins.

It seems to have relevance for rigging but i don't know why. Anyone care to fill me in?

Replies

  • peanut™
    Options
    Offline / Send Message
    peanut™ polycounter lvl 19
    have a look at creative crash, to my knowledge Python is fairly used for rigging in Maya. It took over Mel scripting years ago. http://polycount.com/discussion/166856/www.creativecrash.com

  • monster
    Options
    Offline / Send Message
    monster polycounter
    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.
  • Zhalktis
    Options
    Offline / Send Message
    Zhalktis polycounter lvl 2
    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.
  • Farfarer
    Options
    Offline / Send Message
    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.
  • iadagraca
    Options
    Offline / Send Message
    iadagraca polycounter lvl 5
    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.
  • PolyHertz
    Options
    Offline / Send Message
    PolyHertz polycount lvl 666
    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).
Sign In or Register to comment.