lunarborの備忘録

CGソフトの使い方を記録しておけば自分とどこかの誰かに役立つだろう

エクスプレッションビルダー ユーティリティファンクション 日本語訳

使用ソフト

  • Lightwave2020

ユーティリティファンクション

 

ファンクション

Average (2 Inputs)

◇記述( Description)

 この関数は2つの入力の平均を返します。
InputA にはチャネル、数値、またはサブエクスプレッションを指定できる。  
InputB にはチャネル、数値、またはサブエクスプレッションを指定できる。  

Average (3 Inputs)

◇記述( Description)

 この関数は3つの入力の平均を返します。
InputA にはチャネル、数値、またはサブエクスプレッションを指定できる。  
InputB にはチャネル、数値、またはサブエクスプレッションを指定できる。  
InputC にはチャネル、数値、またはサブエクスプレッションを指定できる。  

Average (4 Inputs)

◇記述( Description)

 この関数は4つの入力間の平均を返します。
InputA にはチャネル、数値、またはサブエクスプレッションを指定できる。  
InputB にはチャネル、数値、またはサブエクスプレッションを指定できる。  
InputC にはチャネル、数値、またはサブエクスプレッションを指定できる。  
InputD にはチャネル、数値、またはサブエクスプレッションを指定できる。  

Clamped MapRange

◇記述( Description)

 この関数は、標準の'mapRange'関数と'clamp'関数を併用し、指定された最小出力範囲と最大出力範囲の間で出力を自動的に制限します。
'Controller' は、 mapRange 関数の出力を制御します。
'Input Min' は、コントローラの最小入力値を定義します。
'Input Max' は、コントローラの最大入力値を定義します。
'Output Min' は、関数の最小出力値を定義します。
'Output Max' は、関数の最大出力値を定義します。
すべての入力は、標準入力変数(Time、Frame、Value)と共に、 チャネル、数値、またはサブエクスプレッションを受け入れることができます。
* mapRange' 関数 と 'clamp' 関数の詳細については、LScript Functions のセクションを参照してください。

Hip Center (Type A)

◇記述( Description)

 この関数は、キャラクタの腰の位置を、X 軸または Z 軸のいずれかで、足の間の中央に自動的に配置します。

'Left Foot' はキャラクタの左足(X または Z の位置)を表します。
'Right Foot'はキャラクタの右足(X または Z の位置)を表します。

'Left Foot' と 'Right Foot' は、入力としてチャンネルのみを受け付けます。
* キャラクタの腰を正しく中央に配置するには、この関数の 'X' バージョンと 'Z' バージョンの両方を作成し、キャラクタの腰の正しいチャンネルに適用する必要があります。

Hip Center (Type B)

◇記述( Description)

 この関数は、X 軸または Z 軸のいずれかで、キャラクタの腰を足の間に中央配置し、スライダで腰の位置を手動で偏らせることができます。

'Bias Slider'は、腰の中央配置の偏りを制御するチャンネルを表します。
'Slider Min' は、'Left Foot' の位置に等しいスライダーの値を決定します。
'Slider Max' は、'Right Foot' の位置に等しいスライダーの値を決定します。
'Left Foot'  はキャラクタの左足(X または Z の位置)を表します。
'Right Foot' はキャラクタの右足(X または Z の位置)を表します。

'Bias Slider'、'Left Foot' 、'Right Foot' はチャンネルのみを入力として受け付けます。'Slider Min' と 'Slider Max' は数値のみ入力できます。

* キャラクタの腰を正しく中央に配置するには、この関数の 'X' バージョンと 'Z' バージョンの両方を作成し、キャラクタの腰の正しいチャンネルに適用する必要があります。

Hip Center (Type C)

◇記述( Description)

 この関数は、X 軸または Z 軸のいずれかで、キャラクタの腰を足の間に中央配置し、スライダを使用して腰の位置を手動で偏らせ、調整できます。

'Bias Slider'は、腰の中央配置の偏りを制御するチャンネルを表します。
'Slider Min'は、'Left Foot' の位置に等しいスライダーの値を決定します。
'Slider Max'は、'Right Foot' の位置に等しいスライダーの値を決定します。
'Left Foot' はキャラクタの左足(X または Z の位置)を表します。
'Right Foot' はキャラクタの右足(X または Z の位置)を表します。
'Adjust Slider' は、腰の値を手動で調整するチャンネルを表します。

'Bias Slider'、'Left Fcot'、'Right Foot'、'Adjust Slider'は入力としてチャンネルのみを受け付けます。
'Slider Min' と 'Slider Max' は数値のみ入力できます。

