MYAM_QuickSelector 途中経過

今年の1月末くらいに作り始めたのはいいものの、公私ともに忙しく、なかなか手がつけられなかったツール「MYAM_QuickSelector」が、このGWでだいぶ形になってきたので、途中経過を駆け足で記事にしてみます。

Qtは目的に到達するまでの手続きが多く面倒な部分も多いですが、慣れるて来るととても楽しいです。もうMaya標準のGUIライブラリは触れません。


■画面サンプル

bandicam 2016-05-08 22-32-34-391

好きな画像をツール上からキャプチャし、背景に置いた状態で好きなノードに対応するボタンを配置し、いつでも簡単に選択できるようになります。
選択できるアイテムはいわゆるDAGオブジェクトだけでなく、マテリアルなどのDGノードにも対応します。


■マルチプラットフォーム(DCCツール間)

bandicam 2016-05-08 23-10-05-047

Maya上でもHoudini上でも全く同様に動作します。(現在はMayaのみ対応ですが)
その他にも、最小限の拡張でPySideが使えるすべてのDCCツールに対応可能です。
DCCツールを変えた時にも、操作法が統一されていると覚え直す必要もなく楽です。


■キャプチャ機能

bandicam 2016-05-08 23-13-10-644

Bandicamのようにウインドウを使ってキャプチャ範囲を指定して、背景画像として取り込むことができます。


■セレクターボタンは任意の画像が使えます

bandicam 2016-05-08 23-12-43-450

ジョイントやコントロールリグなど、タイプごとに任意の画像をアイコンとして設定できます。
また、各アイコンのサイズも自由に変更できるため、よく使うコントローラを目立たせておくなど、視認性を高められます。
アイコン置き場フォルダに任意の画像を格納しておけば、自動的にツール内で使用できるようになります。


■その他

その他にも、配置したボタンの整列なども手軽に行なえます。


もう少し洗練して、早くリリースしたいなあ。

MYAM_genericSelector(仮名)を作り始めました

昔とある仕事場で作成した MYAM_quickSelector2 の後継ツールをQtで作り始めました。

前述のツールの機能に加え、足したい機能は大体以下の様な感じです

・オブジェクトアイコンに任意の画像が使用できる
・オブジェクトアイコンのサイズや形状を自由に変更できる
・Maya/MotionBuilder/Houdiniあたりで共通して使えるようにする
・選択オブジェクトのグループ登録/簡単選択

まだほとんど仮組みの状態ですが、完成したらCreative Crashあたりで公開すると思います。

MYAM_genericSelector_SS001

過去に作成したツールのご紹介

リンク

テクニカルアーティストを自称しているのに、あまりにも普段からツールネタが少ないのはどうかと思っていたところ、許可がいただけたので、自分がこれまで作ってきたツールの一部を載せてみたいと思います。

ご興味のある方はどうぞご覧ください。

 

Maya – リソースイメージを抽出

ツールのGUIを作ってる時、Mayaのリソースイメージをそのまま流用したいことがある。
わざわざキャプチャしたりするのは面倒なので、上記のコマンドでごっそりイメージファイルを抜き取って、必要なアイコンを使ってしまおう。


こんな感じで簡単にアイコンを抽出出来た。

Python SOPでデフォーマーを作ってみる

リクエストがあったのでVOP SOPのような処理をPython SOPで行う方法を書いてみる。
とりあえず、ノード構成はこんな感じでやってみる。

■Python SOP

myDeformerはPython SOP
Python SOPはデフォルトの状態だと以下のようにコードが記述されている。

 

hou.pwd()はPython SOP自身のノードオブジェクトを返す。
Node.geometry()は自身に入力されたhou.Geometry型のジオメトリオブジェクトを返す。

geometryの中にはPointやEdgeやPrimitive型のオブジェクトが含まれており、実際に形状や色を変更する際は、これらのコンポーネントオブジェクトを取得して操作する。

■コンポーネントの取得

■Pointリストの取得
points = geo.points()

■Primitiveリストの取得
prims = geo.prims()

それぞれのコンポーネントに一律の処理を行うには?

 

 

■pointを移動してみるサンプル

 

 

・Gridを変形

・Sphereを変形

■各オブジェクトのリファレンスマニュアル

各オブジェクトの使い方は以下のマニュアルを参照すべし

・hou.Geometry
http://sidefx.jp/doc/hom/hou/Geometry.html

・hou.Point
http://sidefx.jp/doc/hom/hou/Point.html

・hou.Prim
http://sidefx.jp/doc/hom/hou/Prim.html

Maya Python から Maya APIに進む

スクリプトで出来ることは、ほとんど出来る気がしてきたので、次は、一度挫折したC++ APIに着手していこうと思う。
PythonでクラスとかのOOP慣れしたせいか、意外とサクサク勉強が進んでる。
この調子だと、半年かからずにそこそこのプラグインが量産できるようになりそうな予感。