項目中需要一個界面成像攝像頭畫面,如果採用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 模式,才能起作用。