* キャラクタの腰を正しく中央に配置するには、この関数の 'X' バージョンと 'Z' バージョンの両方を作成し、キャラクタの腰の正しいチャンネルに適用する必要があります。

Hip Height (Type A)

◇記述( Description)

 この関数は、足の相対距離に基づいてキャラクタの腰の高さを調整します。

'Left Foot' は、キャラクタの左足のワールド ポジション ベクトルを表します。
'Right Foot' は、キャラクタの右足のワールド ポジション ベクトルを表します。
'Feet Min' は、デフォルトのポーズにおけるキャラクタの足の間の距離を表します。
'Feet Max' は、足の間隔が最も遠いときの足の間の距離を表します。
'Hip Max' は、デフォルトのポーズでの腰から地面までの距離を表します。
'Hip Min' は、最も遠い足の間隔での腰から地面までの距離の最小値を表します。

 'Left Foot' と 'Right Foot' は、入力としてワールドポジションベクトルのみを受け付けます。 その他の入力は、数値のみを入力として受け付けます。

* 足と足の間の距離に基づいてキャラクタのヒップの高さを適切に制御するには、キャラクタのデフォルトのポージングが準備できてからこの関数を適用するようにしてください。

Hip Height (Type B)

◇記述( Description)

 この関数は、足の相対距離に基づいてキャラクタの腰の高さを調整します。

'Left Foot' は、キャラクタの左足のワールド ポジション ベクトルを表します。
'Right Foot' は、キャラクタの右足のワールド ポジション ベクトルを表します。
'Feet Min' は、デフォルトのポーズにおけるキャラクタの足の間の距離を表します。
'Feet Max' は、足の間隔が最も遠いときの足の間の距離を表します。
'Hip Max' は、デフォルトのポーズでの腰から地面までの距離を表します。               
'Hip Min' は、最も遠い足の間隔での腰から地面までの距離の最小値を表します。
'Adjust Slider' は、ヒップの値を手動で調整するチャンネルを表します。

'Left Foot' と 'Right Foot' は、入力としてワールドポジションベクトルのみを受け付けます。'Feet Min'、'Feet Max'、'Hip Max'、'Hip Min'は数値のみを入力として受け付けます。
'Adjust Slider' はチャンネルのみを入力として受け付けます。

* 足と足の間の距離に基づいてキャラクタのヒップの高さを適切に制御するには、キャラクタのデフォルトのポージングが準備できてからこの関数を適用するようにしてください。

Hip Height (Type C)

◇記述( Description)

 この関数は、足の相対距離に基づいてキャラクタの腰の高さを調整し、'Hip Max' と 'Hip Min' に基づいて出力をクランプ(制限)します。

'Left Foot' は、キャラクタの左足のワールド ポジション ベクトルを表します。
'Right Foot' は、キャラクタの右足のワールド ポジション ベクトルを表します。
'Feet Min' は、デフォルトのポーズにおけるキャラクタの足の間の距離を表します。
'Feet Max' は、足の間隔が最も遠いときの足の間の距離を表します。
'Hip Max' は、デフォルトのポーズでの腰から地面までの距離を表します。               
'Hip Min' は、最も遠い足の間隔での腰から地面までの距離の最小値を表します。
'Adjust Slider' は、ヒップの値を手動で調整するチャンネルを表します。

'Left Foot' と 'Right Foot' は、入力としてワールドポジションベクトルのみを受け付けます。

'Feet Min'、'Feet Max'、'Hip Max'、'Hip Min'は数値のみを入力として受け付けます。
'Adjust Slider' はチャンネルのみを入力として受け付けます。

* 足と足の間の距離に基づいてキャラクタのヒップの高さを適切に制御するには、キャラクタのデフォルトのポージングが準備できてからこの関数を適用するようにしてください。

Hip Height (Full Monty)

◇記述( Description)

 この関数は、足の相対距離に基づいてキャラクタの腰の高さを調整し、'Hip Max' と 'Hip Min' に基づいて出力をクランプ(制限)します。

'Left Foot' は、キャラクタの左足のワールド ポジション ベクトルを表します。
'Right Foot' は、キャラクタの右足のワールド ポジション ベクトルを表します。
'Feet Min' は、デフォルトのポーズにおけるキャラクタの足の間の距離を表します。
'Feet Max' は、足の間隔が最も遠いときの足の間の距離を表します。
'Hip Max' は、デフォルトのポーズでの腰から地面までの距離を表します。               
'Hip Min' は、最も遠い足の間隔での腰から地面までの距離の最小値を表します。
'Adjust Slider' は、ヒップの値を手動で調整するチャンネルを表します。
'Fade Slider'は、「腰の高さ」の自動調整量をコントロールするチャンネルです。

