点滅灯 - [[AEexpression]]
目次
回転点滅灯
説明
パトカーの回転灯に適用するために作成しました。説明としては、エクスプレッション内のコメントの通りですが、こちらにも再度
指定した「周期」と「ずらし時間」で0%から100%の値を出力します。 サイン関数で制御してあるため、回転系の点滅に向いています。 回転に従って見えるライトの強さのみを計算します。 主にロング用ですがアップで困るって訳でもありません。 点滅させたいレイヤの不透明度に対して適用してください。
ライトの数は、作成時点の想定がパトライトなのでデフォルトの値は一回転につき2個です。
その場合1回転あたり2回光りますので、見た目上のサイクルは、指定したコマ数の半分に見えます。
たとえば12コマに1度光らせたい場合は、サイクル時間を24コマにするか、ライトの数を1に指定して調整してください。
1回転1つにするのと2個でゆっくり回すのは消灯時間と点灯時間の比率が変わるのであがり絵がかわります。いろいろ試してみてよいパラメータを探してください。
ちなみに4個以上にするとほとんど付きっぱなしになってしまいます。
このエクスプレッションは、出力に「メリハリ」を付けるために、
- 30%以下の値は、0%に切り捨て
- 80%以上の値は、100%切り上げ にしてあります。立ち上がりに弱い光が欲しい場合は当該部分を書き直してください。
ビームの指向性パラメータは出力を係数で累乗して作ってあります。値が大きいほどフラッシュが強くなります。 2から3程度でパトカーのランプ風になります。
エクスプレッション冒頭のパラメータを書き直す代わりに レイア名をコンマで区切ったパラメータの文字列にして動作を制御することができます。 書式は、以下の通り。
第5パラメータ以降または、数字以外は無視しますので 本来のレイヤ名はパラメータの後ろにコンマで区切る等して記述してください。
Cycle , Offset , Lt , Beam
例: "36,6,2,3,パトランプ1" =36kサイクル 開始位置6コマずらし 2灯 ビーム係数3
こんな感じで、プロパティのタイムラインを開かずに設定を調整することができます。 パトカーがいっぱい出てくるときなどにどうぞ。
ソース
//レイア名を読み込んでパラメータに展開 InputParams=this_layer.name.split(","); for (Numb=0;Numb<=InputParams.length;Numb++){ if (! isNaN(InputParams[Numb])){ switch (Numb){ case 0: Cycle = InputParams[0];break; case 1: Offset = InputParams[1];break; case 2: Lt = InputParams[2];break; case 3: Beam = InputParams[3];break; }}} //初期化 Op = 0;Ex=0;Lp=0; Cycle_s=Cycle*this_comp.frame_duration; Offset_s=Offset*this_comp.frame_duration; for(Counter=0 ; Counter < Lt ; Counter ++){ Ex = 0.25+(((time + Offset_s) % Cycle_s)/Cycle_s)+(Counter/Lt); Lp= Math.sin((Ex)*Math.PI*2); if (Lp < 0 ) {Lp=0} Op = Op+ Math.pow(Lp,Beam)*100; } // if (Op< 30){0} else { if (Op > 80){100} else {Op} } // end
Powered by YukiWiki 2.1.2a / Modified by Nekomataya.