UE体积光Volumetric Lights in Unreal Engine 4.16

https://evermotion.org/tutorials/show/10663/volumetric-lights-in-unreal-engine-4-16

https://www.youtube.com/watch?v=9tkPIGXJEGg

slice2 2.jpg

Open Epic Launcher (it's plish version here) and choose "Library" on the left. Choose "Add version" and install Unreal Engine 4.16 Preview 1 (on April, 28th there is no final release of UE4 with volumetric lights, but there is Preview 1 available. Preview version should not be used for your projects, it's mainly for test purposes. Create new project (desktop, high quality with starter content).

 

Click on image to enlarge

slice3 2.jpg

Create a new empty level in Unreal Engine 4. Add a shape plane from Starter Content shapes folder.

 

 

 

Click on image to enlarge

slice4 2.jpg

Add a spotlight to your scene.

 

 

Click on image to enlarge

slice5 2.jpg

Increase light intensity.

 

Click on image to enlarge

slice6 2.jpg

Choose "Exponential Height Fog" from Visual Effects Panel on the left, place it in the scene.

 

Click on image to enlarge

slice7 2.jpg

I want a dark background, so I change fog inscattering color to black.

 

Click on image to enlarge

slice8 2.jpg

Select "Volumetric Fog" checkbox on the right.

 

Click on image to enlarge

slice9 2.jpg

Choose your light and increase "Volumetric Scattering Intensity". The max value is 4.

 

Click on image to enlarge

slice10 2.jpg

Light with increased Volumetric Fog intensity.

 

 

Click on image to enlarge

slice11 2.jpg

You can change light color, duplicate and make some nice discotheque effect!

 

Click on image to enlarge

slice12 2.jpg

If you want a stronger effect, you can disable "Invert square fallof" and control light fallof manually.

 

Click on image to enlarge

slice13 2.jpg

Coloured lights

 

Click on image to enlarge

slice14 2.jpg

You can enable / disable fog on all lights by choosing Exponential Fog and disabling "Volumetric Fog" checkbox. You can also change intensity of all ights by playing with "scattering distribution" slider.

 

Click on image to enlarge

slice15 2.jpg

By playing with albedo you can change the intensity of the lights of given color.

 

Click on image to enlarge

slice16 2.jpg

Only green light fog is visible, because we changed albedo of the fog to green.

 

Click on image to enlarge

slice17 2.jpg

You can "crank up" the effect by increasing View distance and Extintion scale values.

 

Click on image to enlarge

slice18 2.jpg

Happy playing with the light! :)

 

Some more "artistic" uses of Volumetric Lights:

18121753 10155473278599050_7402176440729873314_o_1_.jpg

 

