贴图地球(透视)
本页在 课程 39 — 3D Mesh 渲染 的基础上,演示如何为球体几何 geometry: { type: 'sphere' } 设置 基础色贴图 material3d.map,从而实现地球效果。贴图为等距柱状投影(equirectangular)的地球影像,球体绕 Y 轴匀速自转。
参考 AntV G 的 sphere 示例。
交互示例
要点
- 几何:声明式
type: 'mesh3d'+geometry: { type: 'sphere', segments: [48, 32] };球体几何会生成等距柱状投影的 UV,供贴图采样。 - 贴图:
material3d.map接收图片 URL(基础色贴图)。纹理异步加载,加载完成前以 1×1 白色贴图占位,加载完成后自动出现在下一帧。采样器在经度方向REPEAT、纬度方向CLAMP_TO_EDGE,适配 equirectangular 地球贴图。 - 光照:声明式
light3d(一盏环境光 + 一盏平行光)配合baseColor: '#ffffff',让贴图颜色不被染色;适当提高ambient使背光面仍可见。 - 相机:
projection: 'perspective'获得近大远小的透视效果。 - 动画:
requestAnimationFrame中通过api.updateNode(earth, { rotation3d }, false)更新绕 Y 轴的旋转角度实现自转。
贴图需允许跨域(CORS)加载。示例使用与 AntV G 相同的公开地球贴图资源。