3DCG屋さんの活動記録

PROFILE ★★こんな人です

映像制作会社でクリエイティブの修行中。日ごろはMaya&AEを中心にいろんなCGソフトを触りながら、TD寄りの作業が好きで、インタラクティブな体験型空間演出をやりたいと模索中。面白いこと新しいこと大好きな『素直』でいつづける

2018年7月21日土曜日

Mayaで自作ノードについて python


Mayaでスクリプトは作ってきたけど、ノード(プラグイン)は挫折の連続で作ってこなかった。
が、ここにきて仕事で必要になってきた。
ので、作ります。

ちなみに

MayaでのPythonツール開発の流れ

から

  1. Mayaに搭載されている機能をあれこれ実験してみる.
    • 実現したい項目の基本操作を抑える.
    • 開発が必要な機能(足りない機能)を調査する.
  2. 関連するコマンドを簡単に実験してみる.
    • Mayaで編集操作を行うとスクリプトウィンドウに実際に行われたMELコマンドが表示される.
    • Maya ヘルプから,該当するコマンドのPython版を検索し,サンプルコードを実験する.
  3. Pythonコマンドの組み合わせ + GUIで簡単なツールを作成してみる.
    • 編集操作の一連の流れがPythonコマンド列に対応するので実験結果を見ながら組み合わせを調整していく.
    • GUIについてもサンプルコードを実験し,自作コマンドを各GUIに割り当てる.
  4. PyMELでPythonプログラムの整形
    • Pythonコマンドでかかれたプログラムは,PyMELに比べるとあまり直感的ではない.
    • PyMEL ヘルプから対応する関数を検索し,PythonコマンドをPyMEL表現に置き換えていく.
    • PyNode関数で各オブジェクトの固有のクラス型に変換できるので,各クラスから呼び出せる関数を調べてオブジェクト指向型に置き換えてみる.
  5. 足りない機能をPython APIで補う.
    • 新しいノード(データ構造,計算処理の1セット)を追加する部分は,Pythonコマンド,PyMELでは扱えない.
    • Python API ヘルプを参照しながら必要な機能を開発していく.
※以上、Github.com参照

なるほど、わかりやすい。
Maya歴4年(勉強期間も合わせて)の私は、今 (3)まで業務で行っている段階。
(5)に挑戦してるけど、なかなか実現しない。






0 コメント:

コメントを投稿