美文网首页
SuperMap iClient3D for WebGL教程(E

SuperMap iClient3D for WebGL教程(E

作者: 为梦齐舞 | 来源:发表于2019-08-22 09:47 被阅读0次

    本节继续学习RectangleGraphics对象,这个是一个矩形类型,对象属性相对较少,可以直接添加矩形对象,接下来我们一起学习下吧。
    先来看一景效果


    简单的矩形

    实现的代码非常简单:

    viewer.entities.add({
                        id: "test",
                        rectangle: {
                            coordinates: Cesium.Rectangle.fromDegrees(117.0, 30.0, 118, 31),
                            material: Cesium.Color.BLUE
                            
                        }
    

    接下来一起来了解一下这个实体对象吧

    一、主要参数介绍

    1、coordinates:指定矩形的上下左右边界
    2、height:矩形相当地面的高度。
    3、extrudedHeight:矩形的挤出高度,一般拉升高度=extrudedHeight-height。
    4、show:矩形是否可见。
    5、fill:是否使用材质填充,不填充则是透明,如果有边线则只显示边线效果
    6、material:对象的填充材质,就是对象的外观,可以是颜色,也可以是贴图等等
    7、outline:一个布尔属性,指定矩形是否显示轮廓。
    8、outlineColor:轮廓的颜色。
    9、outlineWidth:轮廓的宽度
    10、rotation:矩形对象的顺时针旋转角度。
    11、stRotation:矩形对象上所贴纹理的旋转角度。(如果设置矩形对象的旋转,需要带着这个参数一起设置,否则纹理材质将不旋转)
    12、shadows:指定矩形是否从每个光源投射或接收阴影。
    13、distanceDisplayCondition:即是控制模型在什么相机位置下显示出来。例如设置distanceDisplayCondition:new Cesium.DistanceDisplayCondition(1500,5000),即是在相机距离1500-5000的位置范围内显示,其他范围模型都不显示。

    二、综合使用

    我们制作了一个旋转的带有贴图并且有拉伸高度的矩形对象。


    旋转的Rectangle

    实现代码如下:

    function getRotationValue() {
                        rotation += 0.005;
                        return rotation;
                    }
                    viewer.entities.add({
                        id: "test",
                        rectangle: {
                            coordinates: Cesium.Rectangle.fromDegrees(117.0, 30.0, 118, 31),
                            height: 3000,
                            extrudedHeight: 50000,
                            material: new Cesium.ImageMaterialProperty({
                                image: "./img/3D Tiles Photogrammetry.jpg",
                                repeat: new Cesium.Cartesian2(2.0, 2.0)
                            }),
                            rotation: new Cesium.CallbackProperty(getRotationValue, false),
                            stRotation: new Cesium.CallbackProperty(getRotationValue, false),
                        }
    
                    });
    

    相关文章

      网友评论

          本文标题:SuperMap iClient3D for WebGL教程(E

          本文链接:https://www.haomeiwen.com/subject/xodusctx.html