Unity3D 中 3D 相機和 UI 相機的融合

項目中需要一個界面成像攝像頭畫面,如果採用UI 元素進行顯示,如:RawImage 進行顯示,但會出現攝像機畫面太大問題,即看着像相機的焦距放的很大。

RawImage 是UI 元素,無法通過縮放或者調解Z 值進行縮放,想要攝像頭看到的畫面變寬,變廣,只能通過調解成像畫面和相機之間的距離以及相機焦距,或者縮放 UI ,而縮放UI 之後屏幕邊緣就會露出來,不能適配。

解決辦法:使用3D相機和UI 相機進行融合。

3D相機模式只能是 Perspective模式,調整 Quad 與攝像機之間的距離,即 z 值以及 Camera 的 Field of view,效果類似於調焦距。

3D 相機照射 Quad,將 WebCamTexture 成像放到 Quad 上,UI 相機只照射UI。UI 中 Canvas 渲染模式改爲 Screen Space-Camera 模式,UI相機拖入其中複製。通過調節3D相機和 Quad 之間的距離可以隨意控制畫面大小。

不過會出現遮擋問題,涉及渲染順序。

區分UI 和 3D 世界的渲染順序,調節相機的 Depth可達到效果,需要將 Came 設置 Clear Flags 設置爲 Depth only 模式,才能起作用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章