RemoveFlexEnvDeformer

RemoveFlexEnvDeformer

導入

v1.0

詳細

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

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

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

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

スクリプト構文

RemoveFlexEnvDeformer( [ConnectionSet], [Interactive] );

パラメータ

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

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

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

Interactive Boolean 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