220 lines
5.2 KiB
Markdown
220 lines
5.2 KiB
Markdown
---
|
|
outline: [2, 3]
|
|
---
|
|
|
|
# OutlinePass
|
|
|
|
- 源文件:`packages/sdk/src/passes/OutlinePass.ts`
|
|
- 文档位置:`packages/docs/api/passes/OutlinePass.md`
|
|
|
|
## 类:`OutlinePass`
|
|
|
|
- 作用:描边通道 用于为选中的对象添加描边效果
|
|
|
|
### 构造函数
|
|
|
|
#### `new OutlinePass(scene: THREE.Scene, camera: THREE.Camera)`
|
|
|
|
- 作用:构造函数
|
|
|
|
- 入参:
|
|
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
| --- | --- | --- | --- |
|
|
| `scene` | `THREE.Scene` | 是 | - 场景 |
|
|
| `camera` | `THREE.Camera` | 是 | - 相机 |
|
|
|
|
- 出参:`OutlinePass`
|
|
- 返回说明:返回当前类实例。
|
|
|
|
### 属性
|
|
|
|
| 属性名 | 可见性 | 类型 | 作用 |
|
|
| --- | --- | --- | --- |
|
|
| `scene` | `public` | `THREE.Scene` | 用于保存 `scene` 对应的数据。 |
|
|
| `camera` | `public` | `THREE.Camera` | 用于保存 `camera` 对应的数据。 |
|
|
| `outlinePass` | `public` | `any` | 用于保存 `outlinePass` 对应的数据。 |
|
|
| `selectedObjects` | `public` | `THREE.Object3D[]` | 用于保存 `selectedObjects` 的集合数据。 |
|
|
| `edgeStrength` | `public` | `THREE.UniformNode<"float", number>` | 描边参数 |
|
|
| `edgeGlow` | `public` | `THREE.UniformNode<"float", number>` | 用于保存 `edgeGlow` 对应的数据。 |
|
|
| `edgeThickness` | `public` | `THREE.UniformNode<"float", number>` | 用于保存 `edgeThickness` 对应的数据。 |
|
|
| `pulsePeriod` | `public` | `THREE.UniformNode<"float", number>` | 用于保存 `pulsePeriod` 对应的数据。 |
|
|
| `visibleEdgeColor` | `public` | `THREE.UniformNode<"color", THREE.Color>` | 用于保存 `visibleEdgeColor` 对应的数据。 |
|
|
| `hiddenEdgeColor` | `public` | `THREE.UniformNode<"color", THREE.Color>` | 用于保存 `hiddenEdgeColor` 对应的数据。 |
|
|
|
|
### 方法
|
|
|
|
#### `init(): void`
|
|
|
|
- 作用:初始化描边通道
|
|
|
|
- 入参:无
|
|
|
|
- 出参:`void`
|
|
- 返回说明:无返回值。
|
|
|
|
#### `updateCamera(camera: THREE.Camera): void`
|
|
|
|
- 作用:更新相机引用
|
|
|
|
- 入参:
|
|
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
| --- | --- | --- | --- |
|
|
| `camera` | `THREE.Camera` | 是 | - 新的相机 |
|
|
|
|
- 出参:`void`
|
|
- 返回说明:无返回值。
|
|
|
|
#### `getOutputNode(scenePass: any): any`
|
|
|
|
- 作用:获取描边效果的输出节点
|
|
|
|
- 入参:
|
|
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
| --- | --- | --- | --- |
|
|
| `scenePass` | `any` | 是 | - 场景通道的输出节点 |
|
|
|
|
- 出参:`any`
|
|
- 返回说明:描边效果的输出节点
|
|
|
|
#### `addSelectedObject(object: THREE.Object3D): void`
|
|
|
|
- 作用:添加要描边的对象
|
|
|
|
- 入参:
|
|
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
| --- | --- | --- | --- |
|
|
| `object` | `THREE.Object3D` | 是 | - 要添加的对象 |
|
|
|
|
- 出参:`void`
|
|
- 返回说明:无返回值。
|
|
|
|
#### `removeSelectedObject(object: THREE.Object3D): void`
|
|
|
|
- 作用:移除要描边的对象
|
|
|
|
- 入参:
|
|
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
| --- | --- | --- | --- |
|
|
| `object` | `THREE.Object3D` | 是 | - 要移除的对象 |
|
|
|
|
- 出参:`void`
|
|
- 返回说明:无返回值。
|
|
|
|
#### `clearSelectedObjects(): void`
|
|
|
|
- 作用:清空所有要描边的对象
|
|
|
|
- 入参:无
|
|
|
|
- 出参:`void`
|
|
- 返回说明:无返回值。
|
|
|
|
#### `updateSelectedObjects(): void`
|
|
|
|
- 作用:更新要描边的对象列表
|
|
|
|
- 入参:无
|
|
|
|
- 出参:`void`
|
|
- 返回说明:无返回值。
|
|
|
|
#### `setEdgeStrength(value: number): void`
|
|
|
|
- 作用:设置描边强度
|
|
|
|
- 入参:
|
|
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
| --- | --- | --- | --- |
|
|
| `value` | `number` | 是 | - 描边强度值 |
|
|
|
|
- 出参:`void`
|
|
- 返回说明:无返回值。
|
|
|
|
#### `setEdgeGlow(value: number): void`
|
|
|
|
- 作用:设置描边 glow 效果
|
|
|
|
- 入参:
|
|
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
| --- | --- | --- | --- |
|
|
| `value` | `number` | 是 | - glow 效果值 |
|
|
|
|
- 出参:`void`
|
|
- 返回说明:无返回值。
|
|
|
|
#### `setEdgeThickness(value: number): void`
|
|
|
|
- 作用:设置描边厚度
|
|
|
|
- 入参:
|
|
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
| --- | --- | --- | --- |
|
|
| `value` | `number` | 是 | - 描边厚度值 |
|
|
|
|
- 出参:`void`
|
|
- 返回说明:无返回值。
|
|
|
|
#### `setPulsePeriod(value: number): void`
|
|
|
|
- 作用:设置描边脉冲周期
|
|
|
|
- 入参:
|
|
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
| --- | --- | --- | --- |
|
|
| `value` | `number` | 是 | - 脉冲周期值 |
|
|
|
|
- 出参:`void`
|
|
- 返回说明:无返回值。
|
|
|
|
#### `setVisibleEdgeColor(color: THREE.Color): void`
|
|
|
|
- 作用:设置可见边的颜色
|
|
|
|
- 入参:
|
|
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
| --- | --- | --- | --- |
|
|
| `color` | `THREE.Color` | 是 | - 颜色值 |
|
|
|
|
- 出参:`void`
|
|
- 返回说明:无返回值。
|
|
|
|
#### `setHiddenEdgeColor(color: THREE.Color): void`
|
|
|
|
- 作用:设置隐藏边的颜色
|
|
|
|
- 入参:
|
|
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
| --- | --- | --- | --- |
|
|
| `color` | `THREE.Color` | 是 | - 颜色值 |
|
|
|
|
- 出参:`void`
|
|
- 返回说明:无返回值。
|
|
|
|
#### `getSelectedObjects(): THREE.Object3D<THREE.Object3DEventMap>[]`
|
|
|
|
- 作用:获取当前选中的对象列表
|
|
|
|
- 入参:无
|
|
|
|
- 出参:`THREE.Object3D<THREE.Object3DEventMap>[]`
|
|
- 返回说明:选中的对象列表
|
|
|
|
## 构造示例
|
|
|
|
- 当前 Demo 中没有直接展示 `OutlinePass` 的构造调用。
|
|
|
|
## 函数示例
|
|
|
|
- 当前 Demo 中没有直接展示 `OutlinePass` 的公开方法调用。
|