news 2026/5/1 7:24:28

Cesium快速入门18:Entity材质设置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Cesium快速入门18:Entity材质设置

前面的课程里,我们先后讲了 Entity(实体)和 Primitive(图元)这两种“物体”。
它们都能贴材质,只不过用法有简有繁。
今天先集中火力把Entity 的材质系统撸一遍,看看 Cesium 到底给我们备好了哪些“现成布料”,以及怎么换布料。


一、Entity 材质入口:material 属性

以矩形为例,只要在配置项里写一行material: ...就能换皮肤。
既可以直给颜色,也能塞一个正式的 MaterialProperty 对象。

rectangle: { coordinates: Cesium.Rectangle.fromDegrees(...), material: Cesium.Color.RED.withAlpha(0.5) // 直接写颜色,底层会自动包成 ColorMaterialProperty }

二、MaterialProperty 是什么?

MaterialProperty是所有材质属性的“老祖宗”,一个抽象基类,不能直接 new
它只规定派生类必须实现哪些方法和属性。
我们真正用的是它的那群“子子孙孙”——
名字统一以***MaterialProperty结尾,随手一搜就能找到。


三、官方常备“布料”清单

下面 4 种最常用,无需自己写着色器,直接配参数即可。

  • 纯色布料(ColorMaterialProperty)

    和直接写颜色等效,写不写都行。

const material = new Cesium.ColorMaterialProperty( Cesium.Color.RED.withAlpha(0.5) );
  • 棋盘格(CheckerboardMaterialProperty)

    黑白格子,可改颜色、可改密度。

const material = new Cesium.CheckerboardMaterialProperty({ evenColor: Cesium.Color.WHITE, // 偶数格 oddColor: Cesium.Color.BLACK, // 奇数格 repeat: new Cesium.Cartesian2(4, 4) // 横向、纵向各重复 4 次 });
  • 条纹布(StripeMaterialProperty)

    横条 or 竖条,随你挑。

const stripMaterial = new Cesium.StripeMaterialProperty({ evenColor: Cesium.Color.WHITE, oddColor: Cesium.Color.BLACK, repeat: 32, // 条纹数量 offset: 0.0, // 起始偏移 orientation: Cesium.StripeOrientation.HORIZONTAL // 或 VERTICAL });
  • 网格布(GridMaterialProperty)

    把面切成“豆腐块”,适合画地块、棋盘。

const gridMaterial = new Cesium.GridMaterialProperty({ color: Cesium.Color.YELLOW, // 网格线颜色 cellAlpha: 0.2, // 格子填充透明度 lineCount: new Cesium.Cartesian2(8, 8), // 横、竖各 8 条线 lineThickness: new Cesium.Cartesian2(2.0, 2.0) // 线宽(像素) });

四、把布料穿到矩形上

无论哪种材质,最后都交给material字段即可。

const redRectangle = viewer.entities.add({ name: "Red translucent rectangle", rectangle: { coordinates: Cesium.Rectangle.fromDegrees(114.0, 23.4, 114.4, 23.6), extrudedHeight: 30000.0, // 挤出高度,单位米 material: material, // 上面任意一种材质 }, });

小结一句话

Entity 换皮肤 = 找***MaterialProperty→ 配参数 → 扔给material
官方给的“布料”不够炫?后面我们教你亲手写着色器,想怎么酷就怎么酷。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 15:57:04

《安卓逆向这档事》demo2----正己大佬

demo2 第二关 文本定位 首先,观察界面,查看文字,任务要求是获取硬币并一键三连。主要的两个分别是 获取硬币​ 和 一键三连​,回到 MT 管理器,搜索(PS:MT 管理器如何提取安装包定位位置就不细…

作者头像 李华
网站建设 2026/4/27 5:44:48

SolidWorks特征工具设计思维介绍

SolidWorks 的特征工具是其参数化建模的核心,其设计思维深度融合了参数化设计理念、工程实践需求和用户操作直觉。理解特征工具的本质,需要从“特征是什么”“为何这样设计”“如何高效使用”三个维度展开,最终掌握“用特征表达设计意图”的能…

作者头像 李华
网站建设 2026/4/30 21:20:41

SolidWorks异形孔的类型介绍

一、核心理解:“异形孔向导”是什么它不是一个简单的“画孔”工具,而是一个基于标准的参数化特征生成器。其核心价值在于:标准化:内置了ISO、GB(国标)、ANSI、DIN、JIS等多种主流标准,确保设计的…

作者头像 李华
网站建设 2026/5/1 8:25:34

Python asyncio:解锁异步编程的魔法钥匙

一、引言:异步编程的奇妙世界在传统的同步编程中,程序就像一个按部就班的执行者,会顺序执行每一行代码,在遇到 I/O 操作(如文件读写、网络请求等)时,会老老实实等待该操作完成,才会继…

作者头像 李华
网站建设 2026/5/1 7:47:00

深度解析HBM:AI时代的内存革命

当ChatGPT在2022年底掀起生成式AI浪潮,全球科技产业突然意识到:支撑大模型训练与推理的核心瓶颈,早已不是算力本身,而是内存带宽与延迟的“天花板”。高带宽内存(HBM)作为突破这一“内存墙”的关键技术,从曾经的 niche 产品一跃成为AI时代的战略核心。 在2014年第一代 H…

作者头像 李华
网站建设 2026/5/1 4:48:12

单岩藻糖乳糖-N-六糖III:解码生命糖码的精密钥匙 CAS号: 96656-34-7

在生命科学的宏大图景中,蛋白质与核酸长期占据着研究的中心舞台。然而,有一类分子,它们虽结构繁复、默默无闻,却几乎调控着每一个重要的生命过程——它们就是聚糖。今天,我们向您隆重推介聚糖研究领域的顶级工具与关键…

作者头像 李华