深浅模式
Util 工具类
说明
一些非常适用的公共函数
安装
sh
npm install @poggi/three-core
pnpm add @poggi/three-core
yarn add @poggi/three-corebuildObjectBox(object: Object3D)
快速构建模型矩形包围盒,它将返回中心点、盒子尺寸以及包围盒对象
buildSimpleStrategy(params: IBaseStrategyParamas)
用于构建模型的基本分级策略,当场景中模型过多,导致性能受到影响时,可以采用该方案,为距离较远的模型采用替代方案进行临时替换,以提高渲染性能
你可以传入自己的模型进行临时替换,若不传入,则方法会根据模型的尺寸生成一个等尺寸的立方体进行替换
loading
buildLevelStrategy(levelStrategys: ILevelStrategy[])
构建一组模型的分级策略,与
buildSimpleStrategy不同的是,该方法的自由度更高,可更自由的构建分级策略通过该策略方式,可解决摩尔纹问题
loading
setMaskColor(model: Object3D, params: IMaskParams)
保证高性能的情况下,在保留原本材质外观的情况下,在模型上覆盖一层遮罩,用于表达一些模型的状态 使用
setMaskColor添加蒙版,使用recoverMaskColor移除蒙版
loading
Interfaces
IBaseStrategyParamas
| 属性名 | 说明 | 类型 | 是否必选 | 默认值 |
|---|---|---|---|---|
| target | 目标模型 | Object3D | 是 | - |
| targetDistance | 目标模型显示距离 | number | 是 | - |
| substitution | 替代模型 | Object3D | Material | 否 | 根据目标模型自动计算出对应尺寸的底面立方体 |
| substitutionDistance | 替代模型显示距离 | number | 是 | - |
ILevelStrategy
| 属性名 | 说明 | 类型 | 是否必选 | 默认值 |
|---|---|---|---|---|
| object | 对象(如果不传,那么将根据模型的大小自动计算一个立方体) | Object3D | 是 | - |
| distance | 距离摄像机的距离 | number | 是 | - |
IMaskParams
| 属性名 | 说明 | 类型 | 是否必选 | 默认值 |
|---|---|---|---|---|
| color | 颜色 | Color | 是 | - |
| opacity | 透明度 | number | 否 | - |
| clone | 是否克隆 | boolean | 否 | - |
