スクリプト

KSA

概要

リサイズやインターレース解除を含むスクリプト集

詳細説明

カスタムオブジェクト用スクリプト

KSA折れ線矢印.obj2

本家の「ライン(移動軌跡)」のように長さを時間変化させるための折れ線矢印です.長さは折れ線全体の長さに対するパーセンテージを「描画率」のパラメータで調整します.「ライン(移動軌跡)」が鏃の中心を軸にしているのに対し,「折れ線矢印」は鏃の先端を軸にしているため,特定の座標を指したいときに使いやすいです.代わりに,折れる途中の描画が手抜きで汚いです.

線幅
線の幅をピクセル数で指定します.
鏃長
鏃の長さを線幅に対するパーセンテージで指定します.
鏃幅
鏃の幅を線幅に対するパーセンテージで指定します.
描画率
折れ線全体に対して描画するパーセンテージを指定します.特定の頂点までのパーセンテージは別途計算の必要があります.
線の色を指定します.
頂点数
頂点数を2~16の範囲で指定します.頂点はアンカーポイントになっており,ドラッグで動かせます.
座標
{頂点1のx, 頂点1のy, 頂点2のx, ...}の形で座標を指定します.アンカーポイントで動かす場合は気にしなくて大丈夫です.

KSA両矢印.obj2

両側に鏃のある単純な矢印です.

線幅
線の幅をピクセル数で指定します.
鏃長
鏃の長さを線幅に対するパーセンテージで指定します.
鏃幅
鏃の幅を線幅に対するパーセンテージで指定します.
線の色を指定します.
座標
{頂点1のx, 頂点1のy, 頂点2のx, 頂点2のy}の形で座標を指定します.アンカーポイントで動かす場合は気にしなくて大丈夫です.

KSA矩形枠.obj2

「角度」が0の場合に,各辺がx軸またはy軸に平行な長方形の枠です.

線幅
線の幅をピクセル数で指定します.
角丸
チェックなら角を丸くし,未チェックなら尖らせます.丸みの半径は線幅の半分で固定です.
アンカー数
2なら対角線上の2頂点を,1なら1頂点をアンカーポイントとします.角度を変える場合は1にするとアンカーポイントと描画頂点がずれません.
線の色を指定します.
座標
アンカーポイントの座標が出力されます.数字を指定して頂点位置を決めてもよいです.

KSA楕円枠.obj2

アンカーポイントで生成される長方形に沿った楕円形の枠です.

線幅
線の幅をピクセル数で指定します.
アンカー数
2なら対角線上の2頂点を,1なら1頂点をアンカーポイントとします.角度を変える場合は1にするとアンカーポイントと描画頂点がずれません.
タイプ
0なら自然な楕円枠を,1なら折れ線近似した等幅の枠を描画します.
分割数
タイプ1における折れ点の数を指定します.タイプ0の場合は無視されます.
線の色を指定します.
座標
アンカーポイントの座標が出力されます.数字を指定して頂点位置を決めてもよいです.

KSA枠付き角丸四角形.obj2

角を丸められ,枠と塗りつぶし領域で独立に色や透明度を調整できる長方形オブジェクトです.

角半径
角を丸くする場合の外径半径をピクセル数で指定します.長方形の短辺の長さより大きく指定しても,短辺の長さになります.0なら尖ります.
枠太さ
枠線の太さをピクセル数で指定します.長方形の短辺の長さより大きく指定すると,全体が枠になります.0なら枠なしです.
枠透明度
枠線の透明度を指定します.0: 完全不透明,100: 完全透明.
内透明度
塗りつぶし領域の透明度を指定します.0: 完全不透明,100: 完全透明.
内色
塗りつぶしの色を指定します.
枠色
枠線の色を指定します.
シングルアンカー
未チェックなら対角線上の2頂点を,チェックなら1頂点をアンカーポイントとします.角度を変える場合はチェックするとアンカーポイントと描画頂点がずれません.
座標
アンカーポイントの座標が出力されます.アンカーポイントは外径を決定します.

アニメーション効果用スクリプト

KSA透明度グラデーション.anm2

高透明度側と低透明度側の透明度を任意に指定できる透明度グラデーションです.

中心X,中心Y
グラデーションの斜め線の中心点の座標です.
角度
グラデーションの斜め線の角度(度)です.
グラデーションをかける幅をピクセル数で指定します.
開始透明度,終了透明度
グラデーション前後の透明度を指定します.透明度を逆にするのと「角度」を180ずらすのは同じ効果です.0 が透明度変化なし,100 が完全透明を意味します.
タイプ
0なら線形状,1ならsinカーブ状のグラデーションを掛けます.

KSA縁透明G.anm2

