五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

關(guān)于unity渲染順序的遠(yuǎn)近判斷的疑問與研究

2023-08-01 21:06 作者:絕劍結(jié)城  | 我要投稿

這一切的起因都是因?yàn)橐粋€現(xiàn)象。

如圖,我這里本來有個關(guān)閉深度寫入的白色面片,現(xiàn)在場景是這樣(地板,人物,面片都是在不透明物體隊列即2000隊列內(nèi))。我的理解是先渲染了地板,然后寫入深度,然后渲染面片,不寫入深度,然后渲染人物寫入深度,最后的隊列渲染了天空球,覆蓋掉白色面片溢出地板的部分。

但是鏡頭稍微拉遠(yuǎn)些,就會變成圖里這樣,我的理解是先渲染了白色面片,然后再渲染地板,然后再渲染了人物,最后在后面隊列渲染了天空球。所以白色面片全被擋住了。

然后我在framedebug里面看了下,發(fā)現(xiàn)我的想法是對的,就是隨著距離的移動,一下子是先渲染面片,一下子是先渲染地板,但是我不懂這是什么原因?qū)е碌摹?/p>

之后我感覺這個現(xiàn)象很可能跟unity相同渲染隊列內(nèi)判斷物體遠(yuǎn)近的方式有關(guān)。我們知道相同隊列內(nèi)的不透明物體,unity是按照由近到遠(yuǎn)的方式繪制的。(這里要注意區(qū)分逐物體繪制和逐片元繪制的區(qū)別,它是先確定繪制一個物體后,再對物體進(jìn)行逐片元繪制,圖中的問題就是因?yàn)槲矬w繪制順序?qū)е碌模?yīng)該是有什么原因,導(dǎo)致了它在正面情況下計算物體和攝像機(jī)距離的時候出錯了。而且這個算法應(yīng)該不是單純的物體坐標(biāo)和攝像機(jī)坐標(biāo)的distance。不然不會出現(xiàn)正面拉遠(yuǎn)閃爍,側(cè)面拉遠(yuǎn)就不閃爍的問題。

https://zhuanlan.zhihu.com/p/473875401

https://qxsoftware.github.io/Unity-Rendering-Order.html

這兩個網(wǎng)址都提到了unity繪制不透明物體順序的算法是什么,然后我去官方文檔看了說明。

它的確是用了一種別致的算法來確定遠(yuǎn)近。但是我想找源碼來看,找了半天都找不到。

個人目前結(jié)論,低賤的油膩體不知道用的什么天才算法導(dǎo)致了這個物體遠(yuǎn)近距離的判斷會有bug。當(dāng)然,這個情況其實(shí)是極端情況。我只需要把面片渲染隊列+1,就可以完美解決這個問題,這也是模板測試mask常用的操作。但這個bug還是很顛。

關(guān)于unity渲染順序的遠(yuǎn)近判斷的疑問與研究的評論 (共 條)

分享到微博請遵守國家法律
雷山县| 龙门县| 泊头市| 德惠市| 新竹县| 安龙县| 东明县| 隆回县| 康定县| 方城县| 怀安县| 虎林市| 克山县| 东乡族自治县| 万源市| 七台河市| 阿合奇县| 电白县| 桂林市| 嘉荫县| 嵊州市| 于田县| 沭阳县| 九寨沟县| 马尔康县| 南城县| 肇庆市| 无极县| 晋中市| 色达县| 房产| 德化县| 股票| 南江县| 盘山县| 婺源县| 麻栗坡县| 武宁县| 雅安市| 凭祥市| 郁南县|