camera相机概念
2022-09-27 本文已影响0人
纵生有恒
相机概念
假设现在我们的正前方有一个三维坐标系的全息投影, 那么此时你的眼睛就相当于一架相机, 你看到的 坐标系景象取决于你站的位置。
在three.js中就有这样一个对象, 他就是负责从哪个角度观察我们绘制的3d世界, 也就是相机这个概念的由来。
相机分为两种, 正投影相机和透视投影相机, 正投影相机就是你站的多远你看到的物体的大小都不变, 透视投影相机就是物体会近大远小
相机的配置
透视相机
一、position 相机位置
位置属性很重要很常用, 不同的位置呈现出不同的景色, 我们可以把相机理解为我们在3d世界中的眼睛, 而调整相机的位置就相当于我们走到不同的角度去看这个3d世界。
位置属性的设置方法
第一种设置方式:
camera.position.x = 2;
camera.position.y = 2;
camera.position.z = 10;
第二种设置方式:
position身上有set方法可以设置, 三个参数对应的是x, y, z
camera.position.set(2, 2, 10)
第三种设置方式:
camera.position.add(new THREE.Vector3(2, 2, 10)) // Vector3 是三维向量
二、lookAt 相机看向哪里
如其字面意思就是看向哪里, 上面相机位置已经调整完毕, 那么我们要调整相机拍摄哪里
三、up 谁为相机上方
设置方式就是set方法或者camera.up = new THREE.Vector3(1, 0.5, 0)
坑点
我当前版本的three.js up属性生效需要在设置完up属性之后再主动指定一下camera.lookAt(0, 0, 0);