zhangax2008
管理员
管理员
  • UID1
  • 粉丝0
  • 关注0
  • 发帖数37
阅读:999回复:0

Three.js 之相机 Camera

楼主#
更多 发布于:2024-07-07 11:50
  • 1.ArrayCamera 包含着一组子摄像机,常用于多人同屏的渲染,更好地提升VR场景的渲染性能
  • 2.StereoCamera 双透视摄像机(立体相机),常用于创建 3D 立体影像,比如 3D 电影之类或 VR
  • 3.CubeCamera 有6个渲染,分别是立方体的6个面,常用于渲染环境、反光等
  • 4.OrthographicCamera 正交相机,在这种投影模式下,无论物体距离相机距离远或者近,在最终渲染的图片中物体的大小都保持不变。这对于渲染2D场景或者UI元素是非常有用的。
  • 5.PerspectiveCamera 透视相机,这一投影模式被用来模拟人眼所看到的景象,它是3D场景的渲染中使用得最普遍的投影模式。



PerspectiveCamera 透视相机


PerspectiveCamera(fov : Number, aspect : Number, near : Number, far : Number)

  • fov — 摄像机视锥体垂直视野角度
  • aspect — 摄像机视锥体长宽比
  • near — 摄像机视锥体近端面
  • far — 摄像机视锥体远端面
这些参数一起定义了摄像机的 viewing frustum(视锥体)。
[p][/p]

透视图中,灰色的部分是视锥体,是可能被渲染的物体所在的区域。fov 是视锥体竖直方向上的张角(是角度制而非弧度制),如侧视图所示。
aspect 等于 width / height,是照相机水平方向和竖直方向长度的比值,通常设为 Canvas 的横纵比例。
near 和 far 分别是照相机到视锥体最近、最远的距离,均为正值,且 fa r应大于 near。
但请注意,不要将 near 和 far 设置为比较极端的数值,如 0.0001 和 99999,这可能引起 bug,让 threejs 无法分辨物体的前后,导致闪动
………………

https://zhuanlan.zhihu.com/p/510877492
游客


返回顶部