three.js中经常使用的camera有两种,透视投影相机(PerspectiveCamera)与正交投影相机(OrthographicCamera)。
这里的投影是指将三维空间中的物体坐标投影到二维平面上。
图片来源:https://www.script-tutorials....web
透视投影是将每一个点都投影到三维空间中,看起来更符合真实世界看到的物体。
正交投影是只考虑全部点的XY坐标,每个二维空间中的点都是与Z轴平行的直线在观察平面上的投影。所看到的物体大小不会受到距离远近的影响。这种相机模式常见于一些旧的2D游戏(好比红警)less
PerspectiveCamera(fov, aspect, near, far) 有四个参数:
fov - field of view,视野角,下图中绿色英文标注的地方,是距离观测点near长度处,最上端与最下端之间的角度
aspect - 画面横宽比
near - 相机最近范围内能够看到的物体的距离
far - 相机最远范围内能够看到的物体的距离webgl
图片来源:https://www.youtube.com/watch...spa
OrthographicCamera(left, right, top, bottom, near, far)有六个参数
left, right, top, bottom - 分别是红色点距离左右上下边框的距离,对应图中XY轴的值;
near - 场景开始渲染并能够显示的起点,对应图中Z轴坐标的值,一般为负;
far - 场景结束渲染的终点,对应图中Z轴坐标的值,一般为正;
图片来源:https://www.youtube.com/watch...three