'Feet Min'、'Feet Max'、'Hip Max'、'Hip Min'は数値のみを入力として受け付けます。
'Adjust Slider' と'Fade Slider'は、チャンネルのみを入力として受け付けます。

*この関数をビルダーで設定するには、1024x768以上の画面解像度が必要です。

Hip Turn Out (Type A)

◇記述( Description)

 この関数は、ヘディング、ピッチ、またはバンク (股関節の「ターン アウト」に適用されるもの) において、キャラクタの腰の回転を足の間の中心に自動的に配置します。

'Left Foot' はキャラクタの左足を表します(H、P、または B 回転)。
'Right Foot' はキャラクタの右足を表します(H、P、 または B 回転)。

'Left Foot' と 'Right Foot'は、どちらも入力としてチャンネルのみを受け付けます。

* キャラクタの腰の回転を正しく中央に配置するには、この関数を正しい 'Turn Out' チャンネルに適用する必要があります。これは、地面 (ワールドの XZ 平面) と平行な回転ハンドルになります。

Hip Turn Out (Type B)

◇記述( Description)

 この関数は、ヘディング、ピッチ、またはバンク (股関節の「ターン アウト」に適用されるもの) において、キャラクタの腰の回転を足の間の中心に自動的に配置し、スライダで腰の回転を手動で調整できるようにします。

'Left Foot' はキャラクタの左足を表します(H、P、または B 回転)。
'Right Foot' はキャラクタの右足を表します(H、P、 または B 回転)。
'Adjust Slider' は、腰の値を手動で調整するチャンネルを表します

'Left Foot' 、'Right Foot'、'Adjust Slider' は、いずれも入力としてチャンネルのみを受け付けます。

* キャラクタの腰の回転を正しく中央に配置するには、この関数を正しい 'Turn Out' チャンネルに適用する必要があります。これは、地面 (ワールドの XZ 平面) と平行な腰の回転ハンドルになります。

Hip Turn Out (Type C)

◇記述( Description)

 この関数は、ヘディング、ピッチ、またはバンク (股関節の「ターン アウト」に適用されるもの) において、キャラクタの腰の回転を足の間の中心に自動的に配置し、ヒップの回転を手動で調整したり、スライダで 「ターン アウト」の影響を減衰させたりできます。

'Left Foot' はキャラクタの左足を表します(H、P、または B 回転)。
'Right Foot' はキャラクタの右足を表します(H、P、 または B 回転)。
'Fade Slider' は、自動で「ターンアウト」の量を制御するチャンネルを表します。
'Adjust Slider' は、腰の値を手動で調整するチャンネルを表します。

すべての入力はチャンネルのみを入力として受け付けます。

* キャラクタの腰の回転を正しく中央に配置するには、この関数を正しい 'Turn Out' チャンネルに適用する必要があります。これは、地面 (ワールドの XZ 平面) と平行な腰の回転ハンドルになります。

Hold Value Above

◇記述( Description)

 この関数は、常に 'Floor' 値より大きい(または等しい)値を返します。

'Floor'は、関数から返されたい最も低い値を表します。

Floor'入力には、チャンネル、数値、サブエクスプレッション、および標準入力変数(Time、Frame、Value)を使用できます。

Hold Value Below

◇記述( Description)

 この関数は、常に 'Ceiling' 値より小さい(または等しい)値を返します。

'Ceiling' は、この関数から返されたい最高値を表します。

'Ceiling'入力には、チャンネル、数値、サブエクスプレッション、および標準入力変数(Time、Frame、Value)を使用できます。

◇記述( Description)

 この関数は、アイテムのモーションをモーフターゲットにリンクします。

'Controller' は、モーフリンクを制御するドライバチャンネルです。
'Control Min' は 'Controller' からの最低入力値を表します。
'Control Max'は 'Controller' からの最高入力値を表します。
'Morph Min' はモーフリンクから出力されるモーフ量の最小値を表します。
'Morph Max' はモーフリンクから出力されるモーフ量の最大値を表します。

'Controller' は入力としてチャンネルだけを受け付けます。他の入力はすべて数値のみを入力として受け付けます。

* モーフターゲットを変更または制御するエクスプレッションを作成する場合、モーフターゲットは0.0から1.0(0%から100%ではない)で表されることを覚えておいてください。

Muscle Bone (Primary)

◇記述( Description)

 この関数は、適切なセットアップで使用すると、'Muscle Base' と 'Tendon Target' の間で伸縮する、マッスルボーンの主要なアクションを作成します。

