ジャンプ先: 概要. 戻り値. フラグ. Python 例.
spring(
objects
, [addSprings=boolean], [allPoints=boolean], [count=boolean], [damping=float], [dampingPS=float], [endForceWeight=float], [exclusive=boolean], [length=float], [maxDistance=float], [minDistance=float], [minMax=boolean], [name=string], [noDuplicate=boolean], [restLength=float], [restLengthPS=float], [startForceWeight=float], [stiffness=float], [stiffnessPS=float], [useDampingPS=boolean], [useRestLengthPS=boolean], [useStiffnessPS=boolean], [walkLength=uint], [wireframe=boolean])
注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。
spring は、取り消し可能、照会可能、および編集可能です。
spring コマンドで、次のすべての操作を実行できます。
* 新しいスプリング オブジェクト(シェイプ+トランスフォーム)を作成します。シェイプには、コマンド ライン上で選択あるいはリスト表示されているオブジェクトのポイント(パーティクル、CV など)間のスプリングが含まれます。
* 新しいスプリングを作成し、既存のスプリング オブジェクトに追加します。
* 既存のスプリング オブジェクトの特定のアトリビュートを編集または照会します。
1 つの「スプリング オブジェクト」は、数百、あるいは数千ものスプリングから成ることがあります。スプリング オブジェクトの特定アトリビュートは、スプリングがどこでどの別オブジェクトにアタッチされているかを正確に指定します。
スプリングは以下のものにアタッチ可能です。パーティクル、ソフト ボディの頂点、カーブまたはサーフェスの CV またはエディト ポイント、ポリゴン オブジェクトの頂点、ラティス ポイント。スプリングのエンドポイントの 1 つがダイナミックでない場合(CV、エディト ポイントなど)スプリングはエンドポイントのモーションに影響を与えませんが、ポイントのモーションはスプリングに影響を与えます。スプリングが作成されるのは、最低 1 つのエンドポイントがダイナミックである場合だけです。たとえば、2 つの CV 間にはスプリングは絶対に作成されません。単一のスプリング オブジェクトで、関連するオブジェクトがいくつもあるスプリングを保持できます。
スプリングには、作成のみ可能なフラグと編集可能なフラグがあります。作成のみ可能なフラグ(minDistance、maxDistance、add、exclusive、all、wireframe、walklength、checkExisting)は、新しいスプリングを作成するときのみ使用できます。ここでいう作成には、既存のスプリング オブジェクトにスプリングを追加することも含みます。編集可能なフラグでは、既存のスプリング オブジェクトのアトリビュートを修正します。
スプリング オブジェクトを作成した場合、このコマンドはシェイプとトランスフォームの名前を返します。スプリング オブジェクトを照会した場合、このコマンドは照会結果を返します。
照会モードでは、戻り値のタイプは照会されたフラグに基づきます。
addSprings, allPoints, count, damping, dampingPS, endForceWeight, exclusive, length, maxDistance, minDistance, minMax, name, noDuplicate, restLength, restLengthPS, startForceWeight, stiffness, stiffnessPS, useDampingPS, useRestLengthPS, useStiffnessPS, walkLength, wireframe
| ロング ネーム(ショート ネーム) |
引数タイプ |
プロパティ |
|
addSprings(add)
|
boolean
|
|
|
このフラグを指定すると、選択した既存のスプリングのセットにスプリングが追加されます(既定では新しいスプリング オブジェクトが作成されます)。
|
|
allPoints(all)
|
boolean
|

|
|
true の場合、スプリング アプリケーションのモードをすべてに設定します。これにより、選択されているすべてのポイント間にスプリングが追加されます(既定は false です)。
|
|
count(ct)
|
boolean
|
|
|
このシェイプ内のスプリング数を返します。照会モード専用です。このフラグは、Maya の旧バージョンとの互換性のためだけに維持されています。スプリングの数を取得するには、スプリング シェイプの count アトリビュートを使用するほうがはるかに速く簡単にできます。getAttr <shapeName>.count。
|
|
damping(d)
|
float
|
 
|
|
スプリング オブジェクトで作成されたスプリングのダンピング係数です(既定=0.2)。
|
|
dampingPS(dPS)
|
float
|
 
|
|
スプリング オブジェクトで作成されたスプリングのダンピング係数ですdampingPS のすべてのエントリは、このフラグで指定した値で初期化されます。フラグとアトリビュート名の両方で、「PS」は「per-spring (スプリング単位)」を表します。(既定=0.2)。
|
|
endForceWeight(efw)
|
float
|
 
|
|
スプリングの終点で、スプリングに適用されるフォースの量。有効な範囲は 0.0~1.0 です(既定= 1.0)。
|
|
exclusive(exc)
|
boolean
|
|
|
true の場合、異なるオブジェクトにあるポイントの対の間にのみ、スプリングが作成されます(既定は false です)。
|
|
length(l)
|
float
|
 
|
|
「restLength」の旧形式。「restLength」を使用してください。
|
|
maxDistance(mxd)
|
float
|

|
|
スプリング作成の対象となる、2 ポイント間の最大距離。
|
|
minDistance(mnd)
|
float
|
|
|
スプリング作成の対象となる、2 ポイント間の最小距離(既定 = 0.0。このフラグの既定の詳細については、「既定」を参照してください)。
|
|
minMax(mm)
|
boolean
|
|
|
true の場合、スプリング アプリケーションのモードを最小/最大に設定します。これは、min と max で指定した最小距離と最大距離の値の間にあるポイント グループに属するすべてのポイント間にスプリングを追加します (既定は false です)。注: これは、min または max フラグを使用すると自動的に設定されます。
|
|
name(n)
|
string
|

