网易首页 > 网易号 > 正文 申请入驻

如何制作逼真的烟雾光照?VFX Graph中的六面光照帮你解决!

0
分享至

点击上方蓝字CG世界关注我们

“ 感知技术 · 感触CG · 感受艺术 · 感悟心灵 ”

中国很有影响力影视特效CG动画领域自媒体

本文转自公号:Unity

由于光线的相互作用和变化十分复杂,实时模拟和渲染烟雾与爆炸一直都是行业的难题。

尽管有越来越多的技术支持体积流体模拟和渲染,但大部分的性能开销过大,很难广泛应用到游戏中。所以,和其他渲染问题一样,问题的关键就是用最少的成本做出最为写实的效果。

2022.2 Tech Stream 推出了一个完整的端到端工作流(从 DCC 数字内容创作工具到 Unity),让用户能用预计算的模拟逼真地渲染出烟雾。这个工作流可扩展至任意平台,适应任何光照条件。此外,这个解决方案还包括一个随取随用、预先烘焙好的贴图库,让任何人都能实现更为清晰的烟雾效果。

六面光照

不同光照条件下使用六面光照贴图

游戏里渲染的烟雾经常使用带纹理的精灵(sprite)完成,因为运算完全体积化的光照对实时项目来说太过昂贵。然而使用精灵经常伴随着一个问题:怎样才能在扁平的 2D 形状上为烟雾打光?

实际上方法还不少,比如贴上法线或在贴图上烘焙好颜色。但这些方法要么缺乏逼真度,要么缺乏可扩展性,或者两方面都不行。

六面光照就是解决该问题的另一种方法。它所采用的一套光照贴图储存了烟雾对六个方向射来的光照所做出的反应。这些贴图会被预先合并成两张纹理,并带有一个阿尔法(alpha)通道和一张可选的发光遮罩。

六面光照贴图图示

有了这些纹理,烟雾效果便能根据不同的光照条件动态上色。烟雾同时还能展现出体积光的特性,如光线从后方投射时产生的自投影或轮廓光,此类效果用其他技术是无法达到的。

不同太阳光方向下的六面光照贴图

用户还可以控制颜色、吸收率、渐变发光,或重贴光照贴图,用相同一套纹理制作多种效果。这样一来,同样的资产就可以被应用到更多的场景中。

这项技术有许多名称,如六面光照(6-way lighting)、六点光照(6-point lighting)、6D光照贴图(6D lightmaps)、六点光照贴图(6-point lightmaps)、烟雾光照(smoke lighting)等等。而且它已在多款 3A 大作中亮过相过,《骷髅与骸骨》(Skull & Bones)的前 VFX 技术总监就专门介绍过这项技术。

这项技术的主要优点包括:

1、 实时渲染复杂的光线相互作用效果 ,比如多次弹射的光散射,效果可直接从模拟烤到光照贴图上。

2、 提高图像质量 ,更好的光照意味着烟雾能更好地融入世界,比如,烟雾在加入场景之后可以适应任意数量和种类的动态光(即方向光、点光、区域光),以及间接(即光照探针)和氛围光。因此,同样的资产可以更好地融入不同的周遭环境。

3、 低成本 ,高质量。相比于传统的受光精灵,烟雾效果渲染起来要更具性价比。

4、 节省磁盘和纹理内存 。翻页书动画纹理会占用大量内存,但六面光照支持重复使用同一批纹理。 根据应用的变量(颜色、吸收率等等)和周围的光照条件不同,最终的烟雾效果可产生极大变化。 为了节省内存,用户可以利用 Motion Vector(运动向量)来降低帧数(Tuatara的 TFlow 就是一款非常实用的工具)。

所有烟雾和近处的云朵都采用了六面光照,但它们其实只是四个VFX Graph资产的实例

该技术的一个缺点在于扁平感。尽管高度清晰的光照可以营造出一种体积感,但该效果仍只是一套纹理,而非 3D 的体积效果。因此,它最 适用于背景或装饰性效果 ,比如蒸汽或爆炸。要想加入更多深度,用户就需要把这个效果 应用到更多的粒子上 ,或 结合体积效果使用 (比如高清渲染管线的局部体积雾或体积材质)。

这里有几种常见用法:

1、白天:模拟太阳和天空的光线穿过烟雾

2、夜晚:用静态或运动的点光照或聚光来点亮烟雾

3、高清烟雾

4、尘埃

5、蒸汽

6、体积云:在主云朵上应用六面光照

7、传送门、沙尘暴或龙卷风等高级效果

用多张六面光照贴图制作的高级传送门效果

