Cesium快速入门11:广告牌添加

一、把"红点"升级成"广告牌"

上节课我们插了一个小红点,也加载了 3D 建筑。

可只有文字不过瘾?那就再给广州塔贴一张"真人照"------用 Cesium 的 billboard(广告牌)功能。


二、准备一张小图标

  1. 打开 iconfont 或其他图库,搜"广州塔",挑一张顺眼的。

  2. 下载 PNG,丢进项目 public/imgs/ 文件夹,命名 gz.png

    (演示)把图拖进去后,路径就是 ./imgs/gz.png,等会儿直接引用。


三、写代码:把图"钉"在地球上

还是在同一个实体里加一行 billboard 配置即可,代码如下,中文注释已写好,复制就能跑:

复制代码
// 1. 添加一个广告牌(图片)
viewer.entities.add({
  position: Cesium.Cartesian3.fromDegrees(113.31914, 23.109, 700), // 广州塔上空 700 米
  billboard: {
    image: './imgs/gz.png',           // 刚才准备的图片
    width: 200,                       // 宽 200 像素
    height: 200,                      // 高 200 像素
    verticalOrigin: Cesium.VerticalOrigin.TOP,    // 图片顶部对准坐标点
    horizontalOrigin: Cesium.HorizontalOrigin.CENTER, // 水平居中
    pixelOffset: new Cesium.Cartesian2(0, -15)   // 再往下挪 15 像素,避免压住文字
  }
});

四、现场调位置

(演示)第一次跑,图片和小红点挤在一起?别急,三招搞定:

  1. 改高度:把 700 改成 750,图片就"飘"上去一层。

  2. 改偏移:pixelOffset 的 y 再往下多挪一点,比如 -30

  3. 改原点:verticalOrigin 换成 TOP,图片顶部贴着坐标点,底部自然悬空,瞬间清爽。


五、最终效果

塔尖一张靓照,底下"广州塔"三个白字,3D 建筑环抱四周,层次干净又不抢戏。

实际项目里,一般"红点 + 图片 + 文字"三选二就行,太多会叠成"千层饼"。

大家按场景自由删减,大小、偏移、透明度都能再细调。


六、本节小结

  1. 会找图、丢图、引图。

  2. 会用 billboard 把图片钉在地球任意位置。

  3. 会用 verticalOrigin / horizontalOrigin / pixelOffset 微调对齐。

下节课我们继续给地球"加戏",拜拜!

相关推荐
叶智辽1 天前
【ThreeJS调试技巧】那些让 Bug 无所遁形的“脏套路”
webgl·three.js
多恩Stone2 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
叶智辽2 天前
【ThreeJS急诊室】一个生产事故:我把客户的工厂渲染“透明”了
webgl·three.js
多恩Stone2 天前
【3D-AICG 系列-15】Trellis 2 的 O-voxel Shape: Flexible Dual Grid 代码与论文对应
人工智能·python·算法·3d·aigc
在下胡三汉2 天前
为什么“资产土地”标准化主资产的 glTF、glb格式模型,为什么非常流行
3d
2401_863801462 天前
3DTiles(.b3dm,i3dm,cmpt) 数据转换fbx转obj转max转su,cesium格式模型转换
3d
3Dmax效果图渲染研习社2 天前
2026年3ds Max云渲染平台哪个好?
3d
AI能见度2 天前
硬核:如何用大疆 SRT 数据实现高精度 AR 视频投射?
ar·无人机·webgl
思茂信息3 天前
基于CST 3D Combined功能的以太网口RE仿真
开发语言·javascript·单片机·嵌入式硬件·matlab·3d