RemoveFlexEnvDeformer

導入

v1.0

カテゴリ

オペレータ デフォメーション

詳細

エンベロープからデフォーマを削除します。 エンベロープの各ポイントは、1 つまたは複数のデフォーマに割り当てられます。 各ポイントに対し、ウェイトはデフォーマの相対的な影響を制御します。

デフォーマとは、エンベロープのシェイプを制御するオブジェクトです。 ユーザは、初めてエンベロープ デフォーメーションを作成するときにデフォーマを選択しますが、必要であれば、後でデフォーマを追加したり削除したりすることができます。

デフォーマにはスケルトンを使用するのが一般的ですが、実際にあらゆるオブジェクトをデフォーマとして使用できます。 エンベロープのポイントはデフォーマのセンターに割り当てられるため、デフォーマのジオメトリは重要ではありません (ただし、ボーンは例外です。ボーンの全長によりポイントがデフォームされるからです)。

立方体、球体、ヌルのどれを使用しているかにより、それらを囲むエンベロープの変換は、サイズ、向き、位置においてデフォーマのセンターに対する相対的な変換になります(シェイプが基準となるのではありません)。 ヌル オブジェクトやインプリシット オブジェクトはレンダリングされないため、デフォーマには適しています。

スクリプト構文

RemoveFlexEnvDeformer( [ConnectionSet], [Interactive] );

パラメータ

パラメータ タイプ 詳細
ConnectionSet ConnectionSet エンベロープと、削除するデフォーマ オブジェクトを指定します。 このオペレータに必要な接続セットについては、OpPreset を参照してください。

デフォルト値:現在選択されているオブジェクトをメイン グループとして使用

警告: 接続セットが無効だと、エラーが発生します。 スクリプトの中断を防ぐため、このオペレータに必要な接続セットを確認してください。

Interactive ブール True を設定すると、オブジェクトを選択するようユーザに要求します。

デフォルト値: False

VBScript の例

'This example builds an envelope made of 2 skeleton objects on a sphere
'and a cylinder. Then, it removes individual deformers from the cylinder,
'and all envelope components from the shere.
'
'The deformers removed from the cylinder are outputted in the log.
NewScene
Set Sphere = CreatePrim("Sphere", "MeshSurface")
Set Cylinder = CreatePrim("Cylinder", "MeshSurface")
SetValue Cylinder & ".polymsh.geom.subdivu", 16
SetValue Cylinder & ".polymsh.geom.subdivv", 16
SetValue Cylinder & ".cylinder.height", 7.325
Create2DSkeleton 0.1, 0.7, 0, 0, 3.6, 0, 0, 0, 0, 4
Create2DSkeleton 0.0, -0.3, 0, -0.2, -3.6, 0, 0, 0, 0, 4
ApplyFlexEnv Sphere & "," & Cylinder & ";bone1,bone", False
Translate "eff", 2.5, -2.0, 0, siRelative, siView, siObj, siXYZ
Translate "eff1", 3.7, 1.8, 0, siRelative, siView, siObj, siXYZ
SelectDeformersFromEnvelope Cylinder
Set Bones = SIFilter(, "Chain_Element")
'Remove 1 by 1 all deformers of the cylinder.
'However, the envelope and the envelope weight property remain.
For i = 0 to Bones.Count - 1
logmessage "Removing " & Bones(i) & " from the deformers of " & Cylinder
        RemoveFlexEnvDeformer Cylinder & ";" & Bones(i)
next
'Call RemoveFlexEnv: removes deformers of the sphere.
'The envelope and the envelope weight property are removed too.
RemoveFlexEnv Sphere
'This example outputs the following:
'
'INFO : "Removing bone1 from the deformers of cylinder"
'INFO : "Removing bone from the deformers of cylinder"
'INFO : "Removing eff1 from the deformers of cylinder"
'INFO : "Removing eff from the deformers of cylinder"

関連項目

ApplyFlexEnv