当前位置: 首页
前端开发
Cesium黄昏效果:一键开关与滑块调节浓烈度

Cesium黄昏效果:一键开关与滑块调节浓烈度

热心网友 时间:2026-07-09
转载

前言

Cesium实现黄昏效果:按钮一键控制打开/关闭黄昏效果,滑块拖动实时控制黄昏浓烈度

我们曾分享过Cesium中通过后处理与粒子系统实现的下雪和雾气效果。今天将继续探讨天气特效系列——自定义黄昏日落氛围效果,看看如何让三维场景在黄昏时分更具沉浸感。

此次同样采用 PostProcessStage 后处理着色器,实现的功能包括:

  • 一键开启或关闭黄昏效果。
  • Slider 滑块实时调节黄昏浓烈程度。
  • 远景分层暖雾渐变,让画面呈现日落层次感。

这套方案可直接应用于数字孪生、三维场景氛围美化、环境仿真等场景。

演示动态图示如下:

演示地址如下:

3d.xiazhi.tech/3d-demos/#/…

效果特点与视觉亮点

  • 并非简单的全局色温偏移,而是基于屏幕竖向坐标进行分层渲染,天空远景的黄昏暖色更浓郁,近景地形与建筑则保留更多自然细节。
  • 通过 uniform 对外暴露强度参数,支持滑块实时动态调节,实现沉浸感可调。

实现思路

原理实际上并不复杂:借助Cesium的后处理管线,自定义一个片元着色器。具体流程包括:

  • 对原始场景纹理进行采样。
  • 整体压暗画面,模拟傍晚光线逐渐减弱。
  • 叠加暖橙色日落色调。
  • 根据屏幕纵向坐标实现远景分层暖雾效果
  • 外部绑定滑块数值,动态控制黄昏混合强度。

完整代码

1. template 结构:

 复制代码<template>
    <div class="main">        
        <div class="content" ref="content" id="earth">div>        <div class="btn-border" v-if="isLoading">            <div class="slider-border" v-if="isDusk">
                <div class="slider-label">黄昏浓烈程度:{{ Number(duskStrength).toFixed(2) }}div>                
                <el-slider
                  class="dusk-slider"
                  v-model.number="duskStrength"
                  :min="0"
                  :max="0.4"
                  :step="0.01"
                  @input="updateDuskStrength"
                />
            div>            
            <el-button type="primary" size="default" class="btn" @click="flyTo">初始位置el-button>            
            <el-button type="primary" size="default" class="btn" @click="duskControl">
                {{ isDusk ? '关闭黄昏效果' : '开启黄昏效果' }}
            el-button>
        div>        
        <div class="loading" v-if="!isLoading">Loading...div>    div>
template>

2. script 代码:

 复制代码

3. css样式代码:

 复制代码* {
    margin: 0;
    padding: 0;
}.main {
    width: 100%;
    height: 100vh;
    position: relative;
}.content {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
}.loading {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 3;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 34px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 50px;
    color: #000000;
}.btn-border {
    position: absolute;
    right: 24px;
    top: 24px;
    z-index: 2;
    display: flex;
    justify-content: start;
    align-items: stretch;
}.btn {
    margin-left: 20px;
    cursor: pointer;
}.slider-border {
    width: 260px;
    margin-right: 20px;
    position: relative;
    top: -9px;
}.slider-label {
    font-size: 14px;
}

核心逻辑说明

1. 分层黄昏原理

核心思路是屏幕 Y 轴分层混合

  • 画面上方(天空区域):暖色雾效更浓,模拟黄昏时远处天边的暖色光晕。
  • 画面下方(地形和建筑区域):保留更多原始细节,使场景看起来更自然。

2. 动态强度调节

通过 duskStrength 参数统一控制三个维度:降低原始画面亮度以模拟傍晚光线衰减;控制暖色调的混合比例;调节远景暖色雾气的浓度。

拖动滑块即可实时预览不同程度的黄昏氛围,从微弱的暖意到浓郁的日落沉浸感,滑动间即可直观感受效果变化。这一设计让调试与场景适配变得非常直观。无论是用于数字孪生还是环境仿真,这套方案都能轻松营造出逼真的日落沉浸氛围。

来源:https://juejin.cn/post/7655979343203156003

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
如何用拖放在Flask看板应用中更新数据库状态

如何用拖放在Flask看板应用中更新数据库状态

在Flask看板应用中,通过HTML5拖放API结合前端fetch异步POST请求,将拖拽任务的task_id和target_state发送至后端路由;后端接收JSON后更新数据库并提交事务,实现跨列拖拽时实时更新状态。需注意将事件绑定到容器而非子元素,并在ondragover中阻止默认行为以确保drop触发。

时间:2026-07-09 07:01
如何用CSS :has()选择器快速实现悬停span显示相邻div

如何用CSS :has()选择器快速实现悬停span显示相邻div

利用CSS的:has()伪类选择器,通过` bar:has(> baz:hover)+ qux`实现悬停内联元素时显示相邻块级容器,解决了传统相邻兄弟选择器无法跨层级匹配的局限,可用于悬停图标显示详情框等交互场景。需注意浏览器兼容性和性能优化,避免过度使用影响渲染效率。

时间:2026-07-09 07:01
display:block居中段落文本的响应式实现方法

display:block居中段落文本的响应式实现方法

通过`display:block`与`max-width`限制宽度,配合`margin:auto`使段落块水平居中并实现响应式布局;同时用CSS统一控制段落间距,避免脱离文档流,提升可读性与维护性。

时间:2026-07-09 07:01
JavaScript代码去重:高效避免重复编写的技巧

JavaScript代码去重:高效避免重复编写的技巧

将重复代码中的变化点提取为参数,利用ES6模板字符串动态生成选择器,可消除重复、保持一致性。注意参数安全性,必要时进行白名单校验;批量化场景可扩展为数组形式;现代框架中更推荐数据驱动或组件化封装替代手动选择器。

时间:2026-07-09 07:00
使用容器查询单位cqw实现表单输入框相对于祖父容器百分比宽度

使用容器查询单位cqw实现表单输入框相对于祖父容器百分比宽度

利用CSS容器查询单位cqw,表单输入框宽度可直接基于祖父容器计算,绕过中间包装器尺寸干扰,实现简洁响应式布局,无需硬编码或JavaScript,显著降低维护成本,提升嵌套结构下的布局灵活性。

时间:2026-07-09 07:00
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 日榜
  • 周榜
  • 月榜