1. CustomAreaMaterial
1.1. 初始化 new CustomAreaMaterial(options)
自定义材质类(适用于面几何对象),不同的材质类型有不同的属性变量,具体参数如下所示:
color
: 填充颜色。
horizontal
: 条纹是否是竖直的。lightColor
: 第一个条纹(明亮)颜色。darkColor
: 第二个条纹(昏暗)颜色。offset
: 条纹偏移值,偶数从第一个条纹开始,奇数从第二个条纹开始,小数则从对应条纹中等比位置开始。stripNumber
: 条纹总数startToTrans
: 条纹透明度渐变起始位置,范围在0~1speedFactor
: 纹理动效速度因子,绝对值越大动效越频繁,负值动效方向相反,零值没有动效。
color
: 网格主体颜色。cellAlpha
: 网格线之间单元格的alpha值,与color.alpha组成最终的显示alpha值。repeat
: 网格重复次数。lineThickness
: 横竖线的宽度,单位为像素。lineOffset
: 网格横竖偏移值,范围均在0~1。speedFactor
: 纹理动效速度因子,绝对值越大动效越频繁,负值动效方向相反,零值没有动效。
lightColor
: 明亮颜色。darkColor
: 昏暗颜色。repeat
: 棋盘重复次数。speedFactor
: 纹理动效速度因子,绝对值越大动效越频繁,负值动效方向相反,零值没有动效。
lightColor
: 圆点颜色。darkColor
: 背景颜色。repeat
: 圆点重复次数。speedFactor
: 纹理动效速度因子,绝对值越大动效越频繁,负值动效方向相反,零值没有动效。
repeat
: 贴图重复次数。imagePath
: 材质贴图地址。
intensity
: 材质亮度,范围0~2.alpha
: 材质透明度,范围0~1.rotation
: 材质贴图方位,单位为度,范围0~360.video
: 材质对象,可为承载视频的DOM对象或者图像地址.
Param | Type | Default | Description |
---|---|---|---|
options | Object |
||
[options.type] | CustomMaterialType |
BOSGeo.CustomMaterialType.COLOR |
材质类型 |
[options.color] | Color |
BOSGeo.Color.RED |
填充颜色 |
[options.lightColor] | Color |
BOSGeo.Color.RED |
条纹/棋盘/圆点材质颜色 |
[options.darkColor] | Color |
BOSGeo.Color.TRANSPARENT |
条纹/棋盘/圆点背景材质颜色 |
[options.horizontal] | Boolean |
true |
条纹纹理方向是竖直还是水平的 |
[options.offset] | Number |
0 |
条纹偏移值,偶数从第一个条纹开始,奇数从第二个条纹开始,小数则从对应条纹中等比位置开始 |
[options.stripNumber] | Number |
15 |
条纹总数 |
[options.startToTrans] | Number |
0.0 |
条纹透明度渐变起始位置,范围在0~1 |
[options.speedFactor] | Number |
0.0 |
纹理动效速度因子,绝对值越大动效越频繁,负值动效方向相反,零值没有动效 |
[options.cellAlpha] | Cartesian2 |
0.2 |
网格线之间单元格的alpha值,与color.alpha组成最终的显示alpha值 |
[options.repeat] | Cartesian2 |
new BOSGeo.Cartesian2(2,2) |
网格/棋盘/原点/贴图重复次数 |
[options.lineThickness] | Cartesian2 |
new BOSGeo.Cartesian2(1,1) |
横竖线的宽度,单位为像素 |
[options.lineOffset] | Cartesian2 |
new BOSGeo.Cartesian2(0.0,0.0) |
网格横竖偏移值,范围均在0~1 |
[options.imagePath] | String |
材质贴图地址 |
|
[options.intensity] | Number |
1.0 |
材质亮度,取值范围为0~2. |
[options.alpha] | Number |
1.0 |
材质透明度,取值范围为0~1 |
[options.rotation] | Number |
0.0 |
材质贴图方位,单位为度,范围0~360 |
[options.video] | HTMLVideoElement | HTMLCanvasElement | String |
视频图像对象,可为承载视频的DOM对象或者图像地址,若是视频DOM对象的材质必须开启场景实时渲染状态,否则视频材质不会实时更新 |
Example
// 条纹材质
var stripMaterial = new BOSGeo.CustomAreaMaterial({
type: BOSGeo.CustomMaterialType.STRIPE,
lightColor: BOSGeo.Color.BLUE,
darkColor: BOSGeo.Color.RED,
offset: 0,
stripNumber: 5
});
// 网格材质
var gridMaterial = new BOSGeo.CustomAreaMaterial({
type: BOSGeo.CustomMaterialType.GRID,
color: BOSGeo.Color.CYAN,
cellAlpha: 0.3,
repeat: new BOSGeo.Cartesian2(10, 10),
lineThickness: new BOSGeo.Cartesian2(1, 1),
lineOffset: new BOSGeo.Cartesian2(0.2, 0.2)
});
// 棋盘材质
var checkboardMaterial = new BOSGeo.CustomAreaMaterial({
type: BOSGeo.CustomMaterialType.CHECKERBOARD,
lightColor: BOSGeo.Color.YELLOW,
darkColor: BOSGeo.Color.GRAY,
repeat: new BOSGeo.Cartesian2(10, 10),
});
// 圆点材质
var dotMaterial = new BOSGeo.CustomAreaMaterial({
type: BOSGeo.CustomMaterialType.DOT,
lightColor: BOSGeo.Color.YELLOW,
darkColor: BOSGeo.Color.GRAY,
repeat: new BOSGeo.Cartesian2(10, 10),
});
// 贴图材质
var imageMaterial = new BOSGeo.CustomAreaMaterial({
type: BOSGeo.CustomMaterialType.IMAGE,
repeat: new BOSGeo.Cartesian2(1, 1),
imagePath: 'https://bosgeo.boswinner.com/Assets/Images/effect/dome.png'
});
// 视频/图像材质 @see DrawHandler.drawWall
1.2. 属性
属性名 | Type | Default | Description |
---|---|---|---|
CheckboardMaterial | CustomAreaMaterial |
静态属性,默认的棋盘材质 |
|
ColorMaterial | CustomAreaMaterial |
静态属性,默认的填充颜色材质 |
|
DotMaterial | CustomAreaMaterial |
静态属性,默认的圆点材质 |
|
GridMaterial | CustomAreaMaterial |
静态属性,默认的网格材质 |
|
ImageMaterial | CustomAreaMaterial |
静态属性,默认的贴图材质 |
|
StripMaterial | CustomAreaMaterial |
静态属性,默认的条纹材质 |
|
cellAlpha | Number |
1 | 网格线之间单元格的alpha值,与color.alpha组成最终的显示alpha值 |
color | Color |
BOSGeo.Color.RED | 填充颜色 |
darkColor | Color |
BOSGeo.Color.TRANSPARENT | 条纹/棋盘/圆点背景材质颜色 |
horizontal | Boolean |
true | 条纹纹理方向是垂直还是水平的 |
imagePath | String |
'Assets/Images/effect/dome.png' | 材质贴图地址 |
lightColor | Color |
BOSGeo.Color.RED | 条纹/棋盘/圆点材质颜色 |
lineOffset | Cartesian2 |
new BOSGeo.Cartesian2(0, 0) | 网格/棋盘/原点/贴图重复次数 |
lineThickness | Cartesian2 |
new BOSGeo.Cartesian2(1, 1) | 横竖线的宽度,单位为像素 |
offset | Number |
0 | 条纹偏移值,偶数从第一个条纹开始,奇数从第二个条纹开始,小数则从对应条纹中等比位置开始 |
repeat | Number |
0.5 | 淹没水面的透明度 |
speedFactor | CustomAreaMaterial |
0 | 纹理动效速度因子,绝对值越大动效约频繁,负值动效方向相反,零值没有动效 |
startToTrans | Number |
0 | 条纹透明度渐变起始位置,范围在0~1 |
stripNumber | CustomMaterialType |
1 | 条纹总数 |
type | CustomMaterialType |
BOSGeo.CustomMaterialType.COLOR | 材质类型,只读属性 |
intensity | Number |
1.0 | 材质亮度,取值范围为0~2 |
alpha | Number |
1.0 | 材质透明度,取值范围为0~1 |
rotation | Number |
0 | 材质贴图方位,单位为度,范围0~360 |
video | HTMLVideoElement |
视频图像对象,可为承载视频的DOM对象或者图像地址 |
1.3. 方法
1.3.1. customAreaMaterial.toMaterial() ⇒ Material 或 undefined
转为Material对象
Kind : instance method of CustomAreaMaterial
Returns : Material
或 undefined
-
undefined表示转换失败
1.3.2. customAreaMaterial.equals(otherMaterial) ⇒ Boolean
材质是否一致
Kind : instance method of CustomAreaMaterial
Param | Type |
---|---|
otherMaterial | CustomAreaMaterial |
1.3.3. customAreaMaterial.clone(otherMaterial) ⇒ CustomAreaMaterial
克隆对应类型的材质,当类型不一致时重新创建
Kind : instance method of CustomAreaMaterial
Param | Type |
---|---|
otherMaterial | CustomAreaMaterial 或 undefined |