プリプロセッサ - 時間カーブエディタ

時間カーブエディタは補助要素:曲線定義「時間カーブ」を編集するためのエディタです。

概要

時間カーブは時間の経過とともに変化する値を表現するものです。マルチボディシステムに対して「時間の経過とともに変化する入力情報」として使用できます。Lagranciaではこのような情報について、コンピュータグラフィックスの分野において”キーフレームアニメーション”と呼ばれる仕組みを模したものを採用しています。

エディタでは横軸を時刻(Time)、縦軸を値(Value)とした2次元グラフ上に制御点を配置し、この制御点の間を直線や曲線で補完します。

例えば、下の図では、

  • セグメントAの区間(0秒-1.5秒)では、値は0から2に線形増加。
  • セグメントBの区間(1.5秒-4秒)では、値は2から1にカーブを描くように減少。

という変化を表しています。

時間カーブエディタ起動方法

時間カーブ要素のプロパティ領域に表示される「時間カーブエディタを起動する」ボタンをクリックすることで、時間カーブエディタが新しいウィンドウで表示されます。

エディタGUIについて

グラフ領域

このグラフは、横軸を時刻(右方向を正)、縦軸を値(上方向を正)としています。黒い四角形で表示される制御点同士を直線または曲線で補完した赤い線が、時間の流れと値の変化を表しています。

制御点
四角形で表示されます。

グラフ上で制御点(四角形)をクリックすることで、制御点選択状態になります。 また、グラフ上で選択状態の制御点(四角形)をマウスドラッグすることで移動できます。

ハンドル
制御点から伸びる先端が白抜き円の線で表現されます。制御点の左側にあるものを左ハンドル、右側にあるものを右ハンドルと呼びます。右ハンドルは選択中の制御点が「3次ベジエ」タイプの場合に表示されます。左ハンドルは一つ前の制御点が「3次ベジエ」タイプの場合に表示されます。

グラフ上でハンドルの先端(円形)をクリックすることで、ハンドル選択状態になります。 また、グラフ上で選択状態のハンドルの先端(円形)をマウスドラッグすることで移動できます。

タイムカーソル
ポイント追加ボタンをクリックした際に作成する新しい制御点の挿入位置を示しています。タイムカーソルはタイムカーソルドラッグ領域をマウスドラッグすることで移動できます。

プロパティ表示領域

選択状態にある制御点に関するプロパティが表示されます。

時間(秒)と値
制御点の位置を示す「時刻(秒)」「値」を設定します。「時刻(秒)」と「値」はそれぞれグラフ中のx軸,y軸の位置を示します。
タイプ
次の制御点までの間の補完方法を示します。
線形
次の制御点までを直線でつなぎます。
3次ベジエ
自身の制御点(始点制御点)と次の制御点(終点制御点)を含めた4点を使った3次ベジエカーブで補完します。
  • 始点制御点(自身の制御点)
  • 始点制御点の右ハンドル
  • 終点制御点の左ハンドル
  • 終点制御点(次の制御点)
ハンドルタイプ
この項目は制御点が3次ベジエタイプの場合のみ表示されます。ハンドルの長さや位置関係が自動的に補正するタイプなどがあります。
フリー
左右のハンドルの長さや位置関係について、補正を行いません。
対照
左ハンドルと右ハンドルの長さや位置関係が点対称になるよう自動的に補正されます。
左ハンドル 時刻・値
この項目は一つ前の制御点が3次ベジエタイプの場合のみ表示されます。左ハンドルの位置を示す「時刻(秒)」「値」を設定します。
右ハンドル 時刻・値
この項目は制御点が3次ベジエタイプの場合のみ表示されます。右ハンドルの位置を示す「時刻(秒)」「値」を設定します。
削除ボタン
プロパティ領域に表示中の制御点自体を削除するためのボタンです。

コントロールボタン

拡大
グラフ領域を1段階ズームインします。
縮小
グラフ領域を1段階ズームアウトします。
ポイント追加
現在のタイムカーソルの位置に新しい制御点を挿入します。

時間カーブの特別なルール

時間の流れは「左から右」と定めているため、下図のように時間を遡るような設置ができないようになっています。

制御点に関するルール:
制御点は、一つ前の制御点と同じか右にあること。(同じ時刻の制御点が複数ある場合、最後方の制御点を優先する。)
曲線区間におけるルール:
始点側ハンドルは始点よりも右にあること。終点側ハンドルは終点よりも左にあること。