创建和处理六面光照贴图

导出程序

Unity有不少工具来辅助光照贴图的生成。用户可以在 VFXToolbox 里找到对应的 Houdini 和 Blender 导出程序,其他工具还有 Image Sequencer(图片序列创建程序),可用于重新打包六面光照贴图的翻页动画,或调整效果的色彩强度。

Unity VFX Graph到Houdini的六面光照贴图导出器

关于工具安装等说明可在 Readme.txt 文件中找到。注意,该工具分为两种。一种位于 对象环境 (Object Context),基于 OpenGL 渲染节点制作,运行非常快。

第二种位于 舞台环境 (Stage context),是围绕 Karma 渲染器制作的。两者都能渲染光照贴图、发光效果和翻页动画的导出文件。

Blender插件

折叠起来的Blender导出器菜单

用户可以按照标准流程为 Blender 安装本插件。 在偏好(Preferences)菜单安装 unity_6way.py 文件 ,再启用插件。之后,用户就能在 3D 视图的 Unity 类别下找到面板了。

插件支持渲染光照贴图、发光通道,完成基本的构图,或用一段光照贴图序列创建翻页动画。所有任务都可以同时或分开进行,每一阶段都有单独的设定来控制最终成果。

Blender导出器的各个阶段设置

其他工具

EmberGen图表设置示例

部分 DCC 工具可能已经有官方或社区自创的六面光照贴图导出工具和插件。

比如,用户可以 在 EmberGen 的渲染节点上使用“ Six point ”选项 。请注意,该工作流并未受 Unity 官方支持,并不能控制贴图上的光照强度。不过,用户依旧可以手动调整参数。

当然,用户也能用自己的工具来创建六面光照贴图。请按照以下步骤和格式打包纹理。

烘焙光照贴图

在烘焙时,同一个物体需要在不同的光线下 渲染六次

系统在每次渲染时都会改变白色方向光的方向:相对于摄像机分别为上、下、左、右、前、后。

发光信息,比如火焰,不属于光照贴图,但可以在随后渲染到另一张纹理上,或打包到贴图的另一条通道里。

光照贴图纹理的格式

六面光照贴图的数据被打包在了 两张 RGBA 纹理中,每张贴图的方向则被储存在 纹理的颜色通道里(red、green 和 blue)。

另外,第一张纹理的阿尔法通道包含了透明度,而第二张纹理的阿尔法通道就空了出来。目前,用户可以选择将发光性质储存到这条通道内。

光照贴图A:右侧、顶部和背后的光照贴图+透明度

光照贴图B:左侧、底部和前方的光照贴图+一条额外通道

用户可以在 Unity 编辑器选择纹理 ,到 预览窗口检查每条通道

其他工具在生成光照贴图时可能会以不同的顺序打包通道信息。Unity 检视器具备通道重新排序的基本功能,但要将一张纹理的通道转移到另一张,图片编辑软件是不可少的。

烟雾光照渲染

夜晚爆炸的定格画面

烟雾的打光是直接整合进HDRP光照循环的,意味着 烟雾可以受任何数量的光照影响 。而且,光照越多,运算就越繁重(可利用光照图层缓解)。

所有的方向光(Directional)、点光(Point)、聚光(Spot)、长方形光(Rectangular)和线性光(Linear Lights)都会被渲染。管线还能在烟雾内生成高质量的光照效果,产生闪电、电火花、耀斑、萤火虫等等光效。

六面烟雾内的动态光照

对于单条光线,我们必须 确定光线相对于烟雾粒子的方向 ,使用这个方向来混合两张光照贴图。对区域光,Unity 使用了最近似点(Most Representative Point)方法,找出距离最近的光照点来计算出方向。

同样的烟雾效果出现在不同的光照条件下——左上:方向光与环境光;右上:环境光、探针体积和方向光;左下:环境光与探针;右下:点光源和探针

烟雾粒子还会 受间接光照影响 ,特指光照探针(Light Probes)、自适应探针体积(Adaptive Probe Volumes,APV)、环境光探针(Ambient Probes)和光照探针代理体(Light Probe Proxy Volumes,LPPV)。要实现最高的性能,用户可以启用 仅环境光模式 (ambient only mode)来跳过光照循环,执行成本极低的光照运算。

自适应探针体积与六面烟雾光照

出于性能的考虑, 探针的影响经过顶点着色器估算后才会被插入像素着色器内 。如果输出的是四边面,只有四个角会估算探针的作用。对于在空间中不规则的探针,比如 APV,部分顶点可能会出现在墙的一边,而其余的在另一边。此时,探针对光线的作用可能出错,并产生图像瑕疵。这里的一个解决方案是使用划分更细的网格,增加顶点数量。此类问题一般不会在户外场景出现。

