移動先: 概要 戻り値 関連項目 フラグ MEL の例
curve [-append] [-degree float] [-editPoint linear linear linear] [-knot float] [-objectSpace] [-periodic boolean] [-point linear linear linear] [-pointWeight linear linear linear float] [-replace] [-worldSpace]
string
curve は「元に戻す」が可能、「照会」が不可能、「編集」が不可能です。
curve コマンドを使うと、CV のリストから新規カーブを作成できます。新規作成されたカーブへのパス名を含む文字列が返されます。ワールド座標空間またはオブジェクト(ローカル)空間において、ウェイトを使ってまたは使わずに、ポイントからカーブを作成できます。
「-r/replace」フラグを使用すると、既存のカーブを置き換えることができます。「-a/append」フラグを使用すると、ポイントを既存のカーブにアペンドできます。
カーブ オンサーフェスを作成するには、curveOnSurface コマンドを使用します。
カーブの次数を変更するには、rebuildCurve コマンドを使用します。
カーブのパラメータ範囲を変更するには、rebuildCurve コマンドを使用します。
string | 新しいカーブまたは置き換えたカーブへのパス |
curveOnSurface
append, degree, editPoint, knot, objectSpace, periodic, point, pointWeight, replace, worldSpace
ロング ネーム(ショート ネーム) |
引数型 |
プロパティ |
-degree(-d)
|
float
|
|
|
新規カーブの次数。デフォルトは 3 です。目に見えるカーブ スパンを作成するには、次数に 1 を足した数のカーブ ポイントが必要です。たとえば、3 次カーブには、4 個のポイントを配置する必要があります。
|
|
-replace(-r)
|
|
|
|
既存のカーブ全体を置き換えます。
このフラグを使用する場合、置き換えるカーブの名前をコマンドの最後に指定する必要があります(以下の例を参照)。
|
|
-append(-a)
|
|
|
|
既存のカーブの端にポイントをアペンドします。
このフラグを使用する場合、アペンドするカーブの名前をコマンドの最後に指定する必要があります (以下の例を参照)。
|
|
-point(-p)
|
linear linear linear
|
|
|
ポイントの x、y、z の位置。「linear」は、このフラグで単位を伴う値を取ることができることを意味します。
|
|
-pointWeight(-pw)
|
linear linear linear float
|
|
|
ポイントの x、y、z、w の値。w はウェイト値です。
このフラグを使うと、有理カーブが作成されます。
「linear」は、このフラグで単位を伴う値を取ることができることを意味します。
|
|
-editPoint(-ep)
|
linear linear linear
|
|
|
エディット ポイントの x、y、z の位置。「linear」は、このフラグで単位を伴う値を取ることができることを意味します。このフラグは、-point フラグまたは -pointWeight フラグとは使用できません。
|
|
-knot(-k)
|
float
|
|
|
ノット ベクトルにあるノットの値。ノット値ごとに 1 フラグ。(numberOfPoints + degree - 1)個のノットが必要で、ノット ベクトルは非減少型である必要があります。
|
|
-periodic(-per)
|
boolean
|
|
|
オンの場合、周期的なカーブを作成します。デフォルトはオフです。
|
|
-objectSpace(-os)
|
|
|
|
ポイントはオブジェクト内または「ローカル」空間にあります。これはデフォルトです。
コマンド内で「-os」と「-ws」を同時に指定することはできません。
|
|
-worldSpace(-ws)
|
|
|
|
ポイントはワールド空間にあります。デフォルトは「-os」です。
コマンド内で「-os」と「-ws」を同時に指定することはできません。
|
|
: コマンドの作成モードで使用可能なフラグ
|
: コマンドの編集モードで使用可能なフラグ
|
: コマンドの照会モードで使用可能なフラグ
|
: 1 つのコマンドで複数回使用可能なフラグ
|
curve -p 0 0 0 -p 3 5 6 -p 5 6 7 -p 9 9 9;
curve -pw 0 0 0 1 -pw 3 5 6 1 -pw 5 6 7 1 -pw 9 9 9 1;
curve -p 0cm 0cm 0cm -p 3in 5in 6in -p 5ft 6ft 7ft -p 9 9 9;
// These commands create curves with four control vertices.
// The first one is created without weights. The third command
// shows how you can use units to specify position.
curve -r -p 0 0 0 -p 3 5 6 -p 10 12 14 -p 9 9 9 curve1;
// This command replaces an existing curve, curve1, with the given points.
// Do not use this flag on a curve that is a result of a construction
// history operation.
curve -a -p 13 13 13 -p 13 15 16 curve1;
// This command adds two CVs to an existing curve, curve1.
// The "-ws" flag can be used if the specified CVs are in world space.
// Do not use this flag on a curve that is a result of a construction
// history operation.
curve -p 0 0 0 -p 3 5 6 -p 5 6 7 -p 9 9 9 -p 12 10 2 -k 0 -k 0 -k 0 -k 1 -k 2 -k 2 -k 2;
// This command creates a curve with five control vertices,
// with a knot vector. Notice that there must be
// (number of CVs + degree - 1) knots and that the knot
// vector must be non-decreasing.
curve -per on -p 0 0 0 -p 3 5 6 -p 5 6 7 -p 9 9 9 -p 0 0 0 -p 3 5 6 -p 5 6 7 -k -2 -k -1 -k 0 -k 1 -k 2 -k 3 -k 4 -k 5 -k 6;
// This command creates a closed (or "periodic") curve with
// four distinct CVs. You must specify a knot vector when the
// "-per" flag is used. Notice that the first "degree" points
// are the same as the last "degree" points (ie. the first three
// points are the same as the last three points). Notice also
// that the knot spacing between the first "degree" knots must
// be the same as the spacing between the last "degree" knots
// (ie. the space between the 1st and 2nd knots is the same as
// the space between the 7th and 8th knots, and the space between
// the 2nd and 3rd knots is the same as the space between the
// 8th and 9th knots). There must be space between the first
// "degree" knots, unlike the previous example, where the first
// "degree" knots are the same.
// How to query curve properties:
getAttr "curve1.degree";
// This returns the degree of the curve. Note that the
// number of CVs = degree + spans.
getAttr "curve1.spans";
// This returns the number of spans in the curve. Note that the
// number of CVs = degree + spans.
getAttr "curve1.form";
// This returns the curve form.
getAttr "curve1.minValue";
// This returns the minimum parameter value on the curve.
getAttr "curve1.maxValue";
// This returns the maximum parameter value on the curve.
getAttr "curve1.cv[0]";
// This returns the local x,y,z of the 1st CV. Use a curve info node if
// the curve is a result of a construction history operation.
getAttr "curve1.cv[0:2]";
// This returns the local x,y,z of the 1st three CVs. Use a curve info
// node if the curve is a result of a construction history operation.
getAttr "curve1.cv[*]";
// This returns the local x,y,z of all CVs. Use a curve info node if
// the curve is a result of a construction history operation.
arclen curve1;
// This returns the arc length of the curve. Use "-ch" flag with
// the arclen command to get a curve info node that constantly updates
// to the current arc length.
createNode curveInfo;
connectAttr curveShape1.worldSpace curveInfo1.inputCurve;
getAttr "curveInfo1.knots[*]";
// This sequence creates a curve info node, connects the info node to the
// curve and queries the knot vector of the curve using the curve info node.
// You can use the curve info node to query other attributes such as
// world space CV values and arc length.