導入と使い方

「Lua スクリプト」は映像エフェクトの一種です。アイテム(テキスト・画像・図形など)に対して、 他のエフェクトと同じように追加して使います。

エフェクトを追加する

  1. タイムライン上のアイテムを選択します。
  2. プロパティエリアのエフェクト欄で、フィルタ効果の追加から「Lua スクリプト」を選びます。 検索欄では lua / script / スクリプト / アニメーション効果 などのキーワードでも見つかります。
  3. 追加すると、スクリプト入力欄と、トラックバーやチェックボックスなどのパラメータが表示されます。

スクリプトエディタ

スクリプト欄はコードエディタになっており、次の機能があります。

実行のしくみ

スクリプトは表示中の各フレームで 1 回ずつ実行されます。 プラグインは実行前に objsceneymm4 などへ現在の値を流し込み、 スクリプトの実行後に obj の値を読み戻して描画へ反映します。

グローバル変数(自分で x = 1 のように作った変数)の状態はフレームをまたいで保持されません。 毎フレーム、組み込み以外のグローバルはリセットされます。前のフレームの値を覚えておくことはできません。 時間に応じた変化は timeobj.t から計算してください。

はじめてのスクリプト

既定のフェードインを、少しずつ拡張してみます。

1. 不透明度を変える

obj.alpha = math.min(time * 255, 255)

2. 横に動かす

obj.alpha = math.min(time * 255, 255)
obj.x = obj.x + math.sin(time * anim.tau) * 100

3. トラックバーで振幅を変える

パラメータパネルの Track0 スライダーの値が obj.track0 として読めます。 スライダーを動かすと、揺れの大きさが変わります。

obj.alpha = math.min(time * 255, 255)
obj.x = obj.x + math.sin(time * anim.tau) * obj.track0

パラメータパネル

既定では Track0Track3 の 4 本のトラックバーが表示されます。 チェックボックス(Check0Check3)と色(Color)は、 スクリプトでそれらを使うか、指定子で宣言したときに表示されます。 表示条件と既定値・名前・範囲の指定方法は パラメータ指定子 を参照してください。

UIスクリプトでの読み取り
Track0 ~ Track3obj.track0obj.track3数値
Check0 ~ Check3obj.check0obj.check3真偽値
Colorcolor数値 (0xRRGGBB)
スクリプトの実行には 5 秒のタイムアウトがあります。無限ループや非常に重い処理は中断されます。 詳しくは 制限事項とトラブル を参照してください。
← 概要 Lua の基礎 →