AE小教程:讓3D圖層的大小不受距離影響(近大遠?。?/h5>
當前位置:首頁 > 原創(chuàng)作品 |  標簽: AE 表達式 攝像機 3D 透視
103431110
發(fā)表時間:2019年06月01日 12點07分

你一定遇到過在AE里調(diào)整三維圖層的麻煩:在PS或AI中畫了一個場景,前中后景都有,把圖層變成3D層,你要往前往后拉開距離,因為透視(近大遠?。€要回頭調(diào)一下圖層的縮放,來讓畫面跟你原本畫的平面圖一樣——好費勁。
這時候你可能想過,如果我拉開距離的時候,圖層遠了自動放大,近了自動縮小,在攝像機里看,整個畫面沒有發(fā)生變化(縮放補償了透視),這不就完美了!——那么問題來了:圖層往后100像素,它應該放大多少,才能在相機里和以前看起來一樣大呢!中間有什么特殊算法嗎?

答案當然是有,以下就是算法:
縮放*(距離差/(1/36*鏡頭焦距*合成寬))

翻譯成表達式就是:
n = 1/36*35*thisComp.width; //1/36*鏡頭焦距*合成寬
d = position[2]-thisComp.layer("Camera 1").transform.position[2]; //距離差
scale * (d / n); //縮放*(距離差/(1/36*鏡頭焦距*合成寬))


把這句表達式加在每個圖層的縮放屬性上,大功告成。

有人可能會疑惑,為啥會有個1/36呢,為什么一定是1/36呢——我也不知道,這是我試出來的,別想為什么,直接用。

11
CGer評論區(qū)
最新發(fā)布 評論排序
  共 10 條評論
  • 匕禾頁
    舉報 回復 0 匕禾頁樓主2020-10-27 19:29:46:

    可能是因為你錨點不在畫面中央,這個方法要保證錨點最初位置在合成中央。

    流鷹  2019-10-08 17:27:20發(fā)表評論:

    大佬,為什么我移動Z軸圖片在視圖中的位置會變,你的GIF里卻沒有變

  • Mr4A
    舉報 回復 0 Mr4A2020-08-25 17:58:03:

    給樓主一個大大的贊,太有用了

  • 匕禾頁
    舉報 回復 0 匕禾頁樓主2020-02-10 18:39:16:

    樓主不了解攝像機原力,靠蠻力測出來的

    月酌  2020-02-07 22:54:23發(fā)表評論:

    學習了 剛研究了一下 好像1/36 是攝像機里面膠片密度的選項 不知道是否正確

  • 月酌
    舉報 回復 0 月酌2020-02-07 22:54:23:

    學習了 剛研究了一下 好像1/36 是攝像機里面膠片密度的選項 不知道是否正確

  • 匕禾頁
    舉報 回復 0 匕禾頁樓主2019-10-23 12:28:21:

    忘了說了,你所有圖片的錨點必須在合成中心!,這樣才不會在x,y平面偏移

    流鷹  2019-10-08 17:27:20發(fā)表評論:

    大佬,為什么我移動Z軸圖片在視圖中的位置會變,你的GIF里卻沒有變

  • 流鷹
    舉報 回復 0 流鷹2019-10-08 17:27:20:

    大佬,為什么我移動Z軸圖片在視圖中的位置會變,你的GIF里卻沒有變

  • 匕禾頁
    舉報 回復 0 匕禾頁樓主2019-06-19 16:28:09:

    距離差指物體和攝像機Z方向上的距離

    西子木  2019-06-18 16:23:07發(fā)表評論:

    好東西啊 樓主辛苦 不過你說的 距離差指的是?

  • 西子木
    舉報 回復 0 西子木2019-06-18 16:23:07:

    好東西啊 樓主辛苦 不過你說的 距離差指的是?

    匕禾頁  2019-06-03 15:39:04發(fā)表評論:

    有一點忘了說了,計算距離的時候,最好把攝像機的Z軸也就是position[2],固定一個默認值,也就是剛創(chuàng)建相機時候它的z軸的像素值。 這樣不會讓推拉相機的時候,圖片大小也跟著改變,而僅僅在推拉圖片的時候,圖片才會自動縮放。 n = 1/36*35*thisComp.width; //1/36*鏡頭焦距*合成寬 d = position[2]-(剛創(chuàng)建相機時它的默認Z軸數(shù)值); //距離差 scale * (d / n); //縮放*(距離差/(1/36*鏡頭焦距*合成寬))

  • 西子木
    舉報 回復 0 西子木2019-06-18 16:22:56:

    好東西啊 樓主辛苦 不過你說的 距離差指的是?

  • 匕禾頁
    舉報 回復 0 匕禾頁樓主2019-06-03 15:39:04:

    有一點忘了說了,計算距離的時候,最好把攝像機的Z軸也就是position[2],固定一個默認值,也就是剛創(chuàng)建相機時候它的z軸的像素值。 這樣不會讓推拉相機的時候,圖片大小也跟著改變,而僅僅在推拉圖片的時候,圖片才會自動縮放。 n = 1/36*35*thisComp.width; //1/36*鏡頭焦距*合成寬 d = position[2]-(剛創(chuàng)建相機時它的默認Z軸數(shù)值); //距離差 scale * (d / n); //縮放*(距離差/(1/36*鏡頭焦距*合成寬))

用戶名
您尚未登錄,無法發(fā)表評論。點擊登錄