'Muscle base' は、マッスルボーンのベースが接続されている場所を表します。
'Tendon Target' は、筋肉の末端が接続されている場所(通常は Null)を表します。
'Rest Length' は、マッスルボーンの長さです。

Muscle Base' と 'Tendon Target' は、入力としてワールドベクトルしか受け付けません。'Rest Length' は数値のみを入力として受け付けます。

*マッスルボーンを作成する方法については、'Muscle Bone (Optional A)' と 'Muscle Bone (Optional B)' を参照してください。
この機能を期待通りに動作させるには、'モーションオプション' パネルを使用し、マッスルボーンに 'Tendon Target' を 'Target'するように指示する必要があります。

Muscle Bone (Optional A)

◇記述( Description)

 この関数は、'Muscle Bone (Primary)'関数と組み合わせて、マッスルボーンにセカンダリの'Squashing(潰す)'アクションを作成します。これは、マッスルボーンのZscale値によって制御され、そのXscaleとYscaleチャンネルに適用されます。

'Muscle Zscale' は、マッスルボーンのZscaleチャンネルを表します。
'Muscle Zscale' は、入力としてチャネルのみを受け付けます。

*筋肉ボーンを作成する方法については、'Muscle Bone (Primary)'を参照してください。

Muscle Bone (Optional B)

◇記述( Description)

この関数は、'Muscle Bone (Primary)'関数と組み合わせて、マッスルボーンにセカンダリの'Squashing(潰す)'アクションを作成します。これは、マッスルボーンのZscale値によって制御され、そのXscaleとYscaleチャンネルに適用されます。

'Muscle Zscale' は、マッスルボーンのZscaleチャンネルを表します。
'Scale Fader' は、マッスルボーンに対して発生する 'Squashing' の量を決定します。

'Muscle Zscale' は、入力としてチャンネルのみを受け付け、'Scale Fader' はチャンネルまたは数値を受け付けます。

*筋肉ボーンを作成する方法については、'Muscle Bone (Primary)'を参照してください。

Oscillator (Dampened)

◇記述( Description)

 この関数は、自然界によく見られる減衰振動子を作り出します。これは、時間とともに上昇と下降を繰り返す波パターンを生成し、振動のたびにいくらかのエネルギーを失います。この減衰振動は、'Amplitude(振り幅)', 'Frequency(減衰)', 'Phase(位相)'属性に基づいています。

'Amplitude(振り幅)' は波の大きさ(0より上と下)を決定します。
'Damping(減衰)' は、振動サイクル後の波の減衰量を決定します。
'Frequency(周波数)' は、1秒あたりの波の数を決定します。
'Phase(位相)' は、波の弧のどのポイントで波パターンが始まるかを決定します。

すべての入力は、チャンネル、数値、サブエクスプレッション、および標準入力変数(Time、Frame、Value)のいずれかを受け付けることができます。

Oscillator (Standard)

◇記述( Description)

 この関数は、自然界でよく見られる単純な発振器を作成します。'Amplitude(振り幅)'、'Frequency(周波数)'、'Phase(位相)' 属性に基づいて、時間と共に上下する波パターンを生成します。

'Amplitude(振り幅)' は波の大きさ(0より上と下)を決定します。
'Frequency(周波数)' は、1秒あたりの波の数を決定します。
'Phase(位相)' は、波の弧のどのポイントで波パターンが始まるかを決定します。

すべての入力は、チャンネル、数値、サブエクスプレッション、および標準入力変数(Time、Frame、Value)のいずれかを受け付けることができます。

Projectile Motion (Type A)

◇記述( Description)

 この関数はオブジェクトを制御し、フレームゼロから始まる発射体*1の動きを無期限に継続させます。
'initVel(弾速)' は発射体の開始速度(Y軸)を表します。
'startHeight(開始高さ)' は発射体の開始時のY軸の高さを表します。
'gravity(重力)' は重力加速度(地表では-9.8)を表します。

すべての入力は、チャンネル、数値、サブエクスプレッション、または標準的な入力変数(タイムフレーム、値)を受け付ける。

Projectile Motion (Type B)

◇記述( Description)

 この関数は、オブジェクトが指定された時間内に投射動作を行うように制御します。

'initVel(弾速)' は発射体の開始速度(Y軸)を表します。
'startHeight(開始高さ)' は発射体の開始時のY軸の高さを表します。
'startFrame' は発射体の制御を開始するフレームを表します。
'endFrame' は発射体の動きが制御されなくなるフレームを表します。

すべての入力は、チャンネル、数値、またはサブエクスプレッションを入力として受け付けます。'intelVel'と'startHeight'には、標準入力変数(Time、Frame、Value)のいずれかを入力できます。