長方形のオブジェクトの縁に透明度のグラデーションを掛け,背景に馴染むようにする効果です.

縁から何 px に亘ってグラデーションを掛けるかを指定します.
角丸
チェックしているなら角を丸くします.
タイプ
0なら線形状,1なら円状のグラデーションを掛けます.
追加上,追加下,追加左,追加右
上下左右の幅を追加します.向きによって異なる幅にしたいときに指定します.

KSA回転.anm2

「広がって登場」をずっと繰り返すようなアニメーションです.
仮想バッファ利用がうまく行かず,直接描画しているので,最後のエフェクトにする必要があります.

回転量
回転の回数を,半回転の何倍かで指定します.1なら広がって登場してそのまま縮まって退場します.
縦回転
0ならY軸回転,1ならX軸回転に近い動きをします (縦または横に拡大縮小しているだけであり,カメラ制御との組み合わせは想定していません).
反転
回転を逆方向にします.

KSAリサイズ.anm2

Lanczos3 関数を使ったリサイジンクを行います.
マルチスレッド処理をしますが,それでも非常に重いので,使用時はご留意ください.

拡大率,X,Y
横を (拡大率×X)/1e4 倍,縦を (拡大率×Y)/1e4 倍します.
平均法
`1`またチェックすると,Lanczos3法の代わりに画素平均法を使ってリサイズします.
ドット数でサイズ指定
出力サイズを X×Y にし,拡大率を無視します.
クリップ / 上,下,左,右
リサイズ前に指定したピクセル数のクリッピングを行います.

KSAインターレース解除.anm2

インターレース解除をしながら動画を読み込むオブジェクトです.
元のオブジェクトを無視して,指定したパスの動画のインターレース解除画像を出力します.
正常に動作させるには,プロジェクトのフレームレートを入力動画の 2 倍にする必要があります.
分割や倍速再生などはシーンを使ってください.

解除法
インターレース解除のアルゴリズムを選択します.数値とアルゴリズムの対応は下の表のとおりです.
BFF/TFF
フィールドオーダーを指定します.0ならボトムフィールドファースト,1ならトップフィールドファーストとしてインターレース解除します.
ファイル
入力動画のファイルへのパスを指定します.
数値 アルゴリズム
0 インターレース解除なし
1 240p 用の補間なしの解除
2 空間方向補間 (フィールド補間,bob)
3 時間方向補間
4 時間方向補間 with 二重化

240p の疑似インターレース動画には1を使用します.480i などのインターレース動画では,チラツキはあるがゴーストのない2か,ゴーストが出てぼやけるが滑らかな4を使用します.

KSA加減速入退場.anm2

減速しながら入場し,加速しながら退場するアニメーションです.

入場,退場
オブジェクトの最初の「入場」秒をかけて入場し,「退場」秒をかけて退場します.
X, Y
入場前,退場後の相対位置を指定します.

KSA点滅入退場.anm2

点滅しながら入退場するアニメーションです.

入場,退場
入退場時の点滅回数を指定します.0なら点滅しません.
点長,滅長
点(表示)長さと滅(非表示)長さをフレーム数で指定します.

KSAスクロール.anm2

表示領域を固定したまま,縦または横にスクロールさせるようなアニメーションです.

再生位置
0が上端または左端,100が下端または右端に対応し,これをトラックバー変化させることでスクロールします.
縦/横
未チェックなら縦スクロール,チェックなら横スクロールします.
表示長
表示させる領域のサイズ(縦なら高さ,横なら幅)を指定します.オブジェクトのサイズより大きい場合は何もしません.
拡大
チェックなら領域拡張を行い,再生位置0および100がなにも見えない状態になります.

トラックバー変化方法用スクリプト

KSA加減速移動.tra2

本家の加減速移動がバグっているので追加した加減速移動スクリプト.
パラメータの値 (デフォルト:5) によって,次の式に比例した形で変化させます.

パラメータ 満たす条件
0 $x^2(3-2x)$ 速度が連続
1 $x^3(10+3x(-5+2x))$ 加速度が連続
2 $x^4(35-2x(42+5x(-7+2x)))$ 躍度が連続
3 $\big(\!\sin(\pi x/2)\big)^2$ 速度が連続
4 $x-\tfrac{\sin(2\pi x)}{2\pi}$ 加速度が連続
5 $\big(2+\cos(\pi x)\big)\big(\!\sin(\pi x/2)\big)^4$ 躍度が連続
6 $\begin{cases} \ 2x^2 & 0\leq x < 1/2 \\ \ -1-2x(-2+x) & 1/2\leq x \leq 1 \end{cases}$ 速度が連続

「速度が連続」<「加速度が連続」<「躍度が連続」の順になめらかになっていき,滑らかでない順に並べると6<0<3<1<4<2<5となります.