このセクションでは、MotionBuilder がサポートする Relation オペレータをリストします。Relation コンストレイントで使用するオペレータのリストは、数値タイプまたは用途別に分類されています。オペレータは、Relations ペインでのみ表示されます。 
Boolean
ブーリアン式を計算するには、Boolean オペレータを使用します。MotionBuilder では、次のブーリアン式をサポートしています。 
| AND |  | 
|---|
| 用途 | ブーリアン式(a and b)を計算します。 | 
| 受信 | 2 つのブーリアン値 | 
| 送信 | (a)と(b)の両方が(1)に等しい場合は(1)、そうでない場合は(0)が送信されます。(a)(b)(Result) 000 010 100 111 | 
| Flip flop |  | 
|---|
| 用途 | これは、スイッチのような機能を果たす特殊なボックスです。 | 
| 受信 | (b)と(Clear)の 2 つのブーリアン値 | 
| 送信 | (b)が(1)に等しい場合、(result)はその逆の(0)です。たとえば、最初に(b)が(1)に等しくなると、(result)は(1)になります。2 回目は(result)は(0)です。3 回目の(result)は(1)というように続きます。(Clear)が(1)に等しいとき、(result)は(0)にリセットされます。 | 
| Memory (B1 when REC) |  | 
|---|
| 用途 | 2 番目のトリガを受信している間、トリガを保持するブーリアン トリガ オペレータです。 | 
| 受信 | (b1)と(REC)の 2 つのブーリアン値 | 
| 送信 | (REC)が(1)に等しい場合、値(b1)が(result)に送信されます。 | 
| Memory (last trigger) |  | 
|---|
| 用途 | 新しいトリガを受信するまで最後のトリガを保持するブーリアン トリガ オペレータです。 | 
| 受信 | (b1-b10)と(Clear)の 10 個のブーリアン値 | 
| 送信 | (Out1-Out10)の 10 個のブーリアン出力値と 1 つの結果数値。(bn)が(1)に設定されると、関連する(Outn)が(1)に設定され、別の(bn)が(1)を受信するまで保持されます。任意の(Outn)が(1)に等しい場合、(result)は(1)に等しくなります。(Clear)が(1)に等しい場合、すべての(Outn)は(0)にリセットされます。10 個よりも多いエントリ コネクタを使用する必要がある場合は、2 つのオペレータを接続できます。接続するには、1 番目のオペレータの(result)を 2 番目のオペレータの(Clear)に送信します。また、2 番目のオペレータの(Clear)を 1 番目のオペレータの(result)に接続する必要があります。 | 
| NAND |  | 
|---|
| 用途 | ブーリアン式 not ((a) and (b))を計算します。 | 
| 受信 | 2 つのブーリアン値 | 
| 送信 | (a)と(b)の両方が(1)に等しい場合は(0)、そうでない場合は(1)が送信されます。(a) (b) (Result) 0 0 1 0 1 1 1 0 1 1 1 0 | 
| NOR |  | 
|---|
| 用途 | ブーリアン式 not ((a) or (b))を計算します。 | 
| 受信 | 2 つのブーリアン値 | 
| 送信 | (a)または(b)が(1)に等しい場合は(0)。(a) (b) (Result) 0 0 1 0 1 0 1 0 0 1 1 0 | 
| NOT |  | 
|---|
| 用途 | ブーリアン式 not (a)を計算します。 | 
| 受信 | 1 つのブーリアン値 | 
| 送信 | (a)の逆。(a) (Result) 0 1 1 0 | 
| OR |  | 
|---|
| 用途 | ブーリアン式(a or b)を計算します。 | 
| 受信 | 2 つのブーリアン値 | 
| 送信 | (a)または(b)が(1)に等しい場合は(1)。(a) (b) (Result) 0 0 0 0 1 1 1 0 1 1 1 1 | 
| XNOR |  | 
|---|
| 用途 | ブーリアン式(a is equivalent to b)を計算します。 | 
| 受信 | 2 つのブーリアン値 | 
| 送信 | (a)と(b)が異なる場合は(0)。(a) (b) (Result) 0 0 1 0 1 0 1 0 0 1 1 1 | 
| XOR |  | 
|---|
| 用途 | ブーリアン式 not (a is equivalent to b)を計算します。 | 
| 受信 | 2 つのブーリアン値 | 
| 送信 | (a)と(b)が異なる場合は(1)。(a) (b) (Result)  0 0 0 0 1 1 1 0 1 1 1 0 | 
Converters
数値とベクトル間でタイプを変換するには、コンバータを使用します。MotionBuilder では、次のコンバータをサポートしています。 
| Deg to Rad |  | 
|---|
| 用途 | 角度を度数からラジアンに変換します。 | 
| 受信 | 数値 | 
| 送信 | 数値 | 
| HSB to RGB |  | 
|---|
| 用途 | HSB を RGB モードに変換します。 | 
| 受信 | (h)、(s)、(b)の 3 つの数値。ここで、h = 色相(Hue)、s = 彩度(Saturation)、b = 明度(Brightness) | 
| 送信 | (x)、(y)、(z)の 3 つの数値 | 
| Number to RGBA |  | 
|---|
| 用途 | 4 つの数値を 1 つのカラー ベクトルに変換します。 | 
| 受信 | (r)、(g)、(b)、(a)の 4 つの数値 | 
| 送信 | (result) = {r,g,b,a} で表した、1 つのカラー ベクトル。ここで、r = 赤(red)、g = 緑(green)、b = 青(blue)、a = アルファ(alpha) | 
| Number to Vector |  | 
|---|
| 用途 | 3 つの数値を 1 つのベクトルに変換します。 | 
| 受信 | (x)、(y)、(z)の 3 つの数値 | 
| 送信 | (result) = {x,y,z} で表した、1 つのベクトル | 
| Number to Vector2 |  | 
|---|
| 用途 | 2 つの数値を 1 つのベクトルに変換します。 | 
| 受信 | 2 つの数値: (x)と(y) | 
| 送信 | (result) = {x,y} で表した、1 つのベクトル | 
| Rad to Deg |  | 
|---|
| 用途 | 表示をラジアンから度数に変換します。 | 
| 受信 | 数値 | 
| 送信 | 数値 | 
| RGB to HSB |  | 
|---|
| 用途 | RGB を HSB モードに変換します。 | 
| 受信 | (x)、(y)、(z)の 3 つの数値 | 
| 送信 | (h)、(s)、(b)の 3 つの数値。ここで、h = 色相(Hue)、s = 彩度(Saturation)、b = 明度(Brightness) | 
| RGB to RGBA |  | 
|---|
| 用途 | RGB を、アルファ チャネル モードのある RGBA に変換します。 | 
| 受信 | (r)、(g)、(b)の 3 つの数値 | 
| 送信 | (r)、(g)、(b)、(a)の 4 つの数値 | 
| RGBA to Number |  | 
|---|
| 用途 | 1 つのカラー ベクトルを 4 つの数値に変換します。 | 
| 受信 | {r,g,b,a} のカラー ベクトル | 
| 送信 | (r)、(g)、(b)、(a)の 4 つの数値。ここで、r = 赤(red)、g = 緑(green)、b = 青(blue)、a = アルファ(alpha) | 
| RGBA to RGB |  | 
|---|
| 用途 | アルファ チャネル付きの RGB を、RGB モードに変換します。 | 
| 受信 | (r)、(g)、(b)、(a)の 4 つの数値 | 
| 送信 | (r)、(g)、(b)の 3 つの数値 | 
| Seconds to Time |  | 
|---|
| 用途 | 秒数をタイム形式に変換します。 | 
| 受信 | 秒数 | 
| 送信 | タイム形式の時間 | 
| Time to Seconds |  | 
|---|
| 用途 | 時間を Timecode に変換します。 | 
| 受信 | タイム形式の時間 | 
| 送信 | Timecode | 
| Time to TimeCode |  | 
|---|
| 用途 | 時間を Timecode に変換します。 | 
| 受信 | タイム形式の時間 | 
| 送信 | Timecode | 
| TimeCode to Time |  | 
|---|
| 用途 | タイム形式を秒数に変換します。 | 
| 受信 | タイム形式の時間 | 
| 送信 | 秒数 | 
| Vector to Number |  | 
|---|
| 用途 | 1 つのベクトルを 3 つの数値に変換します。 | 
| 受信 | {x, y, z} のベクトル | 
| 送信 | (x)、(y)、(z)の 3 つの数値 | 
| Vector2 to Number |  | 
|---|
| 用途 | 1 つのベクトルを 2 つの数値に変換します。 | 
| 受信 | {x, y} のベクトル | 
| 送信 | 2 つの数値: (x)と(y) | 
Macro Tools
カスタマイズされたリレーション ボックスを作成するには、Macro Tools を使用します。マクロにドロップした任意の入出力ボックスは、カスタマイズされたリレーション ボックスのコネクタになります。 
入出力ボックスを右クリックし、コンテキスト メニューから Rename を選択して、コネクタの名前を変更します。 
| Macro Input Bool |  | 
|---|
| 送信 | 入力(ブーリアン) | 
| Macro Input ColorAndAlpha |  | 
|---|
| 送信 | 入力(ColorAndAlpha) | 
| Macro Input Number |  | 
|---|
| 送信 | 入力(数値) | 
| Macro Input Time |  | 
|---|
| 送信 | 入力(時間) | 
| Macro Input Vector |  | 
|---|
| 送信 | 入力(ベクトル) | 
| Macro Output Bool |  | 
|---|
| 受信 | 出力(ブーリアン) | 
| Macro Output ColorAndAlpha |  | 
|---|
| 受信 | 出力(ColorAndAlpha) | 
| Macro Output Number |  | 
|---|
| 受信 | 出力(時間) | 
| Macro Output Time |  | 
|---|
| 受信 | 出力(数値) | 
| Macro Output Vector |  | 
|---|
| 送信 | 出力(ベクトル) | 
My Macros
作成するすべての新しい Relation コンストレイントは、My Macros オペレータに表示されます。Scene Browser でコンストレイントの名前を変更し、My Macros オペレータを使用してカスタム Relation コンストレイントを格納できます。 
カスタム マクロ コンストレイントを、オペレータから Viewer ウィンドウにドラッグします。マクロの詳細については、「マクロ リレーションを作成、編集、名前変更、削除する」を参照してください。 
Number
Number オペレータは、数値を含む数式を計算します。ベクトルの数学計算を行いたい場合は、該当する Rotation オペレータまたは Vector オペレータを使用します。 
| Absolute (|a|) |  | 
|---|
| 用途 | 受信した数値の絶対値を送信します。 | 
| 受信 | 1 つの数値: (a) | 
| 送信 | 受信した数値の正の値。たとえば、(a) = -3の場合、(result)は 3 になります。 | 
| Add (a+b) |  | 
|---|
| 用途 | 2 つの数値を加算します。 | 
| 受信 | (a)と(b)の 2 つの数値 | 
| 送信 | 2 つの数値の合計。(result) = (a)+(b) | 
| arccos (a) |  | 
|---|
| 用途 | 数値に対してアークコサイン関数を実行します。 | 
| 受信 | 1 つの数値: (a) | 
| 送信 | (a)のアークコサイン。(result) = arccos(a) | 
| arcsin (a) |  | 
|---|
| 用途 | 数値に対してアークサイン関数を実行します。 | 
| 受信 | 1 つの数値(a) | 
| 送信 | (a) のアークサイン。(result) = arcsin(a) | 
| arctan (a) |  | 
|---|
| 用途 | 逆タンジェント関数を実行します。 | 
| 受信 | 1 つの数値: (a) | 
| 送信 | (a)の逆タンジェント | 
| arctan2 (b/a) |  | 
|---|
| 用途 | 2 つの数値を使用して、アークタンジェント関数を実行します。 | 
| 受信 | 2 つの数値: (a)と(b) | 
| 送信 | (b)を(a)で割った値のアークタンジェント。(result) = arctan(b/a) | 
| Cosine cos (a) |  | 
|---|
| 用途 | 数値に対してコサイン関数を実行します。 | 
| 受信 | 1 つの数値: (a) | 
| 送信 | (a)のコサイン。(result) = cos(a) | 
| Damp |  | 
|---|
| 用途 | 数値にダンピング(減衰)を適用します。 | 
| 受信 | 2 つの数値。最初の値(a)は、ダンピングされる値です。2 番目の値(Damping Factor)は、ダンピング係数です。 | 
| 送信 | (result) = ダンピングを適用した(a) | 
| Damp (クロック基準) |  | 
|---|
| 用途 | Damp と似ていますが、このリレーションはリフレッシュ レートではなく MotionBuilder のクロックを基準にします。このリレーションは、すべてのコンピュータ上のシーンを同一にするので、Damp リレーションに対してお勧めします。 | 
| 受信 | a (Number)、Damping Factor (Number)、Play Mode (Number) | 
| 送信 | Result (Number) | 
| Distance Numbers |  | 
|---|
| 用途 | 2 つの位置間の距離を計算します。 | 
| 受信 | (a)と(b)の 2 つの数値 | 
| 送信 | (a)と(b)の間の距離 | 
| Divide (a/b) |  | 
|---|
| 用途 | 2 つの数値を除算します。 | 
| 受信 | 2 つの数値: (a)と(b) | 
| 送信 | 最初の数値(a)を 2 番目の数値(b)で割った商。(result) = (a/b) | 
| Exp (a) |  | 
|---|
| 用途 | 基数値 [e] 自身を(a)回乗算します。[e=2.718]。 | 
| 受信 | 1 つの数値: (a) | 
| 送信 | (result) = (e^a)。たとえば(e^2)の場合、2.718 x 2.718 = 7.3875 | 
| Exponent (a^b) |  | 
|---|
| 用途 | 数値(a)自身を(b)回乗算します。 | 
| 受信 | 2 つの数値: (a)と(b) | 
| 送信 | (result) = (a^b)、つまり(a)の(b)乗 | 
| IF Cond Then A Else B |  | 
|---|
| 用途 | If、Then、Else 文を計算します。 | 
| 受信 | (a)と(b)の2つの数値、および条件(bool) | 
| 送信 | Cond がゼロでない場合、(a)入力が Result として出力されます。Cond がゼロの場合、(b)入力が Result として出力されます。 | 
| Integer |  | 
|---|
| 用途 | 数値の端数を切り捨て、整数に変換します。 | 
| 受信 | 1 つの数値: (a) | 
| 送信 | 数値の端数を切り捨て、整数に変換します。 | 
| Invert (1/a) |  | 
|---|
| 用途 | 数値を逆数にします。 | 
| 受信 | 数値(a) | 
| 送信 | 1 を数値で割ります。(result) = (1/a) | 
| Is between A and B |  | 
|---|
| 用途 | 一方の値がもう一方の値との間にあることを確認します。 | 
| 受信 | 2 つの数値: (a)と(b) | 
| 送信 | (result) = true (1)最初の値(a)が 2 番目の値(b)との間にある場合。それ以外の場合は、(result) = false (0) | 
| Is different (a ! = b) |  | 
|---|
| 用途 | 2 つの値が等しくないことを確認します。 | 
| 受信 | 2 つの数値: (a)と(b) | 
| 送信 | (result) = true (1)最初の値(a)が 2 番目の値(b)と等しくない場合。それ以外の場合は、(result) = false (0) | 
| Is greater (a > b) |  | 
|---|
| 用途 | 一方の値がもう一方の値より大きいことを確認します。 | 
| 受信 | 2 つの数値: (a)と(b) | 
| 送信 | (result) = true (1)最初の値(a)が 2 番目の値(b)よりも大きい場合。それ以外の場合は、(result) = false (0) | 
| Is greater or equal (a >=b) |  | 
|---|
| 用途 | 一方の値がもう一方の値より大きいか、それに等しいことを確認します。 | 
| 受信 | 2 つの数値: (a)と(b) | 
| 送信 | (result) = true (1)最初の値(a)が 2 番目の値(b)より大きいか、等しい場合。それ以外の場合は、(result) = false (0) | 
| Is identical (a == b) |  | 
|---|
| 用途 | 2 つの値が等しいことを確認します。 | 
| 受信 | 2 つの数値: (a)と(b) | 
| 送信 | (result) = true (1)最初の値(a)が 2 番目の値(b)と等しい場合。それ以外の場合は、(result) = false (0) | 
| Is less (a < b) |  | 
|---|
| 用途 | 一方の値がもう一方の値より小さいことを確認します。 | 
| 受信 | 2 つの数値: (a)と(b) | 
| 送信 | (result) = true (1)最初の値(a)が 2 番目の値(b)よりも小さい場合。それ以外の場合は、(result) = false (0) | 
| Is less or equal (a <= b) |  | 
|---|
| 用途 | 一方の値がもう一方の値より小さいか、それに等しいことを確認します。 | 
| 受信 | 2 つの数値: (a)と(b) | 
| 送信 | (result) = true (1)最初の値(a)が 2 番目の値(b)より小さいか、等しい場合。それ以外の場合は、(result) = false (0) | 
| ln(a) |  | 
|---|
| 用途 | 自然対数を計算します。 | 
| 受信 | 1 つの数値: (a) | 
| 送信 | (a)の自然対数。(result) = ln(a) | 
| Log(a) |  | 
|---|
| 用途 | 数値の、10 を底とする対数を計算します。 | 
| 受信 | 1 つの数値: (a) | 
| 送信 | 10 を底とする(a)の対数。(result) = log(a) | 
| Max Pass-thru |  | 
|---|
| 用途 | 複数の数値を与えられ、最大の数値を返します。 | 
| 受信 | 複数の数値 | 
| 送信 | 入力の最大値 | 
| Memory (a when REC) |  | 
|---|
| 用途 | (REC)が(1)に等しい場合、値(a)が(result)に送信されます。受信した(REC)がトリガの場合に値を送信するには、このオペレータを使用します。 | 
| 受信 | 1 つの数値(a)と 1 つのブーリアン値(REC: 0 または 1) | 
| 送信 | (REC)が true (1)の場合、(a) | 
| Min Pass-thru |  | 
|---|
| 用途 | 複数の数値を与えられ、最小の数値を返します。 | 
| 受信 | 複数の数値 | 
| 送信 | 入力の最小値 | 
| Modulo mod (a,b) |  | 
|---|
| 用途 | 2 つの値を除算して、余りを送信します。 | 
| 受信 | 2 つの数値: (a)と(b) | 
| 送信 | 最初の値(a)を 2 番目の値(b)で割った余り | 
| Multiply (a x b) |  | 
|---|
| 用途 | 2 つの値を乗算します。 | 
| 受信 | 2 つの数値: (a)と(b) | 
| 送信 | 最初の値(a)を 2 番目の値(b)で乗じた積。(result) = (a)(b) | 
| PRECISION NUMBERS |  | 
|---|
| 用途 | 指定された精度の値に数値を切り捨てます。たとえば、数値が a = 12.36 で、精度の指定値が 0.1 の場合、結果は 12.30 になります。 | 
| 受信 | (a)(Number)および Precision(Number) | 
| 送信 | Result (Number) | 
| PULL NUMBER |  | 
|---|
| 用途 | 入力パラメータから連続的に値を引き出し、その結果を内部バッファに格納して Result 値として使用します。直前の計算値が得られるので、独自のデータを持つオブジェクトをコンストレインする必要がある場合に便利です。 | 
| 受信 | (a)(Number) | 
| 送信 | Result (Number) | 
| Scale and offset (Number) |  | 
|---|
| 用途 | 数値をスケールおよびオフセット処理します。 | 
| 受信 | 最大制限値(Clamp Max)、最小制限値(Clamp Min)、オフセット(Offset)、スケール係数(Scale Factor)、および元の値(x)の 5 つの数値 | 
| 送信 | 元の値(x)にスケール係数(Scale Factor)を乗算し、オフセット値(Offset)でオフセット処理した値。結果が最大制限値(Clamp Max)より大きい場合、最大制限値が送信されます。結果が最小制限値(Clamp Min)より小さい場合、最小制限値が送信されます。(result) = [(x) x (Scale)+(Offset)]。(result)は、(Clamp Min)以上、(Clamp Max)以下になります。 | 
| Sine sin(a) |  | 
|---|
| 用途 | 数値に対してサイン関数を実行します。 | 
| 受信 | 1 つの数値: (a) | 
| 送信 | (a)のサイン。(result) = sin(a) | 
| sqrt(a) |  | 
|---|
| 用途 | 数値の平方根を求めます。 | 
| 受信 | 1 つの数値: (a) | 
| 送信 | 受信した数値の平行根。(result) = sqrt(a) | 
| Subtract (a-b) |  | 
|---|
| 用途 | (a)と(b)の 2 つの数値で減算します。 | 
| 受信 | 2 つの数値: (a)と(b) | 
| 送信 | 最初の数値(a)から 2 番目の数値(b)を減算した結果。(result) = (a) - (b) | 
| Sum 10 numbers |  | 
|---|
| 用途 | 数値に 10 を加算します。 | 
| 受信 | (a)、(b)、(c)、(d)、(e)、(f)、(g)、(h)、(i)、(j)の 10 個の数値 | 
| 送信 | 数値+ 10。(result) = (a)+10 | 
| Tangent tan(a) |  | 
|---|
| 用途 | 数値に対して接線関数を実行します。 | 
| 受信 | 1 つの数値: (a) | 
| 送信 | (a)のタンジェント。(result) = tangent(a) | 
| Triggered delay (Number) |  | 
|---|
| 用途 | 数値の送信を遅らせます。 | 
| 受信 | タイム形式の遅延、遅延の後に送信される数値、パニック ボタン、およびカウンタを開始する [Enabled] ボタン | 
| 送信 | 遅延時間の経過後に受信した数値。ボックスが有効になると、カウントを開始します。遅延時間の経過前に数値を送信するには、パニック ボタンをトリガします。 | 
| Triggered Delay with Memory (Number) |  | 
|---|
| 用途 | 数値の送信を遅らせます。 | 
| 受信 | タイム形式の遅延、遅延の後に送信される数値、および切り替えスイッチ | 
| 送信 | 遅延時間の経過後に受信した数値 | 
Other
その他のオペレータは次のとおりです。 
| Bezier curve |  | 
|---|
| 用途 | 他の 3D アプリケーションで「パス」と呼ばれるようなスプライン動作を作成します。スプラインの場合、1 つのボックスは 1 つのセグメントを作成します。多数のセグメントを持つスプラインを作成するには、複数のボックスを結合します。制御点として機能させるには、4 つのオブジェクトが必要です。 | 
| 受信 | 4 つの移動(制御点 1~4、および前のセグメントの結果)、位置の比率(0~100%。結果に送信されたカーブ上の位置を表します。同じソース値に接続された複数のセグメントをすべてのベジエ カーブ ボックスで使用する場合)、セグメントのカウント(使用するセグメント、すなわちベジエ カーブ ボックスの数)、セグメントのインデックス(一連のセグメントで使用する場合の、このボックスの順序。1 から開始)。 | 
| 送信 | Result (Number) | 
| Clip trigger |  | 
|---|
| 受信 | (Front、Source、Target)の 3 つの移動値と Stop Range | 
| 送信 | Accel、Decel、Forward、Left 45、Left 90、Right 45、Right 90、Turn 180 | 
| Damping (3D) |  | 
|---|
| 用途 | 指定したダンピング係数を使用してベクトルの位置をダンピングします。 | 
| 受信 | 数値のダンピング係数(Damping Factor)とダンピング対象のベクトル(P) | 
| 送信 | ダンピング適用後のベクトル | 
| Damp (3D) (クロック基準) |  | 
|---|
| 用途 | Damp (クロック基準)に似ていますが、このリレーションは Damp (3D)リレーションを基準にします。 | 
| 受信 | P (Point)、Damping Factor (Number)、Play Mode (Number) | 
| 送信 | Result (Number) | 
| FCurve number (%) |  | 
|---|
| 用途 | FCurve を手動で編集するには、右クリックしてコンテキスト メニューから Edit を選択します。カーブの長さを基準にした比率(%)で表されます。 | 
| 受信 | 比率(0~100%) (数値) | 
| 送信 | Value(Number) | 
| FCurve number (Time) |  | 
|---|
| 用途 | FCurve を手動で編集するには、右クリックしてコンテキスト メニューから Edit を選択します。現在の時間を基準にした値を送信します。 | 
| 受信 | 位置(%) (数値) | 
| 送信 | Value(Number) | 
| Real Time フィルタ |  | 
|---|
| 用途 | 受信されるライブ データにローパス フィルタを適用します。 | 
| 受信 | Drop Analysis、Drop Error、Enable、Filter Len、Filter Type (数値)および In P 0 - In P 31 (ベクトル)。 | 
| 送信 | Out P 0 - Out P 31 (ベクトル)。 | 
| TRIGGERED PLUS MINUS COUNTER |  | 
|---|
| 用途 | 増分/減分を加算するトリガを作成します (増分/減分の値を指定する必要があります)。また、Loop オプションを含める必要があります。 | 
| 受信 | Increment、Max、Min (数値)、および Loop、Trigger Increase、Trigger Decrease (ブーリアン) | 
| 送信 | 数値。(result) = (a)+ または(a)- | 
| TRIGGERED RANDOM |  | 
|---|
| 用途 | 要求に応じて、乱数を生成します。 | 
| 受信 | Max、Min、Precision、Seed (数値)、および Trigger Get Number (ブーリアン) | 
| 送信 | 数値 | 
Rotation
Rotation オペレータは、特に回転値に対して使用します。回転値はすべてベクトルです。 
| Add (R1+R2) |  | 
|---|
| 用途 | 2 つの回転ベクトルを加算します。 | 
| 受信 | (Ra)と(Rb)の 2 つの回転ベクトル | 
| 送信 | ベクトルの合計。(result) = (Ra)+(Rb) | 
| Angle difference (Points) |  | 
|---|
| 用途 | 与えられた半径を使用して、2 つのベクトル間またはポイント間の角度を計算します。 | 
| 受信 | 各ポイントの位置の 2 つのベクトル(P1)と(P2)、および半径(Radius) | 
| 送信 | 数値で表した角度 | 
| Angle difference (Rotations) |  | 
|---|
| 用途 | 2 つのオブジェクト間の回転の差を計算します。結果は、スケールおよびオフセット処理できます。 | 
| 受信 | スケール係数(Mult.Factor)、オフセット値(Offset)、比較対象の 2 つの回転値(R1 と R2) | 
| 送信 | スケールおよびオフセット処理後の、2 つの回転間の角度の差 | 
| ANGULAR ACCELERATION |  | 
|---|
| 用途 | 回転ベクトルの角加速度を戻します。 | 
| 受信 | 回転値(R) | 
| 送信 | Result(Vector) | 
| ANGULAR SPEED |  | 
|---|
| 用途 | 回転ベクトルの角速度を戻します。 | 
| 受信 | 回転値(R) | 
| 送信 | Result (Vector) | 
| Damp (Rotation) |  | 
|---|
| 用途 | 回転ベクトルにダンピングを適用します。 | 
| 受信 | ダンピング(Number)、最大加速(Max acc)、最高速度(Max speed)、回転ベクトル(R) | 
| 送信 | ダンピング後の回転ベクトル | 
| GLOBAL TO LOCAL |  | 
|---|
| 用途 | 回転ベクトルをグローバル座標からローカル座標に変換します。 | 
| 受信 | 基本回転ベクトル(Base)とグローバル回転ベクトル(Global Rot) | 
| 送信 | 変換済みのローカル回転 | 
| Interpolate |  | 
|---|
| 用途 | 2 つの回転間を補間します。 | 
| 受信 | 数値の比率(c)、および(Ra)と(Rb)の 2 つの回転ベクトル | 
| 送信 | 回転ベクトル(Ra)と(Rb)の差。差はベクトルとして送信されます。(result) = Ra+C[(Rb) - (Ra)] | 
| Local to global |  | 
|---|
| 用途 | 回転ベクトルをローカル座標からグローバル座標に変換します。 | 
| 受信 | 基本回転ベクトル(Base)とローカル回転ベクトル(Local Rot) | 
| 送信 | 変換済みのグローバル回転 | 
| Rotation scaling |  | 
|---|
| 用途 | 数値の比率に基づいて回転ベクトルをスケールします。 | 
| 受信 | 数値の比率(b)、およびスケール対象の回転ベクトル(Ra) | 
| 送信 | スケールされた回転ベクトル (result) = (b) x (Ra) | 
| SENSOR ROTATION HELPER |  | 
|---|
| 受信 | モデル(Model)からの回転ベクトル、回転オフセット (Offset)、センサ(Sensor)からの回転ベクトル、各座標の数値のスケール係数(X factor、Y factor、Z factor) | 
| 送信 | 回転ベクトル | 
| Subtract (R1 - R2) |  | 
|---|
| 用途 | 2 つの回転ベクトルで減算します。 | 
| 受信 | (Ra)と(Rb)の 2 つの回転ベクトル | 
| 送信 | 最初の回転ベクトル(Ra)から 2 番目の回転ベクトル(Rb)を減算した結果。(result) = (Ra) - (Rb) | 
| Three-point constraint |  | 
|---|
| 用途 | 3 つのベクトルから回転を作成します。 | 
| 受信 | (Pa、Pb、Pc)の 3 つの位置ベクトル | 
| 送信 | 受信した 3 つのベクトルに基づく回転ベクトル | 
Shapes
Shape オペレータは、シェイプ アニメーション(モーフ ターゲットともいいます)付きのモデルに使用する特殊なオペレータです。 
| Select exclusive |  | 
|---|
| 用途 | [SUM shape n] が(Percent)よりも大きい場合のみ、比率(percent / [SUM shape n])で形状値を計算します。 | 
| 受信 | 比率(%)、6 個の形状、Default Shape | 
| 送信 | Result (shapes) = (percent / [SUM shape n]) x (shape n)。Result (Default Shape) = (percent - [SUM shape N])。たとえば、(percent = 80)、(Shape 1= 60)、(Shape 2= 50)、(Shape 3= 90)の場合、Result は(Shape 1= 24)、(Shape 2= 20)、(Shape 3= 36)になります。 | 
| Select exclusive 24 |  | 
|---|
| 用途 | 24 個の形状を計算するという点以外は、Select exclusive と同じです。 | 
| 受信 | 比率(%)、最大 24 個の形状、Default Shape | 
| 送信 | Result (shapes) = (percent / [SUM shape n]) x (shape n)。Result (Default Shape) = (percent - [SUM shape N])。たとえば、(percent = 80)、(Shape 1= 60)、(Shape 2= 50)、(Shape 3= 90)の場合、Result は(Shape 1= 24)、(Shape 2= 20)、(Shape 3= 36)になります。 | 
| Shape calibration |  | 
|---|
| 用途 | 最小値と最大値の間で補間される値の比率を計算します。 | 
| 受信 | 最大数値(Max)、最小数値(Min)、ブーリアン逆数値(0 または 1)、キャリブレーション対象値(Value) | 
| 送信 | 比率。(reverse)が 1 の場合、結果は逆になります。(result) = 100 - (result) | 
Sources
Sources オペレータを使用して、変動データ ソースを提供することによって、自動的な動き、回転、およびシェイプ アニメーションを作成できます。たとえば、Sine Ramp は、モデルをまばたきさせるために使用する正弦波を作成します。 
| Counter with play pause |  | 
|---|
| 用途 | Counter with Start Stop オペレータと同様に、このソース オペレータを使用するとカウンタを作成できます。 | 
| 受信 | Bounce (bool)、Loop (Number)、Max (Number)、Min (Number)、Play Mode、Speed、Trigger (bool)、Trigger Reset | 
| 送信 | Count (Nmber)。カウンタは、Trigger コネクタがゼロ以外の値を受け取ると、カウントを開始します。カウンタは、Start の値から Stop の値まで増加します。Bounce コネクタを true (1)に設定すると、カウンタは Start の値に向かって減少します。カウントを実行する回数を設定するには、Freq 値を使用します。 | 
| Counter with start stop |  | 
|---|
| 用途 | このソース オペレータを使用すると、カウンタを作成できます。 | 
| 受信 | Bounce (bool)、Freq (Number)、Start (Number)、Stop (Number)、Trigger (Bool) | 
| 送信 | Count (Number)。カウンタは、Trigger コネクタがゼロ以外の値を受け取ると、カウントを開始します。カウンタは、Start の値から Stop の値まで増加します。Bounce コネクタを true (1)に設定すると、カウンタは Start の値に向かって減少します。カウントを実行する回数を設定するには、Freq 値を使用します。 | 
| HALF CIRCLE RAMP |  | 
|---|
| 用途 | 入力値を半円のランプに適用します。 | 
| 受信 | 振幅(Amp)、周波数(Freq)、フェーズ比率(Phase %)の 3 つの数値 | 
| 送信 | 受信した振幅、周波数、フェーズ比率に基づいた半円のランプ | 
| Isosceles triangle ramp |  | 
|---|
| 用途 | 入力値を二等辺三角形のランプに適用します。 | 
| 受信 | 振幅(Amp)、周波数(Freq)、フェーズ比率(Phase %)の 3 つの数値 | 
| 送信 | 受信した振幅、周波数、フェーズ比率に基づいた二等辺三角形のランプ | 
| Pulse |  | 
|---|
| 用途 | 0 と 1 のストリームを、指定した頻度。たとえば、010101010101。Enabled コネクタを使用すると、Pulse コンストレイントの有効/無効を切り替えることができます。 | 
| 受信 | Enabled (Bool)、Freq Hz (Number)、Play Mode | 
| 送信 | Result (Number) | 
| Ramp |  | 
|---|
| 用途 | 入力値をランプに適用します。 | 
| 送信 | 数値カウント。Ramp オペレータを最初に Relation ウィンドウに追加すると、ゼロから開始し、以降カウントが増えていきます。 | 
| Random |  | 
|---|
| 用途 | 指定された頻度の乱数のストリームを生成します。 | 
| 受信 | Freq、Max、Min、Play Mode、Precision、Seed (Number) | 
| 送信 | Result (Number) | 
| RIGHT TRIANGLE RAMP |  | 
|---|
| 用途 | 入力値を直角三角形のランプに適用します。 | 
| 受信 | 振幅(Amp)、周波数(Freq)、フェーズ比率(Phase %)の 3 つの数値 | 
| 送信 | 受信した振幅、周波数、フェーズ比率に基づいた直角三角形のランプ | 
| SINE RAMP |  | 
|---|
| 用途 | 入力値をサインのランプに適用します。 | 
| 受信 | 振幅(Amp)、周波数(Freq)、フェーズ比率(Phase %)の 3 つの数値 | 
| 送信 | 受信した振幅、周波数、フェーズ比率に基づいたサイン ウェーブのランプ | 
| SQUARE RAMP |  | 
|---|
| 用途 | 入力値を方形のランプに適用します。 | 
| 受信 | 振幅(Amp)、周波数(Freq)、フェーズ比率(Phase %)の 3 つの数値 | 
| 送信 | 受信した振幅、周波数、フェーズ比率に基づいた方形ウェーブのランプ | 
System
System オペレータを使用すると、タイムコードと再生または記録状態をリレーションで使用できます。 
| Current time |  | 
|---|
| 用途 | 現在のタイムコードを使用します。 | 
| 送信 | 現在のタイムコード | 
| Local time |  | 
|---|
| 用途 | ローカル タイムコードを使用します。 | 
| 送信 | ローカル タイムコード フィールドに表示されるローカル タイムコード | 
| Play Mode |  | 
|---|
| 用途 | MotionBuilder が再生モードであるかどうかを確認します。 | 
| 送信 | MotionBuilder が再生モードの場合は、ブーリアン値 true (1)。それ以外の場合は、false (0)を送信します。 | 
| Reference Time |  | 
|---|
| 用途 | リファレンス タイムコードを使用します。 | 
| 送信 | リファレンス タイム コード フィールドに表示されるリファレンス タイム コード | 
| System Time |  | 
|---|
| 用途 | コンピュータのシステム クロックを使用します。 | 
| 送信 | SMPTE タイムコードのシステム時間 | 
| Transport Control |  | 
|---|
| 用途 | Transport Controls のボタンのように動作します。 | 
| 受信 | Play (Bool)、Play Backward (Bool)、Record (Bool)、Step Forward (Bool)、Step Backward (Bool)、Goto Beginning (Bool)、Goto End (Bool)、Goto Position Trigger (Bool)、および Goto Position Value (Time) | 
| 送信 | Play (Bool)、Play Backward (Bool)、Record (Bool) | 
Time
SMPTE タイム コードまたはフレーム/秒で表現される 2 つの異なる時間を比較するには、Time オペレータを使用します。これらのオペレータは、たとえば、現在のタイム コードに基づいた回転、移動、またはアニメーションのトリガに使用できます。 
| If Cond Then T1 Else T2 |  | 
|---|
| 用途 | Time (T1)に基づいて、If、Then、Else 文を計算します。 | 
| 受信 | 3 つの値: Cond (bool)および T1、T2 (Time) | 
| 送信 | Cond がゼロでない場合、(T1)入力が Result として出力されます。Cond がゼロの場合、(T2)入力が Result として出力されます。 | 
| Is Different (T1! = T2) |  | 
|---|
| 用途 | Time (T1)が(T2)と異なることを確認します。 | 
| 受信 | フレーム/秒または SMPTE を単位とする、(T1)と(T2)の 2 つの時間値 | 
| 送信 | (T1)と(T2)が等しくない場合は、ブーリアン値 true (1)。(T1)と(T2)が等しい場合は、false (0)を送信します。 | 
| Is Greater (T1 > T2) |  | 
|---|
| 用途 | Time (T1)が(T2)より大きいことを確認します。 | 
| 受信 | フレーム/秒または SMPTE を単位とする、(T1)と(T2)の 2 つの時間値 | 
| 送信 | (T1)が(T2)より大きい場合は、ブーリアン値 true (1)。(T1)が(T2)より小さいか等しい場合は、false (0)を送信します。 | 
| Is Greater or Equal (T1 >= T2) |  | 
|---|
| 用途 | Time (T1)が(T2)より大きいか、それに等しいことを確認します。 | 
| 受信 | フレーム/秒または SMPTE を単位とする、(T1)と(T2)の 2 つの時間値 | 
| 送信 | (T1)が(T2)より大きいか等しい場合は、ブーリアン値 true (1)。(T1)が(T2)より小さい場合は、false (0)を送信します。 | 
| Is Identical (T1 == T2) |  | 
|---|
| 用途 | Time (T1)が(T2)と等しいことを確認します。 | 
| 受信 | フレーム/秒または SMPTE を単位とする、(T1)と(T2)の 2 つの時間値 | 
| 送信 | (T1)と(T2)が等しい場合は、ブーリアン値 true (1)。(T1)と(T2)が等しくない場合は、false (0)を送信します。 | 
| Is Less (T1 < T2) |  | 
|---|
| 用途 | Time (T1)が(T2)より小さいことを確認します。 | 
| 受信 | フレーム/秒または SMPTE を単位とする、(T1)と(T2)の 2 つの時間値 | 
| 送信 | (T1)が(T2)より小さい場合は、ブーリアン値 true (1)。(T1)が(T2)より大きいか等しい場合は、false (0)を送信します。 | 
| Is Less or Equal (T1 <= T2) |  | 
|---|
| 用途 | Time (T1)が(T2)より小さいか、それに等しいことを確認します。 | 
| 受信 | フレーム/秒または SMPTE を単位とする、(T1)と(T2)の 2 つの時間値 | 
| 送信 | (T1)が(T2)より小さいか等しい場合は、ブーリアン値true (1)。(T1)が(T2)より大きい場合は、false (0)を送信します。 | 
Vector
Vector オペレータは、ベクトル数学計算と、ベクトルを含むその他の計算を行います。モデルとアセットのすべての移動、回転、およびスケール値は、ベクトルで表現されます。 
| Acceleration |  | 
|---|
| 用途 | 時間の経過に従ってベクトルの値が変化する速度に基づいて、ベクトル(Position)の加速度を計算します。たとえば、このオペレータを使用して、オブジェクトの移動速度または回転速度を計算できます。 | 
| 受信 | 1 つのベクトル(Position) | 
| 送信 | 与えられたベクトル(Position)の加速度を示すベクトル | 
| Add (V1+V2) |  | 
|---|
| 用途 | 2 つのベクトルを加算します。 | 
| 受信 | 2 つのベクトル: (V1)と(V2) | 
| 送信 | 2 つのベクトルの合計。(result) = (V1)+(V2) | 
| Angle |  | 
|---|
| 用途 | 2 つのベクトル間の角度を作成します(度数で表します)。 | 
| 受信 | 2 つのベクトル(V1)と(V2) | 
| 送信 | 数値。(result) = (V1) - (V2) | 
| Center of Mass |  | 
|---|
| 用途 | 複数の頂点の中心を計算します(3D 空間座標で表します)。 | 
| 受信 | 2 つのベクトル(V1)と(V2) | 
| 送信 | 中心点(平均)をベクトルとして計算します。 | 
| Damp position |  | 
|---|
| 用途 | 位置ベクトルにダンピングを適用します。 | 
| 受信 | 数値のダンピング係数(Damping)、数値の最大加速(Max acc)、数値の最高速度(Max speed)、および位置ベクトル(T) | 
| 送信 | ダンピング後のベクトル | 
| Derive |  | 
|---|
| 用途 | リセットを使用して算出します。Reset コネクタは、ブーリアン値(0 か 1)のみを受け入れます。Derive オペレータをオリジナルのベクトル(Initial Vector)にリセットするには、Reset コネクタに 1 を送信します。 | 
| 受信 | Reset (Bool)、V1 (Initial vector)、V2 (vector) | 
| 送信 | 2 つのベクトルから算出されるベクトル。Reset (BOOL)コネクタに 1 が送信されると、Derive は元のベクトル(Initial vector)にリセットされます。 | 
| Determinant |  | 
|---|
| 用途 | 行列 3 行 x 3 列(I、J、K)の行列式を戻します。 | 
| 受信 | I、J、K の 3 つのベクトル | 
| 送信 | 1 つの数値 | 
| Displacement |  | 
|---|
| 用途 | ディスプレイのフレーム レートに対する依存を除去します。 | 
| 受信 | 速度(ベクトル)およびリセット(元の位置をゼロにリセットするアクション)。 | 
| 送信 | ベクトル(ライブ入力の速度から計算されるゼロ位置)。 | 
| Distance |  | 
|---|
| 用途 | 2 つの位置間の距離を計算します。 | 
| 受信 | 2 つのベクトル: (V1)と(V2) | 
| 送信 | 数値で表した、2 つのベクトル間の距離 | 
| Dot product (V1 .V2) |  | 
|---|
| 用途 | 2 つのベクトルの内積を計算します。 | 
| 受信 | 2 つのベクトル: (V1)と(V2) | 
| 送信 | 数値で表した、2 つのベクトルの内積。(result) = (V1).(V2) | 
| Gravity |  | 
|---|
| 用途 | 位置を戻します。 | 
| 受信 | (Acceleration、Position、Speed)の 3 つのベクトル | 
| 送信 | 1 つの数値(result)= (a)(b)(c) | 
| IF Cond Then A Else B |  | 
|---|
| 用途 | If、Then、Else 文を計算します。 | 
| 受信 | (a)と(b)の 2 つのベクトル、および条件(bool) | 
| 送信 | Cond がゼロでない場合、最初のベクトル(a)入力が Result として出力されます。Cond がゼロの場合、2 番目のベクトル(b)が Result として出力されます。 | 
| Is different (V1 ! = V2) |  | 
|---|
| 用途 | ベクトル(V1)がベクトル(V2)と異なることを確認します。 | 
| 受信 | フレーム/秒または SMPTE を単位とする、(V1)と(V2)の 2 つの時間値 | 
| 送信 | (V1)が(V2)と等しくない場合はブーリアン値 true (1)。(V1)が(V2)と等しい場合は false (0)を送信します。 | 
| Is identical (V1 == V2) |  | 
|---|
| 用途 | ベクトル(V1)がベクトル(V2)と等しいことを確認します。 | 
| 受信 | フレーム/秒または SMPTE を単位とする、(V1)と(V2)の 2 つの時間値 | 
| 送信 | (V1)と(V2)が等しい場合はブーリアン値 true (1)。(V1)と(V2)が等しくない場合は false (0)を送信します。 | 
| Length |  | 
|---|
| 用途 | ベクトルとワールド座標のゼロ点との距離を計算します。 | 
| 受信 | 1 つのベクトル: (V1) | 
| 送信 | 数値で表した、ベクトルとワールド座標のゼロ点の間の距離 | 
| Memory (V1 when REC) |  | 
|---|
| 用途 | 受信した(REC)がトリガの場合にベクトルを送信するには、このオペレータを使用します。 | 
| 受信 | 1 つのベクトル(V1)、および 1 つのブーリアン値(REC: 0 または 1) | 
| 送信 | (REC)が true (1)の場合、(result) = (V1) | 
| MIDDLE POINT |  | 
|---|
| 用途 | 2 つのベクトル間を与えられた比率で補間します。 | 
| 受信 | (V1)と(V2)の 2 つのベクトル、および 0~1 の間の比率(Ratio) | 
| 送信 | 補間済みのベクトル。(result) = V1+ratio[(V2) - (V1)] | 
| Normalize |  | 
|---|
| 用途 | ベクトルを正規化します。 | 
| 受信 | 1 つのベクトル。 | 
| 送信 | 正規化済みのベクトル。各座標は 0~1 の間で正規化されます。 | 
| Orbit attraction |  | 
|---|
| 用途 | 位置を戻します。 | 
| 受信 | 1 つの数値(Acceleration)、および(Origin、Position、Speed)の 3 つのベクトル | 
| 送信 | 1 つのベクトル。(result)= (a)(b)(c)(d) | 
| Precision vectors |  | 
|---|
| 用途 | 正確な値をベクトルのすべてのコンポーネントに適用するには、このコンストレイントを使用します。X、Y、および Z には、それぞれ別の精度を設定できます。 | 
| 受信 | A(Number)および桁数(Number) | 
| 送信 | Result (Number) | 
| PULL VECTOR |  | 
|---|
| 用途 | 入力パラメータから連続的に値を引き出し、その結果を内部バッファに格納して Result 値として使用します。この値は、直前の計算と同じ値になります。これは、独自のデータを持つオブジェクトをコンストレインする必要がある場合に便利です。 | 
| 受信 | V (Vector) | 
| 送信 | Result (Vector) | 
| Scale (a x V) |  | 
|---|
| 用途 | 数値でベクトルをスケールします。 | 
| 受信 | スケール係数(Number)とベクトル(Vector) | 
| 送信 | スケール済みのベクトル。(result) = (Number) x (Vector) | 
| Scale and offset (Vector) |  | 
|---|
| 用途 | ベクトルをスケールおよびオフセット処理します。 | 
| 受信 | 最大制限ベクトル(Clamp Max)、最小制限ベクトル(Clamp Min)、オフセット ベクトル(Offset)、数値で表したスケール係数(Scale)、および元の値(x) | 
| 送信 | 元のベクトル(x)にスケール係数(Scale)を乗算し、オフセット ベクトル(Offset)でオフセット処理したベクトル。結果が最大制限ベクトル(Clamp Max)より大きい場合、最大制限ベクトルが送信されます。結果が最小制限ベクトル(Clamp Min)より小さい場合、最小制限ベクトルが送信されます。(result) = (x) x [(Scale Factor)+(Offset)]。(result)は、(Clamp Min)以上、(Clamp Max)以下になります。 | 
| SCALE DAMPING |  | 
|---|
| 用途 | スケール ベクトルにダンピングを適用します。 | 
| 受信 | 数値のダンピング係数(Damping)、数値の最大加速(Max acc)、数値の最高速度(Max speed)、およびスケール ベクトル(S) | 
| 送信 | ダンピングを適用されたスケール ベクトル | 
| Speed |  | 
|---|
| 用途 | 時間の経過に伴う位置の変化に基づいて、ベクトルの速度を計算します。 | 
| 受信 | 1 つのベクトル(Position) | 
| 送信 | ベクトル(Translation)で表したベクトルの速度 | 
| Subtract (V1 - V2) |  | 
|---|
| 用途 | 2 つのベクトルで減算します。 | 
| 受信 | 2 つのベクトル: (V1)と(V2) | 
| 送信 | 最初のベクトル(V1)から 2 番目のベクトル(V2)を減算した結果。(Result) = (V1) - (V2) | 
| Sum 10 vectors |  | 
|---|
| 用途 | 数値に 10 を加算します。 | 
| 受信 | (a)、(b)、(c)、(d)、(e)、(f)、(g)、(h)、(i)、(j)の 10 個のベクトル | 
| 送信 | ベクトル+10。(result) = (a)+10 | 
| Triggered delay (Vector) |  | 
|---|
| 用途 | ベクトル値の送信を遅らせます。 | 
| 受信 | タイム形式の遅延、遅延の後に送信されるベクトル、パニック ボタン、およびカウンタを開始する Enabled ボタン | 
| 送信 | 遅延時間の経過後に受信したベクトル。ボックスが有効になると、カウントを開始します。遅延時間の経過前にベクトルを送信するには、パニック ボタンをトリガします。 | 
| Triggered delay with memory (Vector) |  | 
|---|
| 用途 | ベクトル値の送信を遅らせます。 | 
| 受信 | タイム形式の遅延、遅延の後に送信されるベクトル、および切り替えスイッチ | 
| 送信 | 遅延時間の経過後に受信したベクトル | 
| Vector product (V1 x V2) |  | 
|---|
| 用途 | 2 つのベクトルを乗算します。 | 
| 受信 | 2 つのベクトル: (V1)と(V2) | 
| 送信 | 2 つのベクトルの積。(result) = (V1) x (V2) |