移動先: 概要 戻り値 フラグ. MEL 例.

概要

angleBetween [-constructionHistory boolean] [-euler] [-vector1 linear linear linear] [-vector2 linear linear linear]

angleBetween は 「元に戻す」が可能、「照会」が不可能「編集」が不可能 です。

1 つのベクトルを別のベクトルに回転するために必要な軸と角度を返します。 コンストラクション ヒストリ(ch)フラグが ON の場合、新しいディペンデンシー ノードの名前が返されます。

戻り値

float[]3 つのオイラー角、または軸と角度
stringconstructionHistory フラグが使用されている場合。

フラグ

constructionHistory, euler, vector1, vector2
ロング ネーム(ショート ネーム) 引数型 プロパティ
-euler(-er) create
回転を軸と角度ではなく、3 つのオイラー角で返します
-vector1(-v1) linear linear linear create
回転元を計算するためのベクトル
-vector2(-v2) linear linear linear create
回転先を計算するためのベクトル
-constructionHistory(-ch) boolean create
コンストラクション ヒストリのオンとオフを切り替えます。true の場合、ディペンデンシー ノードが作成され、その名前が返されます。
デフォルト: false

: コマンドの作成モードで使用可能なフラグ : コマンドの編集モードで使用可能なフラグ
: コマンドの照会モードで使用可能なフラグ : 1 つのコマンドで複数回使用可能なフラグ

MEL 例

// To find the euler angle between these two vectors.  The result is three
// angles in the current angular unit.  In this example, the first vector
// must be rotated -63.434949 degrees about the X axis, 16.60155 degrees
// about the Y axis and -26.565051 degrees about the Z axis to achieve
// the second vector.

angleBetween -euler -v1 0.0 1.0 2.0 -v2 1.0 2.0 0.0;
// Result: -63.434949 16.60155 -26.565051 //

// To find the angle between these two vectors.  The result is an axis and
// an angle (in the current angular unit).  In this example, the first
// vector must be rotated 66.421822 degrees about the axis
// (-0.8728716, 0.4364358, -0.2182179) to achieve the second vector.

angleBetween -v1 0.0 1.0 2.0 -v2 1.0 2.0 0.0;
// Result: -0.8728716 0.4364358 -0.2182179 66.421822 //

// How to create a dependency node that calculates the angle between two
// vectors. This example shows how the (x,z) position of a sphere
// can be used to control the rotate factors (about y) of a cone shape.

string $angleBtwnNode = `angleBetween -v1 1 0 0 -v2 1 0 0 -ch on`;
string $sphere[] = `sphere -ch off`;
move 5 0 5 $sphere[0];
connectAttr ($sphere[0]+".translateX") ($angleBtwnNode+".vector2X");
connectAttr ($sphere[0]+".translateZ") ($angleBtwnNode+".vector2Z");

string $cone[] = `cone -ch off`;
string $convert = `createNode unitConversion`;
connectAttr ($angleBtwnNode+".eulerY") ($convert+".input");
connectAttr ($convert+".output") ($cone[0]+".rotateY");