[Lightwave] SK_KeepValueCFスクリプト

概要

LightWave Layout用のChannel Filterスクリプトです。

キーフレームの値を保持し、カーブタイプをステップに設定した時と同等にします。

使い方

グラフエディタで効果を適用したいチャンネルに追加します。

Pre/Post Behaviourには対応していません。また、実行時に毎回キーフレームを確認しているため、多用すると動作が遅くなる可能性があります。注意して使用してください。

ソースコード(参考)

最新のものはダウンロードしたzipファイル内のものを確認してください。

@warnings
@version 2.8
@script channel
@name SK_KeepValueCF

var description = "SK_KeepValueCF";
var version = "v.0.91";

var chan;

create: channel
{
    chan = channel;
    
    setdesc(description + " " + version);
}

process: ca, frame, time
{
    if (chan == nil) return;
    
    for (i = chan.keyCount; i >= 1; i--)
    {
        key = chan.keys[i];
        ti = chan.getKeyTime(key);
        va = chan.getKeyValue(key);
        if (ca.name == "Rotation.H" || ca.name == "Rotation.P" || ca.name == "Rotation.B")
        {
            va = va / 180 * PI; // convert angle, degree to radian
        }
        
        if (round(time,4) >= round(ti,4))
        {
            ca.set(va);
            return;
        }
    }
}

ダウンロード

未コンパイルLScript(.ls)

履歴

  • ver.0.91 (2024/05/11)
    • (FIX)Rotationチャンネルに適用すると角度が大きくなってしまう
      • 角度をdegreeで設定していたため値が大きくなっていた。radianで指定するように修正
  • ver.0.90 (2024/05/08)
    • 公開

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です