エクスプレッション

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. エクスプレッション

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

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

  3. エクスプレッション

    なぜ?After Effectsのレイヤーをエクスプレッションで効率化

    「なにかの動きに連動する」アニメーションを作るには、キーフレームで頑張…

  4. エクスプレッション

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

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

  5. エクスプレッション

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

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

  6. エクスプレッション

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

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

コメント

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

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

CAPTCHA