Cesium中为几何形状设置材质有多种方法html
直接构建Cesium.Material对象,经过设置Material的属性来进行控制,官方示例和API描述的比较清楚,编程
API说明ide
材质示例ui
今天介绍经过MaterialProperty设置:spa
Cesium 材质相关的类为 MaterialProperty,它有一下几个子类:code
这里以 第五节介绍的Geometry来表现材质的变化,示例以下:htm
//方法一,构造时赋材质 var entity = viewer.entities.add({ position: Cesium.Cartesian3.fromDegrees(-103.0, 40.0), ellipse : { semiMinorAxis : 250000.0, semiMajorAxis : 400000.0, material : Cesium.Color.BLUE.withAlpha(0.5)//可设置不一样的MaterialProperty } }); //方法二,构造后赋材质 var ellipse = entity.ellipse; ellipse.material = Cesium.Color.RED;
如下依次来介绍对象
颜色是最多见的材质,能够将几何形状修改成不一样的纯色,达到区分的目的,也能够完成好比鼠标移动到某个建筑,建筑变色之类;使用比较简单,只须要赋值颜色就好了,例如: ellipse.material = Cesium.Color.BLUE.withAlpha(0.5)blog
图片纹理功能比较丰富,主要有下面属性:图片
//完整的这么写 ellipse.material = new Cesium.ImageMaterialProperty({ image:'../images/cats.jpg', color: Cesium.Color.BLUE, repeat : new Cesium.Cartesian2(4, 4) }); //也能够简单的写成 ellipse.material = '../images/cats.jpg';
注意 在http网址中调用https网址图片,肯能会调用失败
共有三个属性,
ellipse.material = new Cesium.CheckerboardMaterialProperty({ evenColor : Cesium.Color.WHITE, oddColor : Cesium.Color.BLACK, repeat : new Cesium.Cartesian2(4, 4) });
属性说明以下:
ellipse.material = new Cesium.StripeMaterialProperty({ evenColor : Cesium.Color.WHITE, oddColor : Cesium.Color.BLACK, repeat : 32, offset:20, orientation:Cesium.StripeOrientation.VERTICAL });
属性说明以下:
ellipse.material = new Cesium.GridMaterialProperty({ color : Cesium.Color.YELLOW, cellAlpha : 0.2, lineCount : new Cesium.Cartesian2(8, 8), lineThickness : new Cesium.Cartesian2(2.0, 2.0) });
var entity = viewer.entities.add({ polyline : { positions : Cesium.Cartesian3.fromDegreesArray([-77, 35, -77.1, 35]), width : 5, material : Cesium.Color.RED }}); viewer.zoomTo(viewer.entities);
属性说明以下:
polyline.material = new Cesium.PolylineGlowMaterialProperty({ glowPower : 0.2, color : Cesium.Color.BLUE });
属性说明以下:
polyline.material = new Cesium.PolylineOutlineMaterialProperty({ color : Cesium.Color.ORANGE, outlineWidth : 3, outlineColor : Cesium.Color.BLACK });
我的主页 http://cesium.xin