エクスプレッション

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

カードを3Dレイヤーを表裏に貼り付けて表現する場合、サイズがまったく同じでない場合や、回転時のモーションブラーによって裏面になったレイヤーが見切れることがあります。

見切れに備えて、裏面は初めから表示しないよう設定しておけば安全です。

これは簡単なエクスプレッションで実現できます。

if(toCompVec([0,0,1])[2]>0){
    value;
}else{
    0; 
}

「toCompVec()」はベクトル(向きと強さ)をレイヤーそのものの設定ではなく、コンポジションでの見た目上の値に変換する関数です。

toCompVec([0,0,1])で[x,y,z]方向へのベクトルを取り上げ、

if(画面手前方向(Z軸)への力が正数であれば){
    元の不透明度のvalue;
} 異なれば {
    0;
}

という意味です。私の説明が下手なのも相まってなんのこっちゃですから、丸暗記で構いません

経験上、応用する機会が限られますので、「これで裏面が見えなくなるエクスプレッション」と丸暗記で構わないと思われます。

ちなみに、if文は短く記述することも出来ますので、コピペで構わないのであれば下記の1行で事足ります。

(toCompVec([0,0,1])[2]>0)?value:0; 

ちなみに、2Dレイヤーに戻すとZ軸が消えてしまい、エラーが出ます。3Dレイヤーでしか使用しないエクスプレッションなので問題ないかと思いますが、3D-2Dレイヤーを切り替えるような編集中に出るエラーが気になる方は、「try~catch」でエラーが出ないようにもできます。

try {
    (toCompVec([0,0,1])[2]>0)?value:0; 
} catch(e) {
    value;
}

(正確にはエラーがなければ裏非表示エクスプレッション、エラー時には本来の不透明度valueが適用という振り分け)

裏面を見せたくない場面は意外と多いため、コピペできるようにしておくか、スクリプト化した記事も公開しましたので「裏面を非表示にするスクリプト「hideBackface.jsx」」を参考にスクリプト化するのが便利です。

リンク切れフッテージのファイルパス一覧をテキストファイル出力するスクリプト「exportDeadLinkPath.jsx」前のページ

裏面を非表示にするスクリプト「hideBackface.jsx」次のページ

ピックアップ記事

  1. なぜ?After Effectsのレイヤーをエクスプレッションで効率化
  2. フリーランスの開業届提出は開業freeeでとにかく簡単に
  3. なぜ?After Effectsの操作を「スクリプト」で効率化

関連記事

  1. エクスプレッション

    2つのレイヤー間に均等配置させるエクスプレッション

    2つのレイヤーを「root」と「goal」として、その間に挟まれたレイ…

  2. エクスプレッション

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

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

  3. エクスプレッション

    現在アクティブなフッテージ名を表示するエクスプレッション

    ガイドレイヤーにしたテキストレイヤーで、現在アクティブなレイヤーを一覧…

  4. エクスプレッション

    エクスプレッションで一括制御+疑似親子+ミラーリング

    エクスプレッションを使えば、他のレイヤーのプロパティを参照することが…

  5. エクスプレッション

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

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

  6. エクスプレッション

    オートコンプリートでエクスプレッションを簡単適用

    プロパティのストップウォッチアイコンをキーを押しながらクリックで開く…

コメント

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

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

CAPTCHA