たらちゃんの知恵箱

CGに関するちょこっとテクニカルなブログ

Maya API2.0でカーブの情報を取得。

今回は Maya API2.0 に関する記事です。

CGでカーブというのは色々な場面で応用が利きます。

モデリング、リギング、エフェクト等、可能性は無限大です)

自分の周りでもカーブを使いこなしてる人は表現力が豊かです。

 

ただ、そこで壁となるのが Maya というソフトです。(良くも悪くも。。)

Mayaで特にジェネラリストとして仕事をする上でスクリプトは避けては通れません。

なぜなら、基本機能だけで何か特殊なことをしようとすると、すぐに限界を感じるからです。

 

例えばカーブに沿って何かを配置するには、Mayaには【pointOnCurveInfo】というノードがあります。

このノードはカーブ上のPosition、Normal、Tangent 等色々な情報を取得できる便利なノードですが、カーブのパラメーター値で位置を指定する必要があり、少し意図した場所に配置し辛いです。

また、数が多くなるほどノード数も多くなり作成が面倒です。

 

そこで下記のようなスクリプトを用意しました。

下記58行目の関数の【value】部分に入れた数字分のロケーターを作成できます。

 

setLocatorOnNurbsCurve(value)

 

こちらはカーブ上にロケーターを配置するスクリプトですが、ロケーター作成部分を置き換えれば色々なオブジェクトの配置が出来、応用が利きます。

(カーブを動かすと追従するようなセットアップをする場合は、下記処理をノード化、または上記【pointOnCurveInfo】を使用する方法になるかと思います。)

 

まぁこちらはあくまで一つの例に過ぎず、Mayaで作業効率を上げるためにはスクリプトは必須であるというお話でした(*^^)v

 

【Maya Python API2.0】 選択したNurbsCurve上にLocatorを作成。

 

PS,こんなことは Houdini であればスクリプト書かずに出来ますが(-。-)y-゜゜゜