2015年9月15日火曜日

TYSSWE

新しいtool作りました。

だいぶ前から中身は出来ていたんですが
ちょっとした機能面とかUIとか動画とかをダラダラと作ってたら
かなり経ってしまってました。

ちょっとキャプチャーはやっつけ感が出ちゃってますかね笑


一応、今回のはrig組む人向け?ですかね?
何ができるのか動画で伝えきれてないかもしれませんが...

plug-inとかは使ってないので気持ち的にも試しやすいと思います。


TYSSWE from Takayuki Yanagisawa on Vimeo.


ではではー

2015年6月21日日曜日

Corrective Shapeの考え方

お久しぶりです。
気づけば前回から半年も投稿が開いてました;;



今回は『corrective shape』というものをスクリプトで最近作ったので
自分のメモ的な意味も含めて書いておきます。

ここで言うcorrective shapeとは既にデフォームしているオブジェクトに対して
blend shapeをfront of chainで使用した時に目的の形状になるための
『逆算された形状』という意味です。


















(gif作ってから思いましたが分かりにくいww)


例えば、既にdeformerによってデフォームしているオブジェクトをduplicateし
形状を変化させてblend shapeを入れたいとします。

deformer → blendShape
とすると目標のオブジェクトの形状にはなりますが
これではdeformerの効力がなくなります。

なので
blendShape → deformer
の順にするとblendShapeで変形した後に
deformerが動作しますがdeformer変形後に形状を作っているので
目的の形状にはなりません。

それを
blendShape → deformer
のノードコネクションでも目的の形状になるよう逆算した形状を作るのが
今回のcorrective shapeです。

とまぁ偉そうに書いてますがcorrective shapeの考え方自体は私が考えたものではないです。
まぁ詳しくはcorrective shapeでググってみてくださいw



さて本題。
説明しやすくするために名前を決めます。

original ・・・ deformerが入っているオブジェクトの元々形状
target ・・・ deform後にduplicateして変化させた目的の形状
base ・・・ deformerが入ったあとのオブジェクトの形状

※baseはtargetをduplicateしたときと同じdeform状態です



作成するための考え方

1.baseの頂点の位置を取得
2.baseの頂点のxyz軸をmatrixとして取得
3.targetの頂点の位置を取得
4.3から1の値を減算しローカライズ
5.2のmatrixと4の値の積を求める(座標変換)
6.originalの頂点に5の値をセット
7.完成!

※今回作成したスクリプト自体は全てobject spaceでやりとりをしています



matrixつかうと座標変換がめちゃめちゃ楽ですね。

今回はopenmayaのMMatrixを使ってますが
書き方で
× MMatrix × MPoint
○ MPoint × MMatrix
という使い分けがあるようです。ややこしや。


今回のようなイテレートが必要なものはopenmayaとかapiの
ありがたみをすごく感じますね。



今回はこの辺でー
次回はまた気が向いたときに更新しますw

2015年1月19日月曜日

描いて動かすMaya tool

今回は久しぶりにtoolっぽいものを作ったのでご紹介します。


特に細かい設定とかは必要なく、選択して描いて動かすそれだけのtoolです。
まぁ過去素材も流用しつつ動画も作ってみたのでご覧頂ければと思います。


DOOTY from Takayuki Yanagisawa on Vimeo.

UIはPySideで中身はOpenMayaで書いてます。

割と簡単に実行部はできたので今回はUIをちゃんと作ってみました。
時間的に 中身 : 外身 = 3 : 7 って感じです。
















なんかチョコレートが食べたくなるUIって感じです(別に狙ってない)


ではまたー