WebGL之三维线缓存的特效线材质

LGL

前言:在前端三维使用线型对象时,普通线性是不能满足所有需求的,经常需要添加特殊线性来实现效果,因此本篇博客来具体讲讲超图实现特殊线性的方法。

一、数据处理

在WebGL中实现特效线效果主要的方法是设置实体的材质,这种方法在网上已有很多,本篇介绍使用超图的线性缓存如何设置特效线效果。

(一)绘制三维线

1、新建三维线数据集,设置坐标系
在这里插入图片描述

2、点击对象绘制绘制线数据
在这里插入图片描述

(二)生成缓存

1、添加至场景,右键生成缓存
2、新建工作空间,添加数据到场景,保存工作空间,发布服务
在这里插入图片描述

二、特效线设置

(一)接口介绍

S3MPolylineEffect:特效线类,可以通过该类在三维场景中添加特效线。
getEffectSetting():获取参数描述列表
setValue(name, value):设置特效线的参数值。例:s3mpolylineEffect.setValue(‘Width’,5);

(二)参数介绍

在这里插入图片描述

(三)应用举例

1、加载数据

var pro = viewer.scene.open('http://localhost:8090/iserver/services/3D-nc/rest/realspace')
        pro.then(function(layers){
    
    
        var layer = layers[0];
        var effect = layer ._effect
        ....
        })

2、设置线型
带箭头的虚线

 effect.setValue('PolylineType', 1);
 effect.IsArrow = true; 

黄色荧光线

 effect.setValue('PolylineType', 3);
 effect.setValue('Color', new Cesium.Color(132 * 2 / 255, 143 * 2 / 255, 11 * 2 / 255, 1));

线型流动

effect.IsMove = true;

总结
这种方法主要应用在三维线型缓存样式进行更改,在项目中需要加载大数据量的三维线型更改线型样式方面有优势

猜你喜欢

转载自blog.csdn.net/supermapsupport/article/details/112021931