三角関数移動
楕円を媒介変数表示すると、x=acost、y=bsintになりますよね?その動きを再現できるトラックバースクリプトです。ネーミングセンスが無さ過ぎて名前がややこしいですね
楕円移動のトラックバー版(楕円移動がしたいならアニメーション効果版の方が使いやすいかも) https://scrapbox.io/files/65f2a0291e50c20025e4b24a.jpg
導入・削除
削除:配置した「@三角関数移動.tra」と「trig_ease.lua」を削除します。
名前の意味
メニューに次のように表示されます。
https://scrapbox.io/files/65f2a0ba974fd8002334321a.jpg
「基準」_「CurveEditorのType」@三角関数移動
基準:軸基準で移動させるか、四隅基準で移動させるか選びます。
CurveEditorのType:CurveEditorのTypeを指定します。使わない場合どちらでも選択してかまいませんが、パラメータに0を入力してください。
使い方
共通
三角関数移動の好きな動作方法を選び、移動前と移動後の座標を打ち込みます。(他のトラックバー変化スクリプトと同じ)
XY平面で動かす場合、通常通り動作方法を選びます。(逆回転にしたい場合や動作が思ったようにならない場合は、加速、減速チェックボックス両方にチェックを入れます。)
YZ平面、ZX平面で動かす場合、shiftを押しながら加速、減速チェックボックスを押してそれぞれ別の移動方法になるようにします。(チェックボックスについては後で詳しく説明します。)
加速、減速チェックボックスで動作が切り替わります。
https://scrapbox.io/files/65f2a0f145bb3c002526e593.jpg
両方チェックなし:x=cost、y=sint、zはただの直線移動みたいな動きをします。
両方チェックあり:x=sint、y=cost、zはただの直線移動みたいな動きをします。
加速のみチェック:costみたいな動作をします。
減速のみチェック:sintみたいな動作をします。
パラメータはCurveEditorと一緒です。0で動作しません。
軸基準
https://scrapbox.io/files/65f2a18e28ec8c0025de14ec.jpg
90度ずつ中間点を打って使用します。(x=cost, y=sintとしたときのtの値が90度って意味)
四隅基準
https://scrapbox.io/files/65f2a199021f010024b0d207.jpg
180度ずつ中間点を打って使用します。(x=cos(t+a), y=sin(t+a)としたときのtの値が180度って意味)
スクリプトから呼び出す
需要があるか知りませんが載せときます。呼び出すときはtrig_ease.luaをexedit.aufと同じ階層かscriptフォルダ直下に置くといい感じ。
呼び出し
code:Lua
package.path = package.path..";"..obj.getinfo("script_path"):gsub("^\\+\\$", "?.lua") local trig_ease = require("trig_ease")
あればいいな程度だったら最後の一行を次にしたら動くんじゃないですかね。(確かめてない)
code:Lua
local check, trig_ease = pcall(require, "trig_ease")
if check then
--ここにスクリプト本文
end
使用
code:Lua
trig_ease.ease(pos, trig_type, ce_type, par, x, st, ed, i)--trig_easeは呼び出したときにつけた名前
パラメータの意味は次の通り
pos:基準を指定します。
軸:0
四隅:1
trig_type:cosっぽい動きかsinっぽい動きなのか指定します。
cosっぽい:0
sinっぽい:1
ce_type:CurveEditorのタイプを指定します。
Type1(ベジエ、ベジエ(複数)):1
Type2(振動、バウンス):2
par:CurveEditorのパラメータを指定します。
x:変位(閉区間$ [0,1] )
st:スタートの値
ed:ゴールの値
i:何番目の中間点か(四隅の場合省略可能)
v2.0.1 (v2.0.0のPFと互換なし。)
CurveEditorのない環境で動作しない問題を解決。
スクリプトから呼び出せるようにした。
移動方法を加速、減速チェックボックスで指定するように変更。
名前を「基準」_「CurveEditorの名前」@三角関数移動に変更。(破壊的変更)
v2.0.0 (v1.2.0以前のPFと互換なし。)
無印と四隅スタートがCurveEditorに対応。
1.2.0で追加された加減速機能を削除。
名前を「移動方法」_「基準」_「CurveEditorの名前」@三角関数移動に変更。(破壊的変更)
v1.2.0 四隅スタートに加速、減速、加減速、減加速機能を追加。
v1.1.0 四隅スタートに対応。
v1.0.0 リリース