HighresScreenshot00010B evermotion_00752.jpg

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
所支持的Unity版本 5.2.0 及以上版本 WebGL Showcase | WebGL压力测试|文档|论坛 这个插件允许您通过生成真正容积的程序束来大大改善场景的照明。 这是模拟聚灯和手电筒的密度,深度和音量的完美,简单而便宜的方法。 简单高效的体积照明解决方案兼容各种平台(Windows PC,Mac OS X,Linux,WebGL,iOS,Android,VR)! 即使在移动设备上,也能为您的聚灯和手电筒模拟密度,深度和体积的完美,简单且便宜的方式! 它通过自动高效地生成真正的体积程序束来渲染高质量的线效果,从而极大地改善了场景的照明。 特征: - 真正的体积效果:即使你在束中也能工作。 - 非常容易使用和集成/需要零设置。 - 程序生成:一切都是在引擎盖下动态计算的。 - 在任何地方添加无限束:替代解决方案通常只需要实时灯:此插件不需要。您可以制作烘烤的量,甚至可以在没有任何线的情况下添加束。 - 动态3D噪声功能,用于模拟动画体积雾/雾/烟雾效果。 - 体积粉尘颗粒功能可模拟高度详细的防尘灯和微尘效果。 - 动态遮挡:可以通过移动几何体来阻挡束。 - 您可以实时移动和旋转束。 - 触发区域功能:您可以跟踪通过束的对象。 - 完全动态:在游戏时间内从脚本,动画师或时间轴更改或动画每个属性。 - Super FAST:不需要任何后处理,命令缓冲区和计算着色器:即使在移动设备和WebGL等低性能平台上也能很好地工作。 - VR Ready:支持Normal和VR Single pass立体声。 - 平滑交叉并与几何和相机混合。 - 自定义截头圆锥几何体。 - 支持许多图形变体:延迟和前向渲染路径,Gamma和线性颜色空间,HDR颜色,多种混合模式。 - 调整分层图层和图层顺序,以使用2D精灵调整束渲染。 - 开箱即用的透视和正交相机。 - 支持Unity内置雾。 - WYSIWYG:在场景视图中立即可以看到每个修改:无需在编辑器和播放模式之间切换以查看您的更改。 - 完整源代码可用/无DLL。束设置和处理通过功能强大的API完全暴露。 - 详细的文件。 - 支持从Unity 5.2到最新的2017.X和2018.X版本。 - 示例场景包括:展示演示。 请注意,此资产不是全屏后期处理/图像效果。这与Unity内置的Sun Shafts图像效果不相似。 相反,体积束将产生优化的几何形状和材料谱。这种技术有几个优点: - 更精细:独立精确定制每个束。 - 您可以在任何地方添加束,即使在没有线的地方也是如此。 - 当连接到聚灯时,它支持实时,烘焙和混合模式。 - 您可以渲染的束数量没有限制。 - 更容易与您自己的管道集成:无需与您自己的图像效果或后处理堆栈混合,没有命令缓冲区,不需要计算着色器功能。 - 运行得更快。没有后期处理添加到您的相机。 - 支持移动等低端平台。 如何使用它? 体积束设计非常易于使用。无需设置。您不必将多个对象链接在一起。您只需要使用一个简单的新组件。你可以通过2次点击添加一个新的束! 您可以通过调整一组用户友好的属性来精确定制每个束的渲染。为了获得更好看的效果,一些属性会自动绑定到附加的聚灯。 限制: 目前,此资产的当前版本有一些小的限制: - 此资产仅支持“聚灯”(形状像锥形的束)。不支持点源(线向各个方向平等)。 - “3D噪声”功能要求着色器功能等于或高于Shader Model 3.5 / OpenGL ES 3.0。 2012年之后发布的任何移动设备都应该支持它。 - 仅在Unity 5.5或更高版本上支持“体积粉尘颗粒”。 - “动态遮挡”功能计算遮挡的近似值,但尚不支持“部分遮挡”。
要在Unity中实现追,可以使用Unity的Shader Graph工具来创建自定义着色器,从而实现线跟踪效果。以下是一个简单的步骤指南: 1. 创建一个空的项目,并导入所需的资源。 2. 在Assets窗口中右键单击并选择Create->Shader->PBR Graph,创建一个新的PBR着色器图。 3. 在着色器图中添加一个Custom Function节点,并将其设置为Surface Output的输入。 4. 在Custom Function节点中,使用HLSL编写追代码。例如,您可以使用以下代码来跟踪从相机位置到像素位置的线: ``` float3 rayDirection = normalize(IN.worldPos - _WorldSpaceCameraPos); ``` 5. 将追代码输出到Surface节点的Albedo输入。 6. 调整追代码的参数以获得所需的效果。例如,您可以使用更高的最大反弹数来增加线跟踪质量,或者使用更低的最大反弹数来提高性能。 7. 将新着色器应用于场景中的物体。 对于实现体积,您可以使用Unity的Volumetric Lighting组件。该组件允许您将线跟踪效果与体积合并,从而创建具有更真实外观的场景。以下是一个简单的步骤指南: 1. 在Assets窗口中右键单击并选择Create->Light->Volumetric Light,创建一个新的体积对象。 2. 将体积对象放置在场景中,并调整其大小和位置以适应所需的效果。 3. 在体积对象的属性面板中,启用Volumetric Fog选项,并选择所需的材质。 4. 如果需要,您可以通过调整体积的密度和噪声来进一步自定义外观。 5. 将适当的灯添加到场景中,并将其设置为影响体积。 6. 在相机对象的属性面板中启用HDR选项,以确保体积效果正确呈现。 7. 调整场景中的灯和相机位置,以获得所需的效果。 注意:实现追和体积都需要高性能计算和显卡支持,因此在较低端的计算机上可能会出现性能问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值