Files
engine/docs/zh/graphics/camera/control.md
2024-08-02 17:09:09 +08:00

3.7 KiB

order, title, type, group, label
order title type group label
2 相机控件 图形 相机 Graphics/Camera

相机控件就是和相机组件一起搭配来展示三维场景的组件,这类组件根据不同的功能定制相应的参数,通过影响着相机的属性来控制三维场景的展示。

相机控件继承于功能强大的脚本,挂载在包含 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 缩放速度