相机控件就是和相机组件一起搭配来展示三维场景的组件,这类组件根据不同的功能定制相应的参数,通过影响着相机的属性来控制三维场景的展示。
相机控件继承于功能强大的脚本,挂载在包含 Camera
组件的 Entity
上,因此可以顺其自然地拿到 Camera
,在生命周期函数中响应外部输入并执行相应的操作,此类控件目前无法在编辑器中操作添加,需开发者在脚本中自行添加。
需要注意的是,在添加相机控件前请务必保证节点已经添加
Camera
组件
OrbitControl
用来模拟轨道交互,适用于围绕一个目标对象进行 360 度旋转交互,需要注意的是,请务必在添加相机组件后再添加轨道控制器。
属性 | 解释 |
---|---|
target | 观察的目标位置 |
autoRotate | 是否自动旋转,默认为 false ,可通过 autoRotateSpeed 调整旋转速度 |
autoRotateSpeed | 自动旋转的速度 |
enableDamping | 是否开启相机阻尼,默认为 true |
dampingFactor | 旋转阻尼参数,默认为 0.1 |
enableKeys | 是否支持键盘操作(上下左右键) |
enablePan | 是否支持相机平移,默认为 true |
keyPanSpeed | 键盘持续按下时操作的幅度 |
enableRotate | 是否支持相机旋转,默认为 true |
rotateSpeed | 相机旋转速度,默认为 1.0 |
enableZoom | 是否支持相机缩放,默认为 true |
minAzimuthAngle | onUpdate 时,水平方向操作合理范围的最小弧度,默认为负无穷大 |
maxAzimuthAngle | onUpdate 时,水平方向操作合理范围的最大弧度,默认为正无穷大 |
minDistance | onUpdate 时,判定的距离操作合理范围的最小值 |
maxDistance | onUpdate 时,判定的距离操作合理范围的最大值 |
minPolarAngle | onUpdate 时,竖直方向操作合理范围的最小弧度 |
maxPolarAngle | onUpdate 时,竖直方向操作合理范围的最大弧度 |
FreeControl
一般用于漫游控制,常见于游戏场景,需要注意的是,请务必在添加相机组件后再添加自由控制器。
属性 | 解释 |
---|---|
floorMock | 是否模拟地面,默认为 true |
floorY | 配合 floorMock 使用,声明地面的位置信息 |
movementSpeed | 移动速度 |
rotateSpeed | 旋转速度 |
OrthoControl
一般用于控制 2D 场景中的缩放和位移:
属性 | 解释 |
---|---|
zoomSpeed | 缩放速度 |