エクスプレッション

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

関連記事

  1. エクスプレッション

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

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

  2. エクスプレッション

    エクスプレッションでレイヤーをランダムに並べる

    エクスプレッションで複数のレイヤーを散らかしましょう。…

  3. エクスプレッション

    タイムリマップでレイヤー管理するエクスプレッション(フリーズフレーム)

    複数の種類で同じ大きさのオブジェクトを何度も使用する場合、プリコンポー…

  4. エクスプレッション

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

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

  5. エクスプレッション

    タイムリマップでレイヤー管理するエクスプレッション(2フレーム以上)

    複数の種類で同じ大きさのオブジェクトを何度も使用する場合、プリコンポー…

  6. エクスプレッション

    エクスプレッションで簡単ループ

    動画はプロジェクトウィンドウ>右クリック>フッテージを変…

コメント

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

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

CAPTCHA