Camera 1 view frustum

视锥(view frustum)

相机的视图上的第个点都对应3D空间中一条线,这些线最终聚合到一点。就是相机的空间位置,也就是透视中心。视锥外的都不可见。还有近、远的两个裁剪平面(平行相机XY面)比近面近的不可见。比远面远的也不可见。Field Of View(FOV)是指锥尖与裁剪面上边中点构成的线,及锥尖与下边中点构成的线的角度。



 

用离相机的特定距离可以定义视锥中某个截面。两者可通过 FOV*0.5的tan来换算。

var frustumHeight = 2.0 * distance * Mathf.Tan(camera.fieldOfView * 0.5 * Mathf.Deg2Rad);

FOV也可心通过两个值来计算。

var camera.fieldOfView = 2 * Mathf.Atan(frustumHeight * 0.5 / distance) * Mathf.Rad2Deg;

扫描二维码关注公众号,回复: 518362 查看本文章

宽度则可以通过高度算出:

var frustumWidth = frustumHeight * camera.aspect;

 

猜你喜欢

转载自berry-gong.iteye.com/blog/2171214