|
|
|
noDuplicate(nd)
|
boolean
|
|
|
既存のスプリングをチェックし、すでに同じオブジェクト内のスプリングで結ばれている 2 ポイント間には新しいスプリングを追加しません。コマンドが作用しているオブジェクトのみチェックされます。このフラグは -add を使用しているときのみ有効です(既定= false)。
|
|
restLength(rl)
|
float
|
 
|
|
新しいスプリングに対するオブジェクト単位のレスト長です。スプリングは、スプリング単位またはオブジェクト単位のレスト長を使用できます。-lPS と -ulp フラグを参照してください。
|
|
restLengthPS(rPS)
|
float
|
 
|
|
新しいスプリングに対するスプリング単位のレスト長です。restLengthPS のすべてのエントリは、このフラグで指定した値で初期化されます。このフラグを指定しない場合、各スプリングのレスト長は、スプリングが作成されたときの 2 ポイント間の距離、つまりスプリングの長さの初期値に初期化されます。再生時に、スプリングはスプリング単位またはオブジェクト単位のレスト長を使用できます。-rl フラグと -urp フラグを参照してください。フラグとアトリビュート名の両方で、「PS」は「per-spring (スプリング単位)」を表します。
|
|
startForceWeight(sfw)
|
float
|
 
|
|
スプリングの始点で、スプリングに適用されるフォースの量。有効な範囲は 0.0~1.0 です(既定= 1.0)。
|
|
stiffness(s)
|
float
|
 
|
|
スプリング オブジェクトで作成されたスプリングの固さです(既定=1.0)。-damp float「damping」の旧形式です。「damping」を使用してください。
|
|
stiffnessPS(sPS)
|
float
|
 
|
|
スプリング オブジェクトで作成されたスプリングの固さですstiffnessPS のすべてのエントリは、このフラグで指定した値で初期化されます。フラグとアトリビュート名の両方で、「PS」は「per-spring (スプリング単位)」を表します。(既定= 1.0)。
|
|
useDampingPS(udp)
|
boolean
|
 
|
|
dampingPS (スプリング単位のダンピング)を使用するかどうかを指定します。false に設定すると、アトリビュート値としてオブジェクト単位のダンピングが使用されます。このフラグは、単純にスプリングシェイプの useDampingPS アトリビュートを設定します。フラグとアトリビュート名の両方で、「PS」は「per-spring (スプリング単位)」を表します。(既定= false)。
|
|
useRestLengthPS(urp)
|
boolean
|
 
|
|
restLengthPS (スプリング単位のレスト長)を使用するかどうかを指定します。false に設定すると、アトリビュート値としてオブジェクト単位のレスト長が使用されます。このフラグは、単純にスプリング シェイプの useRestLengthPS アトリビュートを設定します。フラグとアトリビュート名の両方で、「PS」は「per-spring (スプリング単位)」を表します。(既定= false)。
|
|
useStiffnessPS(usp)
|
boolean
|
 
|
|
stiffnessPS (スプリング単位の固さ)を使用するかどうかを指定します。false に設定すると、アトリビュート値としてオブジェクト単位の固さが使用されます。このフラグは、単純にスプリング シェイプの useStiffnessPS アトリビュートを設定します。フラグとアトリビュート名の両方で、「PS」は「per-spring (スプリング単位)」を表します。(既定= false)。
|
|
walkLength(wl)
|
uint
|
|
|
このフラグが有効なのは、ワイヤフレーム作成のときだけです。これは、指定した数のエッジで結ばれたポイントの対の間にスプリングを作成します。たとえば、walkLength が 2 の場合、2 つ以上のエッジで分断されていないポイントの対に対して、スプリングが作成されます。walkLength によって頂点の対同士の距離を測る方法は、交差点から交差点の距離を測るために間の道路の数を数えるようなものです。
|
|
wireframe(wf)
|
boolean
|
|
|
true の場合、スプリング アプリケーションのモードをワイヤフレームに設定します。これは、ソフト ボディ上に作成されたスプリングでのみ有効です。カーブとサーフェスで、隣接するポイント(頂点または CV)を結ぶ、すべてのエッジに沿ってスプリングを追加します。(既定は false です)。
|
|
フラグはコマンドの作成モードで表示できます
|
フラグはコマンドの編集モードで表示できます
|
フラグはコマンドの照会モードで表示できます
|
フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。
|
import maya.cmds as cmds
cmds.spring( 'particle1', s=1.5, d=.3, mnd=0, mxd=5, n='spring1' )
# Creates a spring object named spring1 with a strength of 1.5 and a
# damping factor of 0.3 containing a spring between every pair of points in
# particle1 that are within 0.0 and 5.0 units apart (except those already
# connected by a spring).
cmds.spring( 'particle1', 'spring1', add=True, mnd=0, mxd=5 )
# Creates between every pair of points in particle1 that are within 0.0
# and 5.0 units apart (except those already connected by a spring), and adds
# them to the existing spring object spring1.
cmds.spring( 'particle1', 'spring1', add=True, mnd=0, mxd=5, ce='false' )
# Same as the previous example, but will not check for existing springs
# in order to avoid duplication, and will create a new spring even between
# pairs of particles which already have one.
cmds.spring( 'particle1', 'particle2', exclusive=1, all=1 )
# Creates a spring between every pair of particles such that one
# particle is in particle1 and the other is in particle2. Does not create
# any springs between pairs in the same object. Does not create springs
# between particles already connected by a spring.