Appearance
模型操作
样例:
注意
效果不可叠加使用。使用一个效果前,必须先清除上一次效果。
edgeShow
显示模型轮廓
定义:
ts
interface EdgeSelectOptions {
color?: IColor;
hideColor?: IColor;
edgeThickness?: number;
edgeStrength?: number;
}
function edgeShow(object: BaseObject3D | BaseObject3D[], options?: EdgeSelectOptions): Promise<void>;
用法:
js
ssp.edgeShow(object, {
color: 0xff6600,
});
参数:
object
- 描述: 模型对象
- 类型: BaseObject3D | BaseObject3D[]
- 必填:
options
- 描述: 配置选项
- 类型: EdgeSelectOptions
- 必填:
EdgeSelectOptions
属性 | 描述 | 类型 | 必填 | 默认值 |
---|---|---|---|---|
color | 轮廓颜色 | IColor | #fff | |
hideColor | 被遮挡时的轮廓颜色 | IColor | #999 | |
edgeThickness | 轮廓浓度 | number | 3 | |
edgeStrength | 轮廓厚度 | number | 10 |
unEdgeShow
取消模型轮廓
定义:
ts
function unEdgeShow(objects?: BaseObject3D | BaseObject3D[]): Promise<void | void[]>;
用法:
js
ssp.unEdgeShow();
参数:
object
- 描述: 如没有传参, 将取消整个场景内所有模型的轮廓
- 类型: BaseObject3D | BaseObject3D[]
- 必填:
strokeShow
显示模型描边
定义:
ts
interface StrokeSelectOptions extends BaseSelectOptions {
isOpacityShow?: boolean;
edgeColor?: IColor;
edgeOpacity?: number;
modelCache?: boolean;
firstChild?: boolean;
}
function strokeShow(object: BaseObject3D | BaseObject3D[], options?: StrokeSelectOptions): Promise<void | void[]>;
用法:
js
const models = ssp.getAllModel();
ssp.strokeShow(models, {
edgeOpacity: 0.5,
isOpacityShow: false,
firstChild: true,
});
参数:
object
- 描述: 模型对象
- 类型: BaseObject3D | BaseObject3D[]
- 必填:
options
- 描述: 配置选项
- 类型: StrokeSelectOptions
- 必填:
StrokeSelectOptions
属性 | 描述 | 类型 | 必填 | 默认值 |
---|---|---|---|---|
isOpacityShow | 是否透明 | boolean | true | |
color | 颜色 | IColor | 0x46ebf7 | |
opacity | 不透明度 | number | 0.2 | |
edgeColor | 边缘颜色 | IColor | 0x00eeff | |
edgeOpacity | 边缘不透明度 | number | 1 | |
modelCache | 当传入 Model 时是否缓存计算结果 | boolean | true | |
firstChild | 是否只作用第一个子节点 | boolean | false |
注意
计算边缘线框比较耗时,建议使用默认的 modelCache
减少重复计算。
该选项将使用 Model 的 url 作为缓存 key。
提示
由于模型可能存在嵌套结构,要独立计算每个 Model 对象本身时需要开启 firstChild
,否则将包含所有子节点。
unStrokeShow
取消模型描边
定义:
ts
function unStrokeShow(objects?: BaseObject3D | BaseObject3D[]): Promise<void | void[]>;
用法:
js
ssp.unStrokeShow();
参数:
opacityShow
透明显示模型
定义:
ts
interface OpacitySelectOptions extends BaseSelectOptions {
}
opacityShow(object: BaseObject3D | BaseObject3D[], options?: OpacitySelectOptions): Promise<void | void[]>;
用法:
js
ssp.opacityShow(object, {
color: 0xff6600,
});
参数:
object
- 描述: 模型对象
- 类型: BaseObject3D | BaseObject3D[]
- 必填:
options
- 描述: 配置选项
- 类型: OpacitySelectOptions
- 必填:
OpacitySelectOptions
属性 | 描述 | 类型 | 必填 | 默认值 |
---|---|---|---|---|
color | 颜色 | IColor | 0xffffff | |
opacity | 不透明度 | number | 0.2 |
unOpacityShow
取消透明显示模型
定义:
ts
function unOpacityShow(objects?: BaseObject3D | BaseObject3D[]): Promise<void | void[]>;
用法:
js
ssp.unOpacityShow();
参数:
highlightShow
高亮显示模型
定义:
ts
interface HighlightSelectOptions extends BaseSelectOptions {}
function highlightShow(object: BaseObject3D | BaseObject3D[], options?: HighlightSelectOptions): Promise<void | void[]>;
用法:
js
ssp.highlightShow(object, { color: 0xff6600 });
参数:
object
- 描述: 模型对象
- 类型: BaseObject3D | BaseObject3D[]
- 必填:
options
- 描述: 配置选项
- 类型: HighlightSelectOptions
- 必填:
HighlightSelectOptions
属性 | 描述 | 类型 | 必填 | 默认值 |
---|---|---|---|---|
color | 颜色 | IColor | 0xff0000 | |
opacity | 不透明度 | number | 1 |
unHighlightShow
取消高亮显示模型
定义:
ts
function unHighlightShow(objects?: BaseObject3D | BaseObject3D[]): Promise<void | void[]>;
用法:
js
ssp.unHighlightShow();
参数:
emissiveShow
自发光显示模型
定义:
ts
interface EmissiveSelectOptions extends Omit<BaseSelectOptions, 'opacity'> {
baseColor?: IColor;
minOpacity?: number;
maxOpacity?: number;
duration?: number;
yoyo?: boolean;
}
function emissiveShow(object: BaseObject3D | BaseObject3D[], options?: EmissiveSelectOptions): Promise<void | void[]>;
用法:
js
ssp.emissiveShow(object, { color: '#f00', maxOpacity: 1, minOpacity: 0, baseColor: '#ff8787' });
参数:
object
- 描述: 模型对象
- 类型: BaseObject3D | BaseObject3D[]
- 必填:
options
- 描述: 模型对象
- 类型: EmissiveSelectOptions
- 必填:
EmissiveSelectOptions
属性 | 描述 | 类型 | 必填 | 默认值 |
---|---|---|---|---|
color | 自发光颜色 | IColor | red | |
baseColor | 基础颜色 | IColor | ||
minOpacity | 动画自发光强度最小值 | number | 0 | |
maxOpacity | 动画自发光强度最大值 | number | 1 | |
duration | 动画周期时长(ms) | number | 1000 | |
yoyo | 反向播放动画 | boolean | false |
unEmissiveShow
取消自发光显示模型
定义:
ts
function unEmissiveShow(objects?: BaseObject3D | BaseObject3D[]): Promise<void | void[]>;
用法:
js
ssp.unEmissiveShow();