最近有个项目需要把掘进车放到巷道里面,加载出来的效果一片漆黑,看不清模型细节。
由于Cesium中材质没有自发光的设置,所以只能设置光源。
在网上查了一些代码,Cesium的光照效果的设置是通过webgl修改白膜的材质来实现的,由于巷道本身有贴图材质,用该方法实现的效果不好。
只能通过修改
viewer.scene.light
来实现了。
修改代码为:
viewer.scene.light = new Cesium.DirectionalLight({
direction: viewer.scene.camera.directionWC,
});
viewer.scene.preRender.addEventListener(function (scene, time) {
viewer.scene.light.direction = Cesium.Cartesian3.clone(
viewer.scene.camera.directionWC,
viewer.scene.light.direction
);
});
设置光照角度跟随摄像机视角,并实时刷新光照角度。效果为:
这样能大致看到模型的轮廓了,但是光线太暗需要调整亮度
加上代码
// 亮度设置
var stages = viewer.scene.postProcessStages;
viewer.scene.brightness = viewer.scene.brightness || stages.add(Cesium.PostProcessStageLibrary.createBrightnessStage());
viewer.scene.brightness.enabled = true;
viewer.scene.brightness.uniforms.brightness = Number(3);
最终效果:文章来源:https://www.toymoban.com/news/detail-505626.html
文章来源地址https://www.toymoban.com/news/detail-505626.html
到了这里,关于【Cesium】调整3dtiles模型的光照的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!