在 Unity 的模型里,烟雾可以完全散射光线,因此其镜面间接光会被忽视。所以, 反射探针并不会影响使用六面烟雾照亮的粒子

Unity 还提供了两种烟雾上色方式:一种是 在光照贴图修改每条颜色通道的光线吸收率 (用来形成更为逼真的烟雾),另一种是 简单的相乘 (成本最低)。

对比烟雾上色的相乘和吸收率方式

六面光散射的估算即双向散射分布函数(BSDF)

VFX Graph 渲染出的六面光照可借助控制选项来定制效果外观,用同样的贴图制作出不同的效果。

颜色与吸收率属性

重贴光照贴图

控制效果的密度与风格,重贴光照贴图

发光性

用两种发光渐变色把烟雾转变为爆炸

如何上手

用户只要花几分钟即可为项目添加这些美观的六面烟雾。请安装 Unity 2022.2 及以上版本引擎,并下载 VFX Graph 和 HDRP

Unity 已经创建了一个随取随用的 贴图库 来帮用户上手。库中既有可用 VFX Toolbox 处理和打包的高清资产,也有用于游戏的压缩轻量版。

免费六面烟雾贴图示例

请按照以下步骤来用贴图和六面光照创建效果:

1、将贴图拖放至 Unity 的 Asset 文件夹。

2、新建并打开一份 VFX Graph 资产。

3、新建并选中 Particle Lit Output (受光粒子输出)节点。

4、在检视器的 Material Type(材质类型)下拉菜单中选取 Six Way Smoke Lit

选中6 Way Smoke Lit后的检视器

5、将 Output 位置的 Positive 和 Negative Axes Lightmap 设为刚刚导入的贴图。

6、用不同的光照条件进行测试。

要想进一步了解 VFX Graph,请 访问 Unity 的网站 ,并参阅电子书 “ The definitive guide to creating advanced visual effects in Unity ”

网站链接:

https://unity.com/visual-effect-graph

未来计划

未来几代的六面光照将围绕着 Shader Graph 整合与通用渲染管线(URP)支持开发。Unity 还打算解决技术本身固有的局限(接收阴影时效果会变得扁平,粒子的局部光照贴图不会受到附近物体的遮挡等等)。

Unity也正在 为 VFX Graph 添加 Volumetric Fog输出 ,让视觉效果也能生成体积雾。该功能可与六面光照组合生成更优秀的烟雾效果。该功能目前 已登陆2023.1.a25 版本

当然,Unity 仍期待着真正的体积流体模拟、播放和渲染。只要有了这一整套技术,用户就能根据自己的目标平台和预算渲染出美观且逼真的烟雾效果。

欢迎访问 Unity的论坛 帖留下你的反馈与疑问。如果你想请求新功能,或为待定功能投票,请查看 Unity 公开的渲染路线图

论坛链接:

https://developer.unity.cn/ask

全文完

点击图片进入详情页▲

在UE5中如何做出原神角色三渲二效果?

又更新了!Vray 6.01Max版发布,有不小的改动

不会雕人体结构?大神给出总结性示意图~

又萌又猛,做的也太好了!Blender+SP创建武士棋角色流程

最新解禁! 动画电影《深海》更多概念设计图公开!

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
以色列!开始崩了!

以色列!开始崩了!

大嘴说天下
2024-06-12 22:26:37
4万一条的“廉价四叶草”被疯抢,中产的玄学,带火梵克雅宝

4万一条的“廉价四叶草”被疯抢,中产的玄学,带火梵克雅宝

每日人物
2024-06-13 10:56:55
当年说出“不是你撞的,干嘛去扶”的法官,18年后,他过得怎样?

当年说出“不是你撞的,干嘛去扶”的法官,18年后,他过得怎样?

高山非凡创作
2024-05-17 09:32:19
林更新又爆重大喜讯:考上博士,娶仙女刘亦菲,戏里戏外都是赢家

林更新又爆重大喜讯:考上博士,娶仙女刘亦菲,戏里戏外都是赢家

柴叔带你看电影
2024-06-12 17:25:28
新型卖淫方式,让人预想不到,但却真实存在!

新型卖淫方式,让人预想不到,但却真实存在!

雪影的情感
2023-11-18 11:51:16
媒体人谈归化:奥斯卡的问题是谁解决成本,德尔加多令人无法理解

媒体人谈归化:奥斯卡的问题是谁解决成本,德尔加多令人无法理解

