Cesium快速入门19:Entity折线材质

上一节课我们把"面"的材质讲完了,今天换"线"------折线(Polyline)。

不管是道路、航线还是飞线特效,全靠下面几种现成材质,一句代码就能换皮肤。


一、最朴素的红线

先画两个点,宽度 5 像素,纯红色,跑通流程。

复制代码
viewer.entities.add({
  name: "polyline",
  polyline: {
    positions: Cesium.Cartesian3.fromDegreesArray([112.0, 23.1, 115.4, 23.1]), // 起点、终点
    width: 5,                                           // 线宽(像素)
    material: Cesium.Color.RED,                        // 纯色材质
  },
});

刷新后一条笔直的红线横跨屏幕,平平无奇,却是后面所有花样的地基。


二、虚线------PolylineDashMaterialProperty

想让线变成"一短一长"的虚线?用 PolylineDashMaterialProperty,可调颜色、段长、偏移量。

复制代码
const polyLineDashedMaterial = new Cesium.PolylineDashMaterialProperty({
  color: Cesium.Color.YELLOW, // 虚线颜色
  dashOffset: 16,             // 单段虚线长度(像素越大越长)
});

material: polyLineDashedMaterial 替换进去,就能看到黄色虚线。
dashOffset 从 16 改成 30,段长翻倍,视觉更稀疏。


三、箭头线------PolylineArrowMaterialProperty

一条线从头粗到尾,末端自带箭头,做"流向"提示最直观。

复制代码
const polyLineArrowMaterial = new Cesium.PolylineArrowMaterialProperty(
  Cesium.Color.YELLOW // 箭头颜色
);

换材质后,线瞬间变成"箭头跑道",方向永远从起点指向终点。


四、发光飞线------PolylineGlowMaterialProperty

做"飞线"特效全靠它:中间亮、两边暗,还能控制粗细衰减。

复制代码
const polyLineGlowMaterial = new Cesium.PolylineGlowMaterialProperty({
  color: Cesium.Color.YELLOW,
  glowPower: 0.3,   // 发光强度 0--1,越大越亮
  taperPower: 0.1,  // 尾部收缩程度 0--1,越大越早变细
});

参数秒懂:

  • glowPower = 0.8 时,整条线"胖"到几乎成带子;

  • taperPower = 1 时,线身几乎无渐变,失去"飞线"尾巴。

    常用组合:glowPower: 0.3taperPower: 0.1,既有光晕又有尾巴。


五、小结

折线换皮肤只要记住三步:

  1. 选材质类(Dash / Arrow / Glow ...);

  2. 调参数;

  3. 把实例赋给 polyline.material

官方给的这几种线型已能 cover 80% 场景,想要更炫的脉冲、渐隐、彩虹渐变?后面我们上手自定义着色器,再带大家手写"神仙飞线"。

相关推荐
kk哥88997 小时前
从建模到渲染:C4D 2025 全流程 3D 创作提升最新版本下载安装步骤
3d
zl_vslam7 小时前
SLAM中的非线性优-3D图优化之相对位姿g2o::EdgeSE3Expmap(十)
人工智能·算法·计算机视觉·3d
二狗哈7 小时前
Cesium快速入门17:与entity和primitive交互
开发语言·前端·javascript·3d·webgl·cesium·地图可视化
Addisonx8 小时前
深度复盘 III: 核心逻辑篇:构建 WebGL 数字孪生的“业务中枢”与“安全防线”
webgl·three.js
爱看书的小沐9 小时前
【小沐学WebGIS】基于Three.JS绘制二三维地图地球晨昏效果(WebGL / vue / react )
javascript·vue.js·gis·webgl·three.js·opengl·晨昏线
码界奇点10 小时前
Unity WebGL输入支持终极指南解决浏览器输入难题的完整方案
unity·容器·游戏引擎·鸿蒙系统·webgl
杀生丸学AI20 小时前
【无标题】VGGT4D:用于4D场景重建的视觉Transformer运动线索挖掘
人工智能·深度学习·3d·aigc·transformer·三维重建·视觉大模型
Miss_SQ1 天前
Webgl打包后删除StreamingAssets文件夹下多余资源
unity·c#·webgl
GISer_Jing1 天前
WebGL实例化渲染:性能提升策略
前端·javascript·webgl