游戏开发Camera之Cinematic Camera-深度
人的視覺系統(tǒng)是二維的,它通過生理和心理的暗示來感知圖像的深度,在現(xiàn)實(shí)世界中視覺系統(tǒng)會(huì)自動(dòng)用深度線索depth cue來確定對(duì)象之間的距離
游戲畫面也是二維的,用x,y軸來定義,畫面深度用z軸來定義,可以通過創(chuàng)造深度線索depth cue來產(chǎn)生畫面縱深感。
強(qiáng)化Z軸,控制物體與周圍環(huán)境的空間位置關(guān)系。
linear perspective線條透視
線條透視是一種縱深線索,他與大小和next縱深線索有關(guān),下圖是一條公路。
?
?
強(qiáng)化了近大遠(yuǎn)小的視覺效果。
下圖人物的大小充當(dāng)了上圖的公路。
?
?
著名的Ames room視覺錯(cuò)覺,讓人誤以為兩個(gè)人是在同一平面上的錯(cuò)覺,就是因?yàn)闆]有給出足夠的透視線索,而且被屋子的“水平”地面和天棚所誤導(dǎo)。實(shí)際上兩個(gè)人是有深度關(guān)系的。
?
?
其實(shí)這個(gè)屋子是這樣的
重疊
重疊是一種視覺暗示,也是一種重要的深度線索,經(jīng)常出現(xiàn)在繪畫、漫畫、動(dòng)漫等等,來體現(xiàn)前后關(guān)系。
如下圖,我們看到的是三個(gè)“平面”此時(shí)看起來它們是同一平面。把它們加上遮擋關(guān)系,你的視覺就會(huì)暗示你紅色在紫色上面,紫色在綠色上面。
?
遮擋關(guān)系產(chǎn)生的視覺欺騙,下圖是正交透視正方體,你對(duì)他他既可以是俯視角度(左側(cè)),也可以是仰視(右圖),全部因?yàn)橛幸粋€(gè)藍(lán)色長方形的重疊產(chǎn)生的深度效果傳達(dá)給你的大腦。
?
思考:此時(shí)如果做一個(gè)視覺欺騙,把depth在后面的物體,比前面的物體后渲染,就會(huì)呈現(xiàn)后面的物體在前面的假象,此時(shí)會(huì)有什么效果呢?
舉個(gè)動(dòng)漫中的例子,非常平面的兩個(gè)人通過重疊產(chǎn)生深度關(guān)系,下圖二人如果把小狼放在小櫻前面也不會(huì)有違和感。
?
relative height相對(duì)高度
此 處主要是地平線上下作對(duì)比,因?yàn)榈仄骄€上的物體是以天空為對(duì)比,地平線下物體是以地面為物體。舉一個(gè)最簡單的例子,同樣大小的飛機(jī),在天上就是離你很遠(yuǎn)真 正的飛機(jī),在地上就是離你很近的飛機(jī)模型。因?yàn)榇竽X默認(rèn)把物體與地面和天空做對(duì)比,所以在地平線上物體被認(rèn)為是離天空很近,所以讓人感覺離得很遠(yuǎn),而在地 面的物體大腦默認(rèn)和地面作比較,所以讓人感覺離的很近。
?
?
素描等繪畫中的深度
素描中的深度主要是明暗關(guān)系,近大遠(yuǎn)小,近實(shí)遠(yuǎn)虛,前緊后松,
也有重疊的使用,對(duì)遠(yuǎn)處物體的邊緣進(jìn)行虛化,細(xì)節(jié)弱化,顏色接近于背景色等等。
relative size相對(duì)大小
相對(duì)大小產(chǎn)生深度線索
借 用一果殼朋友的回答眼睛里的水晶體相當(dāng)一個(gè)凸透鏡,視網(wǎng)膜相當(dāng)像面。若看清楚某個(gè)物體,必須使它的像落在視網(wǎng)膜上。從人眼瞳孔中心對(duì)物體的張角與視角相 等,所以視角的大小決 定了視網(wǎng)膜上物體的像的大小。同樣高的兩棵樹,離開眼睛遠(yuǎn)的一棵,它的視角比近處的那棵的視角小,因此,遠(yuǎn)處的樹看起來比近處的小,近大遠(yuǎn)小就是這個(gè)道 理。 簡單的說,就是視角不同。
原理如下圖(博主簡單畫了個(gè)圖。。不要介意。。)
?
?
如下圖,藍(lán)色小球縮小后明顯感覺是在紅色小球后面
? ?
比如電腦游戲之中的第一款FPS游戲,德軍司令部3D(Wolfenstein 3D),就用這一點(diǎn)產(chǎn)生了深度。
?
aerial perspective空中透視
產(chǎn)生原因,大氣散射,詳見這篇文章unity3d shader之實(shí)時(shí)室外光線散射(大氣散射)渲染 ,大氣散射光,短波或藍(lán)色波長的光易被大氣粒子散射,所以遠(yuǎn)處物體大多偏藍(lán),這也是天空是藍(lán)色的原因。陽光由于散射增加會(huì)減弱并變色。物體也會(huì)隨著距離增加散射增加而減弱并變色。
?
大氣中散射由多種原因產(chǎn)生,微粒,塵埃,水蒸氣等等
散射分為瑞利散射Rayleigh Scattering和米氏散射 Mie Scattering ?
瑞利散射是米氏散射的一種
當(dāng)光線穿過大氣層,大氣中氣體藍(lán)色部分瑞利散射強(qiáng)烈,但是紅色或黃色等波長長的瑞利散射很弱。
由于天空產(chǎn)生的藍(lán)色的光的散射,陽光到地面的顏色發(fā)黃。在日出日落中, 由于空氣密度的增加和地球表面附近的粒子,瑞利散射效應(yīng)更明顯。
相比之下,水滴組成云與可見光的波長大小類似,更傾向于米氏散射而非瑞利散射。假設(shè)所有可見光的波長分布大致相同,因此云看起來是是白色或灰色的。
米氏散射大多數(shù)為煙霧和云散射牛奶、生物組織和乳膠漆之類大粒子。
在多云天氣主要是米氏散射(水滴)。發(fā)生米氏散射的介質(zhì)中粒子大,為球形粒子
在空中透視中,近處遠(yuǎn)處的物體對(duì)比大概是這樣的,顏色變化,邊緣模糊,等等。
?
博主之前在unity引擎中做的散射渲染
?
?
?
這個(gè)在刺客信條中很常用啊,就算不去鳥瞰點(diǎn),不觸發(fā)信仰之躍,隨便爬幾層建筑,?????????????????隨處都是空中透視
?
?
?
?
?
texture gradient紋理梯度
通過紋理的近大遠(yuǎn)小來產(chǎn)生深度
?
?
在游戲中通常用,地板紋理,石路,磚路等等體現(xiàn)深度,此方法經(jīng)常與各向異性合用
比如 unity這個(gè)各向異性過濾的例子(左無右有),紋理的近大遠(yuǎn)小充分的產(chǎn)生了深度,這個(gè)例子還使用了線條透視。
?
GTA5中的例子
?
?
其他
不可能圖形impossible figure
不可能圖形impossible figure的深度,
?
陰影產(chǎn)生深度
大腦先驗(yàn)假設(shè)光線來自上方(太陽光)
?
?
figure-ground perception
?
博主近期渲染:最近用unity5弄的一些渲染
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ---- by wolf96
轉(zhuǎn)載于:https://www.cnblogs.com/zhanlang96/p/4925479.html
總結(jié)
以上是生活随笔為你收集整理的游戏开发Camera之Cinematic Camera-深度的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深入理解BS结构应用程序
- 下一篇: hibernate注解方式来处理映射关系