移動先: 概要 戻り値 フラグ. Python 例.
soft(
selectionList
, [convert=boolean], [duplicate=boolean], [duplicateHistory=boolean], [goal=float], [hideOriginal=boolean], [name=string])
注意: オブジェクト名や引数を表す文字列はカンマで区切ります。これは概要には示されていません。
soft は 「元に戻す」が可能、「照会」が可能、「編集」が不可能 です。
コマンド ラインに渡されたオブジェクト、またはセレクション リストのオブジェクトからソフト ボディを作成します。使用できるジオメトリは、NURBS オブジェクト、ポリゴン オブジェクト、ラティス オブジェクトのいずれかです。作成されるソフト ボディは、パーティクル シェイプ ノードとジオメトリのシェイプ ノードを持つ階層で構成されます。したがって、
T
/ \
T G
/
P
ダイナミクスがパーティクル シェイプに適用され、その後結果のパーティクル位置によって、ジオメトリの CV、頂点、ラティス ポイントの位置が制御されます。
convert オプションを使用すると、パーティクル シェイプとそのトランスフォームが単純にオリジナル シェイプの階層の下に挿入されます。
duplicate オプションを使用すると、オリジナルのジオメトリのトランスフォームとシェイプがその親の下に複製され、パーティクル シェイプは複製の下に配置されます。階層内のアニメーションはパーティクル シェイプにも影響を及ぼすことに注意してください。影響させたくない場合は、その階層以外の構造を再度ペアレント化します。
複製時にはソフト部分(複製)に、「copyOf」+「オリジナルのオブジェクト名」という名前が与えられます。パーティクル部分には、常に「オリジナルのオブジェクト名」+「Particles」という名前が与えられます。
soft コマンドのフラグのいずれも検索はできません。soft -q コマンドは、オブジェクトがソフト ボディであるかどうか、または 2 つのオブジェクトが同じソフト ボディの一部であるかどうかを識別するためにのみ使用します。
例を参照してください。
戻り値の型は照会モードでは照会フラグが基になります。
convert, duplicate, duplicateHistory, goal, hideOriginal, name
ロング ネーム(ショート ネーム) |
引数型 |
プロパティ |
convert(c)
|
boolean
|
|
|
引数はありません。これは、オリジナルのオブジェクトを実際の変形オブジェクトとするようにコマンドに指示します。ソフト ボディのパーティクル シェイプ ノードが、オリジナルのオブジェクトと同じ階層の同じ親の下に挿入されます(元々は親と同一であるトランスフォームが間に 1 つ追加されます)。フラグが渡されない場合、このように考えられます。-c -h 1 という組み合わせは無効です。この組み合わせがスクリプトに存在する場合は、-h 1 を削除してください。
|
|
duplicate(d)
|
boolean
|
|
|
引数はありません。オリジナルのオブジェクトのコピーを作成し、そのコピーを変形ジオメトリとして使用するようにコマンドに指示します。
オリジナルのオブジェクトへの入力コネクションが複製されます。オリジナルのオブジェクトをシーン内に保持し、オブジェクトのコピー(ソフト ボディ)も作成したい場合は、これを実行します。
このフラグと -dh は相互に排他的です。
|
|
duplicateHistory(dh)
|
boolean
|
|
|
引数はありません。入力コネクションだけでなく上流ヒストリも複製される点を除いて、-d と同じです。
このフラグと -d は相互に排他的です。
|
|
goal(g)
|
float
|
|
|
-d と同じですが、それに加えて、作成されたソフト ボディをオリジナルのジオメトリに追従させるようにコマンドに指示します。ソフト ボディがオリジナルのジオメトリに追従する程度を制御する値としては、ゴール ウェイトの設定を使用します。値に 1.0 を指定すると正確に追従し、0.0 を指定すると全く追従しません。
デフォルト値は 0.5 です。値は 0.0 ~ 1.0 の範囲で指定する必要があります。
-g と併せて -d を使用できますが、これは冗長です。ヒストリを複製したい場合は、-dh と -g を一緒に使用することができます。
|
|
hideOriginal(h)
|
boolean
|
|
|
このフラグは、複製時(-d、-g、または -dh)にのみ使用します。true に設定されている場合、2 つのオブジェクトのうちソフト ボディではないほうのオブジェクトが隠されます。
すなわち、-d -h true を使用すると、オリジナルのオブジェクトは非表示になります。
また、-d -c -h 1 を使用すると、複製オブジェクトが非表示になります。
ソフト オブジェクト(-g を参照)のゴールとしてダイナミック オブジェクト以外のオブジェクトを使用するが、シーン内で可視にしたくない場合は、通常、これを実行します。
フラグ -h 1 と -c は相互に排他的です。
|
|
name(n)
|
string
|
|
|
このフラグは現在サポートしていません。新しいソフト オブジェクトに名前を付けたい場合は、rename コマンド(UI を利用する場合はアウトライナ(Outliner)から)を使用してください。
|
|
: コマンドの作成モードで使用可能なフラグ
|
: コマンドの編集モードで使用可能なフラグ
|
: コマンドの照会モードで使用可能なフラグ
|
: タプルまたはリストとして渡された複数の引数を持てるフラグ
|
import maya.cmds as cmds
cmds.sphere()
cmds.soft( 'nurbsSphere1', c=True )
# Creates a sphere named nurbsSphere1 and converts nurbSphere1 into
# a soft object. The particle portion of the soft object will
# be parented (with its own transform) under nurbsSphere1.
cmds.sphere()
cmds.soft( 'nurbsSphere1', d=True )
# Same as the previous example, except that the soft command will make
# a duplicate of nurbsSphereShape1. The resulting soft body will be
# completely independent of nurbSphere1 and its children. Input connections
# to nurbsSphereShape1 will be duplicated, but not any upstream history
# (in other words, just plain "duplicate").
cmds.sphere()
cmds.soft( 'nurbsSphere1', dh=True )
# Same as the previous example, except that upstream history on
# nurbsSphereShape1 will be duplicated as well (equivalent to
# "duplicate history").
cmds.sphere()
cmds.soft( 'nurbSphere1', g=0.3 )
# This will make a duplicate of the shape under nurbSphere1 (as for -d),
# and use it as the shape for the newly created soft object.
# The original nurbsSphereShape1 will be made a goal for the particles of
# softy, with a goal weight of 0.3. This will make those particles try to
# follow nurbSphere1 loosely as it moves around.
cmds.soft( 'foobar', q=True )
# Returns true if foobar is a soft object.
cmds.soft( 'foobar', 'foobarParticles', q=True )
# Returns true if foobar and foobarParticles are parts of the same
# soft object. This is useful because when you select a soft body,
# both the overall transform and the particle transform get put into
# the selection list.