* 'endFrame' が'startFrame'より早い場合、発射体は開始時の高さに戻るまで制御されます。
**この関数をビルダーで設定するには、1024x768以上の画面解像度が必要です。

Range Finder (Items)

◇記述( Description)

 この関数は、'アイテム A' と 'アイテム B' の間の直線距離を求めます。

'Item A'は距離を求めたいアイテム"から"を表す。
'Item B' は距離を求めたいアイテム"まで"を表す。

Item A' と 'Item B' はどちらも入力として ワールドベクトル しか受け付けません。

Range Finder (Origin)

◇記述( Description)

 この関数は、'Target Item' と原点 <0,0,0> との直線距離を求めます。

'Target Item' は、原点からの距離を求めるアイテムを表す。

'Target Item' は入力として ワールドベクトルだけを受け付けます。

Speed (Description)

◇記述( Description)

 "Speed"は、1つのベクトルの値の時間変化の大きさを表します。

速度の計算式は次のとおりです:(Vector Value 2 - Vector Value 1) / (Time 2 - Time 1)

上記の式は、"グラフエディタ"で、測定したいベクトルの"チャンネル・ビン"内のチャンネル名を右クリックし、 ベクトルの"スピードを表示"オプションを有効にしたのと同じ結果を返します。

* エクスプレッションビルダーの制限により、スピード関数はグラフエディターで手動で作成する必要があります。

Value Cross Fader (Type A)

◇記述( Description)

 この関数は、'Mix Slider' の値に基づいて InputA と InputB の値をミックスします。
'Mix Slider' が 'Slider Min' と 等しい場合、この関数は 'InputA' の値と等しい値を返します。
'Mix Slider' が 'Slider Max' と等しい場合は、'InputB' と等しい値を返します。その中間であれば、2つの入力の平均値を返します。

'Mix Slider' はHUBスライダーでコントロールするマスターチャンネルを指定します。
'Slider Min' はInputAと一致するスライダーミックス量の値です。
'Slider Max' はInputBと一致するスライダーミックス量の値です。
'InputA' にはチャンネル、数値、またはサブエクスプレッションを指定する。
'InputB' にはチャンネル、数値、またはサブエクスプレッションを指定する。

InputAとInputBは、標準入力変数(Time、Framer Value)のいずれかを受け入れることができます。 

Value Cross Fader (Type B)

◇記述( Description)

 この関数は、'Mix Slider' の値に基づいて InputA と InputB の値をミックスします。
'Mix Slider' の値が0の場合、この関数は'InputA'の値と同じ値を返します。
'Mix Slider' の値が1の場合、'InputB' の値と同じ値を返します。
その中間の値であれば、2つの入力の平均値を返します。

'Mix Slider' はHUBスライダーでコントロールするマスターチャンネルを指定します。
'InputA はチャンネル、数値、またはサブエクスプレッションを指定できます。
'InputB はチャンネル、数値、またはサブエクスプレッションを指定できます。

すべての入力は、標準入力変数(Time、Frame、Value)のいずれかを受け入れることができます。

Value Decay

◇記述( Description)

 この関数は、'TimeFactor'に基づいて進行し、'Halflife'に基づいて減衰する統計的な「J」曲線を作成します。

'Halflife'は、値が元のサイズの半分まで減衰する時間を表します。
'TimeFactor' は秒単位で時間の進行を表します。

すべての入力は、チャンネル、数値、またはサブエクスプレッションを受け付けることができます。

'TimeFactor'には、標準入力変数(Time、Framee Value)のいずれかを受け入れることもできます。

Velocity (Description)

◇記述( Description)

 "Velocity(速度)" は、1つのチャンネルの値の時間変化量を表します。

"Velocity" の計算式は次のとおりです: (Channel Value 2 - Channel Value 1) / (Time 2 - Time 1)*2

上記の式は、グラフエディタの"チャンネル・ビン"でチャンネル名を右クリックして、チャンネルの"ベロシティを表示"オプションを有効にしたのと同じ結果を返します。

* エクスプレッションビルダーの制限により、ベロシティ関数はグラフエディターで手動で作成する必要があります。

共通インフォメーション

◇サンプル(Example) ◇アプリケーション(Application)

 ユーティリティ関数は、関数名、入力ラベル、および一般的な説明で、可能な例と意図されたアプリケーションを示します。
将来のエクスプレッションビルダの更新では、例とアプリケーションのテキストは拡張されます。

リンク

本記事に戻る

lunarbor.hatenablog.com

 

*1:"indefinitely" 弾丸や砲弾、ロケット等 

projectileの意味 - goo辞書 英和和英

*2:距離÷時間=速度