創作內容

10 GP

Unity轉Unreal要習慣的東西之一 - Camera Near/Far設定

作者:巧克力喬斯達│2022-08-03 21:45:30│巴幣:1,516│人氣:520
不論什麼樣的遊戲開發,Camera Component絕對是場景裡必備的
它是畫面呈現的最基本要求,沒了它跟盲人打遊戲差不多

直接切入正題,來看一下Camera Component的截圖:

該有的設定基本上都有了,投影方法、FOV、畫面比例,甚至是預覽用的Camera Mesh..xd
但是就是沒有Near / Far clipping plane這兩個參數?!?!

Near/Far plane決定了一個Camera渲染的範圍 (下圖取自WebGL教學)
UE卻沒有提供有關於此的完整設定,僅提供了Near Plane的設定
(可從Edit → Project Settings → General Settings設定或使用r.SetNearClipPlane)
但一般來說我們反而是調整Far Plane居多,為什麼沒有這個設定呢?

一窺UE的Projection Matrix
要解答Far plane這個問題,得先從了解UE的投影矩陣開始
它由FOV, Near, Far等等組成,決定渲染最後輸出在螢幕上的位置
問題就在於UE的投影矩陣定義如下:

然後引擎在使用這個建構子時,會讓minZ = maxZ,這樣第三排的值就會是0,而第四排的值是minZ
Z = 1的時候代表位置在Near plane, Z = 0的時候代表它在無限大的地方
那也難怪沒有Far plane設定了,根本不需要!
有一些人應該已經注意到了,預設情況下,你在UE的編輯畫面不論鏡頭拉多遠
物件就是不會不見~因為Far plane可是跟黑暗大法師一樣,無限的

為什麼會選擇使用Infinite Far Plane??
可以參考NVIDIA對於深度精準度的研究
簡單來說就是比起Near = 0, Far = 1這種設定
Near = 1, Far = 0這樣反轉過來,深度的精確度更高,配上無限遠平面更高

那麼要怎麼根據距離剔除物件??
簡單來說,Culling功能是獨立於Camera之外的
可以參考Cull Distance Volume的使用說明

其他場合要根據距離來淡出怎麼辦??
自己定義,像是UE內建的Volumetric Fog,淡出距離是要另外設定的

大概這樣~
轉UE後發現沒有Near/Far設定的話也不要太糾結
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=5525510
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 0 篇留言

我要留言提醒:您尚未登入,請先登入再留言

10喜歡★ltes50414 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:另一種視差貼圖做法 - ... 後一篇:想不到英國連手機月租方案...

追蹤私訊切換新版閱覽

作品資料夾

a198955大家
歡迎來小屋看看,YT頻道也有更新哦看更多我要大聲說16小時前


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】