1

EP 曲線ツールを使用して曲線を作成しました。次に、次の MEL コマンドを使用して、このカーブのコントロール ポイントのワールド空間座標を照会しようとしました。

createNode curveInfo;
connectAttr curveShape1.worldSpace curveInfo1.inputCurve;
getAttr "curveInfo1.cp[*]";

しかし、オブジェクト空間の cv 座標を出力しただけで、結果は次のようになります。

// Result: 0 0 0 1 0 0 2 0 0 3 0 0 //

Maya のドキュメントによると、「curve」コマンドを使用してワールド空間の位置を照会できます。ドキュメントの抜粋を次に示します。

createNode 曲線情報;

connectAttr curveShape1.worldSpace curveInfo1.inputCurve;

getAttr “curveInfo1.knots[*]”;

// このシーケンスは、カーブ情報ノードを作成し、情報ノードをカーブに接続し、カーブ情報ノードを使用してカーブのノット ベクトルを照会します。カーブ情報ノードを使用して、ワールド空間の CV 値や弧の長さなどの他のアトリビュートを照会できます。

「curve」コマンドを使用してワールド空間の位置を照会する方法は?

「xform」コマンドも使用してみましたが、私のカーブではうまくいかないようです。結果は次のようになります。

xform -q -t -ws curve1;
// Result: 0 0 0 //
4

1 に答える 1

2

最も簡単な方法は、pointPositionコマンドを使用することです。例:

pointPosition -w object.ep[1] 

ポイントの位置は、ポイント属性ep、cv、uv、ptなどのいずれかで機能します。ただし、一度にクエリできるのは1つのポイントのみであるため、ループする必要があります。

ノードには、ワールドまたはローカルの空間座標の概念はなく(空間を変換することはできますが)、生のデータ座標だけがあります。結び目は、タフな結び目を探しているときに、曲線がどのようにパラメータ化されるかを定義するものではありません。一般に、Mayaはオブジェクトアクセサモデルで動作するため、Mayaのドキュメントは初心者にとっては少し読みにくいものです。したがって、コマンドと操作は、必ずしもあなたが思っていることを実行するとは限りません。むしろ、多くのコマンドは何かへのアクセサーであり、それらはアクセサーであるオブジェクトに対してのみ動作します。Curveコマンドには征服可能な属性がないため、クエリできません。

于 2013-02-27T11:36:49.910 に答える