當前位置:編程學習大全網 - 編程語言 - 從遊戲開發者+攝影前期的角度看待透視

從遊戲開發者+攝影前期的角度看待透視

自從我踏入攝影行業,接觸到了壹些從事藝術行業的朋友之後,就發覺有個值得思考的問題存在著:他們所理解的“透視程度”與我們3d行業理解的“透視程度”完全不壹樣。

對於3d行業從業者來說,多多少少都知道渲染流水線中的MVP變換,因此大部分人都會理所當然地認為透視只和透視變換的程度有關。

(物體的實際位置不變,只沿著相機的正z軸拉近機位使得第壹塊方塊永遠在畫面中相同的位置)

而藝術行業/攝影行業的從業者告訴我,透視的形變程度只與被攝物體和相機之間的距離有關系。比如下面所示的這兩種情況,妳會發現它們雖然所用焦段不同,但確實可以在裁剪放大第二張之後用疊圖的方法與第壹張疊在壹起。

(不改變相機位置、角度,也不改變物體的實際位置)

其實我覺得,這兩種觀點都沒有錯,只是在表達上和各自應用的場合有所不同,才導致雙方在理解上出現偏差,並且網上也壹直有人在就這兩種理解爭論孰對孰錯,所以請讓我以自己的見解來將它們梳理壹下吧。

客觀世界裏,越遠的物體在人眼中呈現的大小是遠比它本身要小很多的,因此我們明白,透視這壹概念其實可以簡化成為近大遠小。

但論透視的程度,又該如何解釋呢?這裏姑且分出兩個角度來看待。

為了把話說清楚,這裏先稍微用不那麽專業的用語解釋壹下透視是如何在三維軟件裏實現的。

在世界空間裏,所有的物體壹開始都是沒有透視效果的,也就是大夥常說的正交視角。為了實現透視近大遠小的效果,我們可以創造壹塊像金字塔壹樣的梯形空間,將需要渲染的物體包在裏面,然後再把這塊梯形空間還原成壹塊正方體/長方體,那麽被包進去的物體也會隨著空間的形狀改變而產生形變,這樣壹來我們就讓這些原本大小壹致的物體產生了近大遠小的透視效果,之後只需要用相機正常渲染就可以了。

(假設球是相機,框為包裹空間)

從原理上不難看出,梯形空間的斜度是可以改變的,它越斜,得到的透視效果就越強,越靠近相機這邊的物體形變程度就越大,體積也會變大;反之物體則越接近沒有發生形變的樣子,體積也會相對變小。

但是作為引擎或者三維軟件的用戶,我們不會在程序上手動幹預這個梯形空間的斜度,而是使用諸如fov值和焦距這樣容易理解的簡單參數去調整它的最終斜度。

到了現代,大多數前沿3d軟件都講究physically based(基於物理),算法也可能會比上面提到的這個金字塔形變復雜壹些,所以用“焦距”控制 虛擬渲染相機 貼近 真實相機 效果的情況,在專業渲染器裏也是比較多見的。(唯壹的不同之處就是虛擬相機沒有鏡頭畸變,渲染出來的最終畫面也不會產生光學畸變,僅僅只會因為焦段不同而產生透視的拉伸擠壓形變)

所以對於3d從業者而言 , “透視程度” 是指在壹段 距離有限 的空間內,因透視變換而造成的物體近大遠小效應內 , 距離相機最近的物體(最大) 和 距離相機最遠的物體(最小) 它倆之間的 大小的對比度 。對比度越大,那麽說此時的透視程度大,反之則認為透視程度小。

對於攝影師而言,我們不可能給觀眾看連環畫壹樣的照片去讓他們感受相片內的信息,壹是這樣做很蠢,二是沒那麽多空余的sd卡足夠讓我們每場都狂造快門。

所以比起把壹個動作和瞬間拍幾十張照片,攝影師們更願意在自己要拍的那壹張照片(壹幀畫面)上下功夫,選擇好合適的焦段,確定好要用的景別和拍攝角度,然後哢哢哢地按快門。只要把動作按照心裏的標準抓下來,後面選片和二次構圖也會方便省心很多。

