unity3d中的Viewport

Camera属性中有个Viewport Rect,如下图:

X、Y为(0, 0)代表左下角,(1, 1)代表右上角;W和H分别是Viewport的宽(Width)和高(Height),摄像机的Aspect参数(下一段提到)由W、H以及窗口的长宽比共同决定。通过设置这4个参数以及深度(Depth),可以实现画中画的效果。

 

unity3d对摄像机进行了很好的封装,在DirectX的绘制流水线中,有两个很重要的步骤:投影变换和视口变换。这两个步骤中相关参数如下:

unity3d中的Camera的参数Field of View 对应FovY;两个Clipping Planes的数值对应zn和zf;Aspect由W、H和实际窗口的宽度、高度计算得出:W和H在0-1范围内时,(W * 窗口宽度) / (H * 窗口高度)。

posted on   水煮鱼丸  阅读(11082)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示