adjustEasing()
この関数はグラフの表示、グラフによる調整が主な機能になっています。
基本的にはサブウィンドウのdraw関数で呼び出すのでいいと思います。
adjustEasingにはオーバーロードでいくつかのパターンが用意されています。
void adjustEasing(int precision, float setTime,float currentTime);
precision : グラフの描画精度を調整します100,1000のようなint型で渡します
setTime : アニメーションさせる時間を設定します。float型で例えば1秒なら1.0fのように渡します。
currentTime : 何秒間たったか認識するために現在の時刻を渡します。ofGetElapsedTimef()。
void adjustEasing(ofVec2f (&bezierArray)[4] , float setTime,float currentTime);
(&bezierArray)[4] : GUIで現在設定しているグラフの設定を参照の要素4の配列を渡すことで、受け取ることができます
setTime : アニメーションさせる時間を設定します。float型で例えば1秒なら1.0fのように渡します。
currentTime : 何秒間たったか認識するために現在の時刻を渡します。ofGetElapsedTimef()。
void adjustEasing(ofVec2f (&bezierArray)[4] , int precision, float setTime,float currentTime);
(&bezierArray)[4] : GUIで現在設定しているグラフの設定を参照の要素4の配列を渡すことで、受け取ることができます
precision : グラフの描画精度を調整します100,1000のようなint型で渡します
setTime : アニメーションさせる時間を設定します。float型で例えば1秒なら1.0fのように渡します。
currentTime : 何秒間たったか認識するために現在の時刻を渡します。ofGetElapsedTimef()。
(&bezierArray)[4]に関してで、こちらで受け取った要素4の配列は描きで説明するapplyEasingにそのまま使用することができます。
そうすることで次に紹介するjsonファイルを使用せずともイージングを他のアニメーションに適用させることができます。ただ、これは製作中に使用する関数として設計されているため
最終的にはjsonファイルに出力しておかないとプログラムを終了させた時に設定が消えてしまいます。
exportJSonEasing~
この関数は二種類のjsonデータを出力することができます。adjustEasingでイージングを決定してそのデータをjsonファイルに出力することができます。
サブウィンドウのkeyPressed()等で呼び出す形で設定しておくと便利かもしれません。timeと書いてある関数は、出力されるファイルネームに日付時間がつけられます。
連続でjsonファイル名を変えずに出力させたい時に便利です。JSONファイルはbin/dataに生成されます。
※現在このTimeの入った関数はうまく動作していません。もし、連続でjsonファイルを生成させたい場合は、Timeと書いてない方の関数に引数として、fileNameに"fileName" + ofGetTimestampString()のように渡してください。
void exportJsonEasingBezier(string fileName);
fileName : 設定したいファイルネームをstring型で渡します。
void exportJsonEasingBezierTime(string fileName);
fileName : 設定したいファイルネームをstring型で渡します。
void exportJsonEasingFloat(string fileName);
fileName : 設定したいファイルネームをstring型で渡します。
void exportJsonEasingFloatTime(string fileName);
fileName : 設定したいファイルネームをstring型で渡します。
これらのJsonファイルにはBezierタイプとFloatタイプがあります。
この後に紹介される。applyEasingでjsonファイルを使う場合は、それぞれにあった関数をコールしてください。
具体的な中身の違いはbezierの方は、グラフを構成するベジェ曲線の四つのポイントの座標が格納されます。それを後のapplyEasingでそのベジェの座標を使って計算につ書います。
Floatタイプの方では、イージングの計算された値が格納されます。そのため、apply時に計算する必要がなくなります。ですが、こちらの方がファイルデータは大きくなります。あまり大きなサイズになると
Jsonファイルの読み込みに時間がかかるので、bezierの方が向いているかもしれませんん。その時に軽い方など、お好きな方を使ってみてください。
applyEasing~
この関数でイージング関数を適用させます。引数にjsonファイルを入れることができて、adjustEasingやサブウィンドウがなくても、イージングをかけることができます。
なので、こちらは最終的な完成系に適応させるためのものです。最終的な完成時にはもちろんサブウィンドウやグラフエディタはいらないと思うので消しても大丈夫です。
こちらもオーバーロードで色々な形で適用させるようになっています。これらの関数は floatのリターンで設計されていて、
0 ~ 1の間で返ってきます。これを好きなものとの積を取ることでイージングアニメーションを得られます。具体的な使い方はexamapleを参照してください。
float applyEasing(float setTime, float currentTime);
setTime : アニメーションさせる時間を設定します。float型で例えば1秒なら1.0fのように渡します。
currentTime : 何秒間たったか認識するために現在の時刻を渡します。ofGetElapsedTimef()。
float applyEasing(int precision, float setTime, float currentTime);
precision : グラフの描画精度を調整します100,1000のようなint型で渡します
setTime : アニメーションさせる時間を設定します。float型で例えば1秒なら1.0fのように渡します。
currentTime : 何秒間たったか認識するために現在の時刻を渡します。ofGetElapsedTimef()。
float applyEasing(int precision, float setTime, float currentTime, float latency);
precision : グラフの描画精度を調整します100,1000のようなint型で渡します
setTime : アニメーションさせる時間を設定します。float型で例えば1秒なら1.0fのように渡します。
currentTime : 何秒間たったか認識するために現在の時刻を渡します。ofGetElapsedTimef()。
latency : currentTimeからlatency秒だけ遅れてスタートします
float applyEasing(int precision, float setTime, float currentTime, float latency,floatwaitTime);
precision : グラフの描画精度を調整します100,1000のようなint型で渡します
setTime : アニメーションさせる時間を設定します。float型で例えば1秒なら1.0fのように渡します。
currentTime : 何秒間たったか認識するために現在の時刻を渡します。ofGetElapsedTimef()。
latency : currentTimeからlatency秒だけ遅れてスタートします
waitTime : setTimeからwaitTime秒だけ遅れて終わります。
float applyEasing(ofVec2f (&bezierArray)[4], int precision, float setTime, float currentTime);
(&bezierArray)[4] : adjustEasing(ofVec2f (&bezierArray)[4], float setTime,float currentTime)等で手に入った要素数4の配列を渡します。この情報を使ってイージングを生成します。
precision : グラフの描画精度を調整します100,1000のようなint型で渡します
setTime : アニメーションさせる時間を設定します。float型で例えば1秒なら1.0fのように渡します。
currentTime : 何秒間たったか認識するために現在の時刻を渡します。ofGetElapsedTimef()。
float applyEasing(ofVec2f (&bezierArray)[4], int precision, float setTime, float currentTime, float latency);
(&bezierArray)[4] : adjustEasing(ofVec2f (&bezierArray)[4], float setTime,float currentTime)等で手に入った要素数4の配列を渡します。この情報を使ってイージングを生成します。
precision : グラフの描画精度を調整します100,1000のようなint型で渡します
setTime : アニメーションさせる時間を設定します。float型で例えば1秒なら1.0fのように渡します。
currentTime : 何秒間たったか認識するために現在の時刻を渡します。ofGetElapsedTimef()。
latency : currentTimeからlatency秒だけ遅れてスタートします
float applyEasing(ofVec2f (&bezierArray)[4], int precision, float setTime, float currentTime, float latency,float waitTime);
(&bezierArray)[4] : adjustEasing(ofVec2f (&bezierArray)[4], float setTime,float currentTime)等で手に入った要素数4の配列を渡します。この情報を使ってイージングを生成します。
precision : グラフの描画精度を調整します100,1000のようなint型で渡します
setTime : アニメーションさせる時間を設定します。float型で例えば1秒なら1.0fのように渡します。
currentTime : 何秒間たったか認識するために現在の時刻を渡します。ofGetElapsedTimef()。
latency : currentTimeからlatency秒だけ遅れてスタートします
waitTime : setTimeからwaitTime秒だけ遅れて終わります。
float applyEasingJsonBezier(string filePath, float setTime, float currentTime);
filePath : bin/dataの中に生成した、bezierタイプのjsonファイルのパスを渡します。
setTime : アニメーションさせる時間を設定します。float型で例えば1秒なら1.0fのように渡します。
currentTime : 何秒間たったか認識するために現在の時刻を渡します。ofGetElapsedTimef()。
float applyEasingJsonBezier(string filePath, int precision,float setTime, float currentTime);
filePath : bin/dataの中に生成した、bezierタイプのjsonファイルのパスを渡します。
precision : グラフの描画精度を調整します100,1000のようなint型で渡します
setTime : アニメーションさせる時間を設定します。float型で例えば1秒なら1.0fのように渡します。
currentTime : 何秒間たったか認識するために現在の時刻を渡します。ofGetElapsedTimef()。
float applyEasingJsonBezier(string filePath, int precision,float setTime, float currentTime, float latency);
filePath : bin/dataの中に生成した、bezierタイプのjsonファイルのパスを渡します。
precision : グラフの描画精度を調整します100,1000のようなint型で渡します
setTime : アニメーションさせる時間を設定します。float型で例えば1秒なら1.0fのように渡します。
currentTime : 何秒間たったか認識するために現在の時刻を渡します。ofGetElapsedTimef()。
latency : currentTimeからlatency秒だけ遅れてスタートします
float applyEasingJsonBezier(string filePath, int precision,float setTime, float currentTime, float latency,float waitTime));
filePath : bin/dataの中に生成した、bezierタイプのjsonファイルのパスを渡します。
precision : グラフの描画精度を調整します100,1000のようなint型で渡します
setTime : アニメーションさせる時間を設定します。float型で例えば1秒なら1.0fのように渡します。
currentTime : 何秒間たったか認識するために現在の時刻を渡します。ofGetElapsedTimef()。
latency : currentTimeからlatency秒だけ遅れてスタートします
waitTime : setTimeからwaitTime秒だけ遅れて終わります。
float applyEasingJsonFloat(string filePath, float setTime, float currentTime);
filePath : bin/dataの中に生成した、bezierタイプのjsonファイルのパスを渡します。
setTime : アニメーションさせる時間を設定します。float型で例えば1秒なら1.0fのように渡します。
currentTime : 何秒間たったか認識するために現在の時刻を渡します。ofGetElapsedTimef()。
float applyEasingJsonBezier(string filePath,float setTime, float currentTime, float latency);
filePath : bin/dataの中に生成した、bezierタイプのjsonファイルのパスを渡します。
setTime : アニメーションさせる時間を設定します。float型で例えば1秒なら1.0fのように渡します。
currentTime : 何秒間たったか認識するために現在の時刻を渡します。ofGetElapsedTimef()。
latency : currentTimeからlatency秒だけ遅れてスタートします
float applyEasingJsonBezier(string filePath, float setTime, float currentTime, float latency,float waitTime));
filePath : bin/dataの中に生成した、bezierタイプのjsonファイルのパスを渡します。
setTime : アニメーションさせる時間を設定します。float型で例えば1秒なら1.0fのように渡します。
currentTime : 何秒間たったか認識するために現在の時刻を渡します。ofGetElapsedTimef()。
latency : currentTimeからlatency秒だけ遅れてスタートします
waitTime : setTimeからwaitTime秒だけ遅れて終わります。