相机
优质
小牛编辑
129浏览
2023-12-01
“相机”组件定义用户从哪个角度查看场景。相机通常与允许输入设备移动和旋转相机的控件组件配对。
例子
位于人眼平均高度(1.6米)的照相机。
<a-entity camera= "userHeight: 1.6" look-controls></a-entity> |
属性
属性 | 描述 | 默认值 |
---|---|---|
active | 在具有多个摄影机的场景中,摄影机是否为活动摄影机。 | true |
far | 相机视锥体的远裁剪平面。 | 10000 |
fov | 视场角(以度为单位)。 | 80 |
near | 相机视锥体的近裁剪平面。 | 0.005 |
userHeight | 当不在虚拟现实模式下时,所需要给相机添加的高度。默认设置为1.6(米为单位,表示平均人眼高度)。 | 0 |
zoom | 相机的缩放系数。 | 1 |
VR行为
当不处于VR模式时,userHeight
将相机转换为近似人眼水平的平均高度。注入式摄像机将此设置为1.6(米)。当进入VR时,移除该高度,以便我们使用从虚拟现实头戴设备返回的绝对位置。这个偏移使得VR模式和非VR模式都能适当工作,使桌面屏幕上的体验看起来像那么回事。
当退出VR时,相机将重置其旋转为进入VR之前的状态,这就是为什么当我们退出VR时,相机的旋转回到桌面屏幕的正常状态。
改变激活的相机
当active
属性被切换时,组件将通知相机系统更改渲染器使用的当前摄影机:
varsecondCameraEl =document.querySelector('#second-camera'); secondCameraEl.setAttribute('camera','active',true); |
将实体固定到相机
若要将实体固定到相机上,以便无论用户在何处查看,它们都保持在视图中,可以将这些实体附加为相机的子实体。比如可以应用于平视显示器(HUD)。
<a-entity camera look-controls> <a-entity geometry= "primitive: plane; height: 0.2; width: 0.2" position= "0 0 -1" material="color: gray; opacity: 0.5"></a-entity> </a-entity> |
注意,你应该谨慎使用平视显示器,因为它们会在虚拟现实中引起刺激和眼睛疲劳。考虑将菜单集成到世界本身的结构中。如果你真的创建了一个平视显示器,请确保平视显示器在视野的中心位置,这样用户就不必费力地阅读它。