来,一起看圣光!

当一束光线穿透胶体,从垂直于入射光的方向望去,胶体中赫然显现一条光亮的“通路”。在这一刻,光仿佛有了形状,这就是令人着迷的丁达尔光线。

那么,这种神奇现象是怎么形成的呢?

丁达尔效应的形成需满足两个条件:一是空气中须有足够的悬浮颗粒,二是光线需有所遮挡。空气中悬浮颗粒的多少,往往受天气影响,潮湿的天气尤为适宜。因此,在雾天、雨天、海边或山涧等场合,我们最易捕捉到这神奇的丁达尔效应。

图片来源:Mapmost SDK for UE测试图


这种现象可以用UE渲染出来吗?

当然可以,接下来大家跟着我来实际操作一下吧!!!|

第一步可以在UE中新建一个空的关卡,开启关卡后进行渲染参数修改

(UE5的特色功能必须开启体验一下子先)

图片来源:UE截图

图片来源:Mapmost SDK for UE渲染参数设置

这时场景中是有灯光状态,但是无丁达尔效应,根据文章最开始的分析我们知道丁达尔光线出现的两大因素:遮挡空气中的悬浮颗粒,为了快速实现场景效果,我们可以将场景中的光源删除,从Mapmost for UE中获取天空蓝图,蓝图内包含了定向光源与指数级高度雾且设置了最佳的默认参数。

图片来源:Mapmost SDK for UE场景截图

图片来源:Mapmost SDK for UE场景截图

接下来调整sun中的光束泛光范围泛光阀值即可出现圣光效果。

图片来源:Mapmost测试图

最后,调整指数级高度雾的雾密度控制丁达尔光的散光强弱,圣光效果就调整结束啦~

图片来源:Mapmost SDK for UE测试图

动图封面

图片来源:Mapmost SDK for UE测试图

点击此处前往Mapmost官网体验!

### 关于 Unity 中实现圣光效果的 Shader 教程 在 Unity 的 Shader 编写过程中,可以利用 **Shader Graph** 创建复杂的视觉效果,比如圣光(Saint Light)。通过结合光照模型和后期处理技术,能够模拟出一种神圣而耀眼的效果。 #### 使用 Shader Graph 实现圣光效果的方法 为了创建圣光效果,可以通过以下方式设置 Shader Graph: 1. 在 `Assets` 窗口中右键点击,选择菜单项 【Create → Shader Graph → URP】 来创建一个新的 Shader Graph 文件[^1]。随后可以选择 Lit Shader Graph 或者 Unlit Shader Graph 进行编辑。 2. 如果目标是制作一个基于物理渲染的材质,则应选用 **Lit Shader Graph**;如果仅需简单的颜色叠加而不考虑光源影响,则可采用 **Unlit Shader Graph**[^2]。 3. 圣光通常由径向渐变、模糊以及发光层组成,在节点图中添加如下组件: - **Radial Gradient Node**: 控制光芒扩散范围。 - **Blur Effect Nodes**: 增加柔和感并扩展光线边界。 - **Emission Property**: 提供自发光特性使物体看起来更加明亮夺目。 4. 下面是一个简化版的 HLSL 片段用于演示如何定义基本的圣光逻辑: ```hlsl float4 frag(v2f i) : SV_Target { float dist = length(i.uv - 0.5); // 计算像素到中心的距离 float falloff = smoothstep(0, _OuterRadius, dist * _ScaleFactor); return lerp(_InnerColor, _OuterColor, pow(falloff, _Exponent)); } ``` 此代码片段展示了如何根据距离计算衰减因子来混合内外两种颜色从而形成环形光晕效果[^3]。 > 注:上述HLSL代码仅为概念展示用途,请依据实际项目需求调整参数名称及其默认值设定。 #### 注意事项 由于不同版本间可能存在差异性操作流程上的变化,请确保所使用的Unity引擎支持Universal Render Pipeline (URP),并且安装好相应插件包之后再按照指引完成配置工作。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值