纹理建筑的着色选项

尝试一下在线预览

这个示例展示了在 SceneLayer 中着色纹理建筑和其他3D对象的最常见的用例。在城市规划中,强调某些建筑群是很重要的。我们现在可以通过在重要的建筑物上保留纹理,在不重要的建筑物上移除它来实现这一点。我们仍然想保留所有的建筑物作为背景,但纹理将只应用于感兴趣的建筑物。

去饱和纹理也可以用于同样的目的。我们只关心某些感兴趣的建筑物的纹理颜色。

当改变纹理建筑物的颜色时,有几个选项可用。这些选项可以通过 FillSymbol3DLayer.material 的  colorMixMode 属性来设置。

例如,如果建筑物有这种初始纹理:

colorMixMode-texture

使用 tint 将在去饱和的纹理上设置新的颜色:

colorMixMode-tint

            
1
2
3
4
5
6
7
8
9
10
11
12
const symbol = {
  type: "mesh-3d", // autocasts as new MeshSymbol3D()
  symbolLayers: [
    {
      type: "extrude", // autocasts as new FillSymbol3DLayer()
      material: {
        color: "blue",
        colorMixMode: "tint"
      }
    }
  ]
};

replace 将用新颜色替换纹理:

colorMixMode-replace

正片叠底将初始纹理颜色与新颜色 multiply。当建筑物有彩色的纹理时,最终的颜色会比较暗。在我们的示例中,建筑物的屋顶是红色调,在与蓝色相乘后,得到的颜色将是深色:

colorMixMode-multiply

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.