まとめ
オブジェクトをターゲットに拘束する場合、拘束が解決された後にターゲットオブジェクトを操作したい場合があります。ただし、この場合、拘束されたオブジェクトは、 ConstraintResolveノードの下流で適用されるターゲットオブジェクトの変換に追従しなくなります。
この記事では、制約されたオブジェクトを変換する方法を説明し、サンプルKatanaプロジェクトを使用してセットアップを示します。
詳細情報
添付のサンプルプロジェクトでは、 CameraScreenWindowConstraintを使用して平面をカメラの視野内に拘束する拘束オブジェクトの設定方法を示します。拘束が解決された後にカメラを操作すると、拘束された平面はカメラの変形に追従しなくなります。
ConstraintResolveノードの前で、 CameraScreenWindowConstraintノード レベルでオブジェクトの位置を表示すると、制約対象オブジェクトには、カメラを制約ターゲットとして参照するxform.constraint属性が表示されます。
ConstraintResolveノードのビューフラグを設定すると、 xform.constraint属性がxform.resolvedConstraint.matrix属性に解決されることがわかります。これにより、この時点で制約対象オブジェクトに適用される変換が計算されます。
この時点ではマトリックスがすでに計算され適用されているため、ノード グラフの下流にあるターゲット オブジェクト (つまり、カメラ) の変換は制約に影響を与えなくなります。
制約されたオブジェクトを変換したい場合は、次のように、 ConstraintResolveノードの上流にTransform3Dノードを作成します。
これにより、拘束されたオブジェクトを操作できるようになります。この設定を示すサンプルKatanaプロジェクトを添付します。
添付ファイル
私たちはそれを聞いて申し訳ございません
理由をお聞かせください