直播吧
2024-06-13 10:42:05
我去美国试了特斯拉的FSD,好像真有点遥遥领先

我去美国试了特斯拉的FSD,好像真有点遥遥领先

差评
2024-06-13 11:07:19
马斯克高调宣布:560亿美元薪酬方案已获通过!

马斯克高调宣布:560亿美元薪酬方案已获通过!

华尔街见闻官方
2024-06-13 14:27:44
菲律宾撤离部分搁浅登陆舰人员,只能出不能进,局势出现新转折点

菲律宾撤离部分搁浅登陆舰人员,只能出不能进,局势出现新转折点

影剧真知岛
2024-06-12 09:22:10
王健林欲接回孙女?黄一鸣再发声:孩子是王思聪的!孙一宁被牵连

王健林欲接回孙女?黄一鸣再发声:孩子是王思聪的!孙一宁被牵连

花花lo先森
2024-06-12 16:56:11
太离谱!韩国网红酒驾撞死人,竟称自己宣扬了国威要求减刑!

太离谱!韩国网红酒驾撞死人,竟称自己宣扬了国威要求减刑!

奋斗在韩国
2024-06-12 17:25:12
“打败皮鞋的,并不是另一双皮鞋”,皮鞋,被时代抛弃

“打败皮鞋的,并不是另一双皮鞋”,皮鞋,被时代抛弃

毒sir财经
2024-06-11 17:10:25
中央5台直播日本女排vs加拿大女排:中国女排奥运资格今晚确定!

中央5台直播日本女排vs加拿大女排:中国女排奥运资格今晚确定!

阳阳聊情感
2024-06-13 13:23:52
泰国足协主席伍伦盼:中韩在踢默契球,这对泰国不公平,球迷炸锅

泰国足协主席伍伦盼:中韩在踢默契球,这对泰国不公平,球迷炸锅

邮轮摄影师阿嗵
2024-06-13 14:03:42
晋级18强赛后伊万做出意外决定,获宋凯批准,中方教练组看懂了

晋级18强赛后伊万做出意外决定,获宋凯批准,中方教练组看懂了

徽派体育
2024-06-13 10:35:42
欧盟宣布对华电动车加征关税,挪威表态:不跟随,此举不可取

欧盟宣布对华电动车加征关税,挪威表态:不跟随,此举不可取

澎湃新闻
2024-06-13 13:26:27
蔡磊夫妻新消息:蔡磊病情好转,拿出新证据,多少人被打脸?

蔡磊夫妻新消息:蔡磊病情好转,拿出新证据,多少人被打脸?

石辰搞笑日常
2024-06-13 09:49:13
“一丝不挂”新舞蹈?惹争议,被摸下体更不害臊,金星质疑是对的

“一丝不挂”新舞蹈?惹争议,被摸下体更不害臊,金星质疑是对的

吃鱼思故渊
2024-05-16 21:48:21
股价低至3元,业绩超过300亿,市盈率3.6倍,估值超低的央企国企

股价低至3元,业绩超过300亿,市盈率3.6倍,估值超低的央企国企

股海风云大作手
2024-06-13 07:23:39
不明型号战机突袭,俄军第6集团军大楼被炸:大批人员被压废墟下

不明型号战机突袭,俄军第6集团军大楼被炸:大批人员被压废墟下

影孖看世界
2024-06-11 20:21:38
2024-06-13 18:14:44
CG世界
CG世界
分享国内外优秀CG作品,教程
4842文章数 8471关注度
往期回顾 全部

科技要闻

小红书员工仅1/5工龄满2年 32岁就不让进了

头条要闻

媒体:中国日报记者TikTok账号被封 美菲勾结藏不住了

头条要闻

媒体:中国日报记者TikTok账号被封 美菲勾结藏不住了

体育要闻

杰里·韦斯特:为什么他是LOGO?

娱乐要闻

森林北报案,称和汪峰的感情遭受压力

财经要闻

私募大佬孙强:中国为什么缺少耐心资本

汽车要闻

升级8155芯片 新款卡罗拉锐放将于今日上市

态度原创

艺术
游戏
教育
家居
时尚

艺术要闻

穿越时空的艺术:《马可·波罗》AI沉浸影片探索人类文明

《战争机器:事变日》剧情将涵盖兽族入侵的前后数天

教育要闻

世界青年说:中日韩青年畅聊未来发展

家居要闻

大城小室 质朴自然的心灵居所

中年男人放任老态的体现:POLO衫配西装裤、系皮带塞裤腰,太油腻

无障碍浏览 进入关怀版