首页 > 其他分享 >调整3dtiles模型的光照方向

调整3dtiles模型的光照方向

时间:2023-02-27 11:48:34浏览次数:43  
标签:brightness viewer light 模型 scene 3dtiles Cesium 光照

最近有个项目需要把掘进车放到巷道里面,加载出来的效果一片漆黑,看不清模型细节。

由于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://blog.csdn.net/ximi2231/article/details/127313571,如有侵权,请联系删除。

标签:brightness,viewer,light,模型,scene,3dtiles,Cesium,光照
From: https://www.cnblogs.com/hustshu/p/17159111.html

相关文章