A-Frame中文教程

相机

“相机”组件定义用户从哪个角度查看场景。相机通常与允许输入设备移动和旋转相机的控件组件配对。

例子

位于人眼平均高度(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>

注意,你应该谨慎使用平视显示器,因为它们会在虚拟现实中引起刺激和眼睛疲劳。考虑将菜单集成到世界本身的结构中。如果你真的创建了一个平视显示器,请确保平视显示器在视野的中心位置,这样用户就不必费力地阅读它。