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

官方给的"布料"不够炫?后面我们教你亲手写着色器,想怎么酷就怎么酷。

相关推荐
科技大视界15 小时前
非接触3D形貌测量:按样品类型选设备指南
3d
柒木森16 小时前
AAAI 2026 | Arbi-3DGSR:任意倍率 3D 高斯超分辨率
3d
七牛云行业应用18 小时前
用 Codex 操控 Blender 做 3D 场景:从安装 addon 到跑通第一条指令
人工智能·3d·ai编程·blender
PHOSKEY19 小时前
FPC精密测量与GL-8000系列3D线激光轮廓测量仪在手机制造中的应用
3d·智能手机·制造
法雅特吉他20 小时前
吉他弦寿命模型与更换判定
经验分享·新媒体运营·学习方法·材质·内容运营
玖玥拾21 小时前
Unity 3D 笔记(十一)UI 框架进阶:栈弹窗交互、BasePanel 基类虚方法、DoTween 界面动画
笔记·3d·unity
数智工坊21 小时前
RehearseVLA深度解析:基于物理一致世界模型的VLA强化学习后训练框架
人工智能·深度学习·3d·机器人
图扑数字孪生1 天前
图扑软件携手其域创新:3DGS 高斯泼溅智慧钢铁
3d·数字孪生·3dgs·高斯泼溅·智慧钢厂
机器人零零壹1 天前
越擎科技专访 | iRobotCAM机器人离线编程软件如何破解大尺寸机器人3D打印落地难题,让复杂制造走向智能化
科技·3d·机器人·机器人仿真·3d打印·增材制造·irobotcam
3D小将1 天前
3D格式转换之PROE 转 CATIA 标准化转换技术
3d·maya·solidworks模型·sketchup模型·igs模型