Since | 18.0 |
int usd_addinversetotransformorder(int stagehandle, string primpath, string name)
この関数は、Primのトランスフォーム順序に逆トランスフォーム処理を追加します。
トランスフォーム順序は、トランスフォーム処理のシーケンスになっており、それらの処理のフルネームが文字列配列としてxformOpOrder
アトリビュートに格納されています。
そのため、この関数は、xformOpOrder
アトリビュートに新しいオペレーション名を追加します。
主に逆トランスフォーム処理は、原点とは異なるピボットを基点に回転(スケール)する際に使用されます。 普段の使い方は、ピボットポイントに移動量を適用してから、回転を実行し、最後に逆の移動量を適用します。 この関数は、元々の移動量の反対方向の移動量を適用する際に使用します。
Note
Primトランスフォームを扱ってオペレーション接尾辞をパラメータとして受け取るようなほとんどのVEX関数とは異なり、この関数はフルオペレーションネームを受け取ります。 オペレーション接尾辞が分かっているのであれば、usd_transformnameを使ってフルネームを取得することができます。
stagehandle
書き出し先のステージのハンドル。
現在のところ、唯一有効な値は0
のみです。
この値は、ノード内の現在のステージを意味します(今後は、この引数を使用することで他のステージへの書き出しが可能になります)。
primpath
Primのパス。
name
トランスフォーム処理のフルネーム。usd_transformnameを使用することで、オペレーション接尾辞からフルネームを取得することができます。
Returns
成功するとstagehandle
の値、失敗すると-1
。
Examples ¶
// 以下で使用されているUSD_XFORM_TRANSLATE定数とUSD_AXIS_Z定数は、 // "usd.h"VEXヘッダで定義されているので、そのヘッダをincludeしてください。 #include <usd.h> // ピボット移動オペレーション接尾辞からそのピボット移動オペレーション名を取得します。 string pivot_xform_suffix = "some_pivot"; string pivot_xform_name = usd_transformname(USD_XFORM_TRANSLATE, pivot_xform_suffix); // (1,0,0)のピボットを通過するZ軸で回転します。 usd_addtranslate(0, "/geo/cone", pivot_xform_suffix, {1, 0, 0}); usd_addrotate(0, "/geo/cone", "some_rotation", USD_AXIS_Z, -90); usd_addinversetotransformorder(0, "/geo/cone", pivot_xform_name);
See also | |
usd | |
usd_transform |