本文纯属个人见解,可能是正经的胡扯。
好久没有更新了,今天来说下白模。
白模通常指通过矢量面拉伸建模,没有纹理的模型,这种模型通常用在大面积城市模型展示,但是由于没有纹理,颜色上的设置就尤为重要。最近在研究通过白模来构建一个城市的夜景,下面就来说下前端分层设色的使用。
//创建分层设色对象 设置最大/最小可见高度 颜色表 显示模式 透明度及线宽
var hyp = new Cesium.HypsometricSetting();
hyp.MaxVisibleValue = 200;
hyp.MinVisibleValue = 0;
var colorTable = new Cesium.ColorTable();
colorTable.insert(200, new Cesium.Color(0 / 255, 0 / 255, 0 / 255));
colorTable.insert(80, new Cesium.Color(0 / 255, 0 / 255, 0 / 255));
colorTable.insert(15, new Cesium.Color(20 / 255, 20 / 255, 20 / 255));
colorTable.insert(8, new Cesium.Color(1, 198 / 255, 107 / 255));
colorTable.insert(0, new Cesium.Color(250 / 255, 250 / 255, 250 / 255));
hyp.ColorTable = colorTable;
hyp.DisplayMode = Cesium.HypsometricSettingEnum.DisplayMode.FACE;
hyp.Opacity = 0.5;
hyp.LineInterval = 10.0;
//设置图层分层设色属性
layer.hypsometricSetting = {
hypsometricSetting: hyp,
analysisMode: Cesium.HypsometricSettingEnum.AnalysisRegionMode.ARM_ALL
};
从代码来看还是很简单的,原理就是给定一个颜色表,按照颜色表在不同的高度绘制不同的颜色。
配合场景调色和灯光,出现一个比较好看的夜景
对于颜色的理解每个人都不尽相同,见仁见智的事儿,只有对基本颜色有比较深的理解,才能调出比较好看的颜色。