Python を介してコンストレイントを操作する場合は、vrConstraintService
および vrdConstraintNode
を使用します。
サンプル ファイル SimpleConstraint.vpb
が追加されました。このファイルを使用して、次の Python コンストレイント関数の使用方法を実際に試すことができます。このサンプルファイルを使用するには、[ファイル] > [サンプルを開く...] > [SimpleConstraint.vpb]を選択します。
Python コンストレイントのビデオ キャプション: VRED 2020 では、スクリプト言語の Python を使用してコンストレイントを作成する機能が実装されています。コンストレイントを使用する場合は、Python のマニュアルをご覧ください。ここでは、コンストレイントの作成方法と使用方法に関する重要事項をすべて説明します。単純なコンストレイントの例として、さまざまなコンストレイントとその効果を示します。
次のオブジェクトと関数がサポートされています。
サポートされているオブジェクトを次に示します。
vrConstraintService
関数は次のとおりです。
createPositionConstraint
位置コンストレイントを作成します。createOrientationConstraint
コンストレイント対象オブジェクトの回転を制限したり制御する方向コンストレイントを作成します。createAimConstraint
コンストレイント対象オブジェクトの回転やエイムを制限したり制御するエイム コンストレイントを作成します。エイム コンストレイントを使用してコンストレインしたオブジェクトは、常にそのターゲットをポイントします。getConstraints
すべてのコンストレイントのリストを返します。findConstrainedNode
割り当てられているコンストレイント対象ノードを含むすべてのコンストレイントのリストを返します。deleteConstraint
指定したコンストレイントを削除します。vrdConstraintNode (base class)
を使用して、オブジェクトの位置や方向を別のオブジェクトにコンストレインします。オブジェクトに制限を課したり、アニメート プロセスを自動化してみてください。
vrdConstraintNode
関数は次のとおりです。
setActive
コンストレイントをアクティブまたは非アクティブに設定します。
isActive
コンストレイントがアクティブかどうかを返します。
setTargetNodes
コンストレイントのターゲット ノードを設定します。
getTargetNodes
ターゲット ノードのリストを返します。
clearTargetNodes
コンストレイント ターゲット ノードをクリアします。
setTargetNodeWeight
ターゲット ノードのウェイトを設定します。ウェイトによって、ターゲット ポイント、方向、スケール、ベクトルなどのオブジェクトのインフルエンスを制御します。加重平均の結果により、コンストレイン対象オブジェクトの位置、方向などが駆動されます。
ターゲットのウェイト値を 0 にすると、コンストレイント対象オブジェクトにインフルエンスを及ぼしません。
コンストレイントのウェイトは、ターゲット オブジェクトが複数の場合にのみ設定します。ターゲット オブジェクトが 1 つのみの場合に使用すると、0 より大きなウェイトはすべてフル インフルエンスと解釈されます。したがって、単一のターゲットがコンストレイント対象オブジェクトに 100% の影響を及ぼすことになります。
getTargetNodeWeight
ターゲット ノードのウェイトを返します。
setConstrainedNode
コンストレイント対象ノードにするノードを設定します。
getConstrainedNode
コンストレイント対象ノードの名前を返します。
clearConstrainedNode
コンストレイント対象ノードをクリアします。
vrdPositionConstraintNode
によって、オブジェクトを移動し、別のオブジェクトの位置または複数のオブジェクトの平均の位置に配置します。このコンストレイントは、オブジェクトの動きを他のオブジェクトに合わせる場合に使用します。
位置コンストレイントを使用して、オブジェクトをアニメートし、他の系列に合わせます。
vrdPositionConstraintNode
関数の詳細は次のとおりです。
setMaintainOffset
コンストレイント対象オブジェクトの、オリジナルの状態(コンストレインする前の状態)および相対的な移動を維持します。コンストレイント対象オブジェクト間の空間的なリレーションシップを維持するには、このオプションを使用します。getMaintainOffset
オフセットの維持を設定しているかどうかを返します。vrdOrientationConstraintNode
は、方向コンストレイントに使用します。これは、オブジェクトの方向を 1 つまたは複数のオブジェクトの方向に合わせます。このコンストレイントは、複数のオブジェクトを同時に回転させる場合に使用します。たとえば、ステアリング ホイール、タイヤ、ヘッドライトなどのオブジェクトのグループを同時に同じ方向に回転させる場合などです。ステアリング ホイールをアニメートし、アニメートしたステアリング ホイールにタイヤとヘッドライトをコンストレインします。
vrdAimConstraintNode
は、エイム コンストレイントに使用します。このコンストレイントを使用して、オブジェクトの方向をコンストレインし、オブジェクトが他のオブジェクトの方向を向くようにします。このコンストレイントを使用して、カメラやライトが 1 つのオブジェクトまたはオブジェクトのグループの方向を向くようにします。
vrdAimConstraintNode
関数の詳細は次のとおりです。
setUpVectorTargetNodes
アップ ベクトルの位置を定義するターゲット ノードを設定します。getUpVectorTargetNodes
アップ ベクトルのターゲット ノードを返します。clearUpVectorTargetNodes
アップ ベクトルのターゲット ノードをクリアします。setUpVectorTargetNodeWeight
アップ ベクトルのターゲット ノードにウェイトを設定します。getUpVectorTargetNodeWeight
アップ ベクトルのターゲット ノードのウェイトを返します。