2012/03/22

やんわりpython入門

萌えるmel読本では、その取組やすさからまずはmelを中心に紹介しましたが、本当のところ、いま取り組むべきはpythonです。
ただスクリプトの勘のようなものに馴染んでいない状態では挫折率が非常に高いため(笑)、まずはmelから初めて、馴染んできたらいろいろやりましょうというのが、いま作ろうとしている本たちの趣旨です。


…というわけで、pythonしましょう!
今回はpythonネタ一回目ということで、
melと比べてどういいのかを概観してみたいと思います。

pythonのいいところ

・オブジェクト指向で書ける
わからない向きには超ワカラナイ、最凶クラスのじんましんワードです。オブジェクト指向。
でも分かってくるといいことがいっぱいあって魅力的。
次回くらいに詳しく述べます。

・ライブラリがたくさん
かれこれ20年、オープンソースとして多くの拡張が行われてきたpythonには、多くのライブラリが用意されていて、
これらを読みこめば強力な機能を扱うことができるようになります。また世界中に開発者がいて、機能は日々追加されています。

・対応するソフトも増加中
melは覚えてもMayaでしか生かせませんが(文法的に似通っていれば応用は効きますが)、pythonは対応するソフトが多く、覚えればそれらのソフトでの活用も期待できます。Houdini、softimage、MotionBuilder、Cinema4D、LightWave10、NUKEなどがpythonに対応しています。

・Mayaでは、APIを扱える
mayaの深い部分の拡張はmelではできませんが、pythonではできます。C++でもできます。

・コンパイルしなくていい
melと同じく、タイプしたその場で実行できます。C++はコンパイルという作業を行なって実行ファイルを作成する必要があります。


pythonの…なところ

・オブジェクト指向
感覚をつかむまでサッパリすぎる、という説があります。

・ライブラリを読まないといけない
ライブラリを読むことで機能を追加と書きましたが、mayaを操作する機能も、もともとのpythonにはありません。
ほんの一行ですので、そういう作法なんだと思えばどうということはありませんが…

・ややおそい
mayaの深い部分の拡張に使えるpythonとC++ですが、速度の面では、やはりコンパイルしてから実行するC++に軍配が上がります。すぐ実行できるpythonでトライアンドエラーを繰り返して、それから必要であればC++で実装していくという流れになるでしょうか。
といってもある程度以上の規模のある内容でない限り、気になるほど遅くはないのではと思います。



mayaにおけるpythonを主軸に、melやC++との比較も交えつつ書いてみました。
ちなみにpythonといえば英語でニシキヘビのことを指し、アイコンもそれっぽくあしらわれていますが、
もともとの名前の由来は「モンティ・パイソン」にあるとのことです。

■関連リンク

Python Programming Language - Official Website
http://www.python.org/

日本Pythonユーザ会(PyJUG)
http://www.python.jp/Zope

wikipedia pythonのページ
http://ja.wikipedia.org/wiki/Python


autodeskのオンラインヘルプ PyMEL
http://download.autodesk.com/largefiles/jp/product/20100520_2011_maya_onlinehelp/PyMel/index.html

MayaのPython
http://download.autodesk.com/largefiles/jp/product/20100520_2011_maya_onlinehelp/index.html?url=./files/Python.htm,topicNumber=d0e187770

Maya Python API
http://download.autodesk.com/global/docs/mayasdk2012/ja_jp/files/Maya_Python_API.htm

0 件のコメント:

コメントを投稿