エクスプレッション

オーディオのフェードイン・アウトをエクスプレッションで自動化する

オーディオレイヤーの音量のフェードイン・フェードアウトをエクスプレッションを仕込んで自動化してみます。「フェードイン・アウトをエクスプレッションで自動化する」の音量版。

レイヤーのインポイントからのフェードインと、アウトポイントまでのフェードアウトがキーフレームなしで動作しますので、レイヤーの長さ変更に強いというメリットがあります。

スライダーエフェクトのfIn、fOutに秒数を指定してコントロールします。(※フレーム数ではないことに注意)

仕様としてフェードイン中でもフェードアウトが優先して始まります。

コントローラーの準備

オーディオを含むレイヤーにエフェクト「スライダー制御」を2つ準備します。

それぞれフェードイン用の秒数を指定する「VolfIn」、フェードアウト用の秒数を指定する「VolfOut」とでも名前を変更しておきます。

エクスプレッション

オーディオを含むレイヤーのプロパティ「オーディオレベル」に、下記のエクスプレッションを適用すれば完成です。

var VolfIn = effect("VolfIn")(1);
var VolfOut = effect("VolfOut")(1);
(time >= outPoint-VolfOut )?ease(time,outPoint-VolfOut ,outPoint,value,[-48,-48]):((VolfIn==0)?audio:ease(time,inPoint,inPoint+VolfIn,[-48,-48],value));

今回覚えるJavascript

今回新しく登場したのは、「if文の短縮形」です。

3行目の

(time >= outPoint-VolfOut )?ease(time,outPoint-VolfOut ,outPoint,value,[-48,-48]):((VolfIn==0)?audio:ease(time,inPoint,inPoint+VolfIn,[-48,-48],value));

この部分です。

if文の短縮形

if文の正式な記述方法は

if(条件式){
    trueの場合の処理;
}else{
    falseの場合の処理;
}

ですが、短縮形では

(条件式)?trueの場合の処理:falseの場合の処理;

このように記述可能です。

「if」→「?」、「else」→「:(コロン)」に置き換わるイメージです。

処理が長ければ特にエラー時に見辛くなるデメリットがありますが、コードをスッキリとさせられるので、様々なケースで使用されています。

他者のJavascriptを参考にされる際に、このような書き方はif文であると覚えておけば理解が早いでしょう。

使い方

追加したエフェクト「VolfIn」、「VolfOut」に秒数で数値を指定すると、音量がレイヤーのインポイントから「VolfIn」の秒数でフェードイン、アウトポイントへ「VolfOut」の秒数でフェードアウトしていきます。

オプション

  • オーディオレベルが”0″<->”セットしている値”でフェードします。
  • オーディオレベル50なら0->50にフェードイン、50->0にフェードアウトです。
  • キーフレームを打っても合わせて動作します。

シーンのカット・追加・延長によってBGMの尺をキーフレームで直す必要がなくなります。

セット済みのフェード時間を調整するスクリプト「[batch]@fIn_fOut.jsx」前のページ

オーディオのフェードイン・アウトを自動化するスクリプト「[auto]volfIn_fOut.jsx」次のページ

ピックアップ記事

  1. なぜ?After Effectsのレイヤーをエクスプレッションで効率化
  2. amazonのスポンサー商品(広告)を非表示にするブックマークレット「amazO…
  3. フリーランスの開業届提出は開業freeeでとにかく簡単に
  4. なぜ?After Effectsの操作を「スクリプト」で効率化
  5. YouTubeで一時停止中のコントローラーを非表示にするブックマークレット

関連記事

  1. エクスプレッション

    お手軽エクスプレッションwiggle()で揺らす

    今回は初めからAfter Effectsで用意されている関数「wig…

  2. エクスプレッション

    レイヤーを自動で拡大・縮小させるエクスプレッション

    選択レイヤーのインポイントからアウトポイントにかけて、指定した%サイズ…

  3. エクスプレッション

    エクスプレッションtimeで点滅とその他の演算子を知る

    エクスプレッション「time」の深堀りを足がかりに、プログラミングの奥…

  4. エクスプレッション

    レーザーの線で繋ぐエクスプレッション

    2点間を線で繋ぐエフェクト「レーザー」を使って、折れ線グラフが簡単に…

  5. エクスプレッション

    3Dレイヤーの裏面を非表示にするエクスプレッション

    カードを3Dレイヤーを表裏に貼り付けて表現する場合、サイズがまったく…

  6. エクスプレッション

    エクスプレッションでグリッド上に均等配置する

    複数のレイヤーをグリッド状に整列させるエクスプレッションを仕込むスクリ…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA