mirror of
https://github.com/galacean/engine.git
synced 2026-06-24 20:59:15 +08:00
57 lines
3.5 KiB
Plaintext
57 lines
3.5 KiB
Plaintext
---
|
||
order: 2
|
||
title: 相机控件
|
||
type: 图形
|
||
group: 相机
|
||
label: 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` | 缩放速度 |
|