Camera
camera array 相机阵列
ArrayCamera
支持添加多个subCamera子相机,通过设置子相机的viewport来摆设机位:
1 | // 机位数量 |
关键点
对相机viewport的布局,需要在window.resize中进行重新排版,
通过camera.cameras获取到所有子相机的列表,
更新相机的比例和尺寸时,不仅仅要更新子相机的,
还要更新ArrayCamera类型的父相机:
1 | camera.aspect = ASPEC_RATIO |
使用到和比例相关的数据,都用到了window.devicePixelRatio,
这个值一般用于根据屏幕的分辨率调整css的px大小,
因为多机位涉及到视口的定位,所以需要对渲染画布的分辨率也进行调整:
1 | renderer.setPixelRatio(window.devicePixelRatio) |
使用ArrayCamera,能够实现多机位拍摄的效果:
StereoCamera VR相机
StereoEffect
SteareoEffect能够进行双屏渲染,通过VR头显设备,能够产生立体效果画面。
双屏显示原理
根据视差原理,左右眼单独接收到的信息各不相同,将各自的信息在大脑合成后,就能组合成对立体空间的感觉,
所以在用户佩戴VR头显时,左眼和右眼接收到的显示屏的图像略有差异,相当于对现实世界中左右眼接收到信息的差异,即模拟视察,
模拟出来的视差在大脑中合成了立体的视觉场景。
也就是SteareoEffect的效果为双屏渲染的基本原理。