1. CustomAreaMaterial

1.1. 初始化 new CustomAreaMaterial(options)

自定义材质类(适用于面几何对象),不同的材质类型有不同的属性变量,具体参数如下所示:

  • CustomMaterialType.COLOR: 填充颜色
    • color: 填充颜色。
  • CustomMaterialType.STRIPE: 条纹
    • horizontal: 条纹是否是竖直的。
    • lightColor: 第一个条纹(明亮)颜色。
    • darkColor: 第二个条纹(昏暗)颜色。
    • offset: 条纹偏移值,偶数从第一个条纹开始,奇数从第二个条纹开始,小数则从对应条纹中等比位置开始。
    • stripNumber: 条纹总数
    • startToTrans: 条纹透明度渐变起始位置,范围在0~1
    • speedFactor: 纹理动效速度因子,绝对值越大动效越频繁,负值动效方向相反,零值没有动效。
  • CustomMaterialType.GRID: 网格
    • color: 网格主体颜色。
    • cellAlpha: 网格线之间单元格的alpha值,与color.alpha组成最终的显示alpha值。
    • repeat: 网格重复次数。
    • lineThickness: 横竖线的宽度,单位为像素。
    • lineOffset: 网格横竖偏移值,范围均在0~1。
    • speedFactor: 纹理动效速度因子,绝对值越大动效越频繁,负值动效方向相反,零值没有动效。
  • CustomMaterialType.CHECKERBOARD: 棋盘
    • lightColor: 明亮颜色。
    • darkColor: 昏暗颜色。
    • repeat: 棋盘重复次数。
    • speedFactor: 纹理动效速度因子,绝对值越大动效越频繁,负值动效方向相反,零值没有动效。
  • CustomMaterialType.DOT: 圆点
    • lightColor: 圆点颜色。
    • darkColor: 背景颜色。
    • repeat: 圆点重复次数。
    • speedFactor: 纹理动效速度因子,绝对值越大动效越频繁,负值动效方向相反,零值没有动效。
  • CustomMaterialType.IMAGE: 贴图材质
    • repeat: 贴图重复次数。
    • imagePath: 材质贴图地址。
  • CustomMaterialType.VIDEO_IMAGE: 视频/图像材质
    • 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 : Materialundefined -

    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 CustomAreaMaterialundefined
    版权所有@盈嘉互联(北京)科技有限公司 京ICP备15051988号-9 Copyright © 2022 all right reserved,powered by Gitbook该文件修订时间: 2022-07-19 11:34:25

    results matching ""

      No results matching ""