但是……

如果我們在拍攝當天帶錯了鏡頭,把2470帶成了1635,眾所周知長焦鏡頭會把不同距離的物體朝焦平面方向壓縮,短焦則是朝焦平面的方向擴張,這時該怎麽辦?拿1635這樣的廣角短焦拍人臉怕是要被顧客當場打死吧?

這時候,影響透視的直觀因素——距離就派上大用場了。現代相機的像素普遍不低,更別提咱們手裏的5d4了。之前16mm與50mm的那兩張正方體圖不是提到過嗎,除了相機的焦距改變了,相機的機位和物體在世界坐標系上的位置是沒有改變的,這時候拍下來的兩張正方體除了在畫面中的大小不同以外,形變程度其實是完全相同的。

依靠這個原理,拿著1635的我們也可以用35mm拍出70mm效果的人臉來,只需要稍微遠離被攝對象壹些,壹邊遠離壹邊在取景器裏盯著對方的臉看,直到臉部的形變看起來沒有太大問題就可以摁快門了。只要我們在拍攝時保證拍得足夠清晰、噪點和曝光控制得當,還是可以依靠後期裁剪得到壹張透視正常的半身人像,把片子給救回來的。

不過我想了壹下,遇到這種情況還不如盡量當場找機會把鏡頭換小痰盂或者85硬拍得了,實在不行後續就說服客戶成給半身像吧,給特寫……全畫幅那像素強行切成特寫怕是有點強人所難,除非我們手裏拿的是大畫幅。

所以對攝影行業從業者而言, “透視程度” 通常是指攝像師在單獨壹幀畫面內使用 固定不變的某壹焦段 ,通過 改變自身所持的相機 與 被攝主體 之間的 距離 ,讓畫面中的被攝主體在 不同距離段 內發生 不同程度的形變 ,依此方法在 無法動態刷新的單張照片 上就可以創造出更多透視形變的可用方案。

相信各位看客在看了上面兩種視角的解讀之後還會有些迷,那就讓我們在這裏總結壹下吧。

以我的觀點,無論是“焦距改變透視程度”還是“距離改變透視程度”,它們都是前人在探索客觀世界時發現的規律,所以它們都是正確可用的,只是使用的場合不同罷了。

對於遊戲從業者來說,這些壹秒刷新60幀、機位和視角無時無刻不在變動的遊戲若想要讓玩家在遊玩時感到舒適,就需要盡量貼近人眼的視覺習慣(人眼是壹塊疊加起來的16:9的屏幕,焦距相當於50mmf8的鏡頭,所以近大遠小的程度要盡量貼近這壹焦段,玩家遊玩移動相機時才不容易產生暈動癥,也就是俗稱的暈3d)。所以靠改變焦距/fov值來改變透視程度的體系在這種情況下是適用的。

對於攝影師來說,這些記錄下精彩瞬間的每壹張照片都是彌足珍貴而又不可復制的。它們不像視頻和遊戲,只要錯過了就不會再有,因此節省時間才是重中之重。以紀實攝影師為例,他們需要爭分奪秒地把客戶壹輩子僅有壹次的瞬間給抓下來,就更不可能悠閑地浪費著時間去更換鏡頭了(壹般都是壹只2470從頭用到尾)。萬壹手上的焦段達不到長焦的壓縮效果,而那種感覺的照片又不得不抓下來,那麽距離改變透視程度這種非常直觀且容易使用的體系將成為此時獨壹無二的救場手段,也為之後的二次構圖留出更多可能性。

所以說,焦段的意義在於決定畫面中最大的透視程度是怎樣的,因為妳無法靠截取的方式獲得超出畫面之外的距離段。

規律是死的,人是活的,善用這些前人發現並總結出來的規律,才是對它們存在的最好理解。

  • 上一篇:現在的電腦分辨率是多少?
  • 下一篇:軟件工程vr軟件開發是做什麽的
  • copyright 2024編程學習大全網