unity2018设置雾在哪_《Babel》项目技术整理:雾
做为一个横版无缝加载的游戏, 线性关卡无疑会做得非常长.
像UE4的ExponentialHeightFog就是一个全局生效的Actor, 我们无法针对每个区域放置不同参数的ExponentialHeightFog, 这对于关卡美术来说是一个不可接受的事实. 所以我们参考PostProcessVolume, 实现了ExponentialHeightFogVolume和AtmosphericFogVolume, 可以在不同区域之间进行无缝插值过渡:
知乎视频www.zhihu.com
对于距离雾, 也同样实现了分段颜色的距离雾, 比较容易调节远景氛围:
知乎视频www.zhihu.com
PostProcessMaterial的Fog有个坑, 就是如果全局PPV没有这个Material的话, 插值时候的的默认值是材质的默认值, 当时美术一直奇怪为什么插值过程中会出现红色的雾...
当然中间也参考和评估过商城里的一个基于ColorCurve的后期距离雾实现
https://www.unrealengine.com/marketplace/en-US/slug/fog-gradientswww.unrealengine.com
知乎视频www.zhihu.com
虽然这个做法可以实现更加丰富的颜色过渡, 但是调节起来并不方便, 所以最终美术还是选了自己做的那个几个参数的简单实现.
除了全局雾效, 还有一些区域性的氛围雾, 典型的是这种一束光打下来的效果:
使用体积雾很容易实现, 但是yaoyao想要那中雾里看起来是动态的效果, 类似Fornite这种:
于是参考Ryan Brucks大神的文章
https://shaderbits.com/blog/ue4-volumetric-fog-techniquesshaderbits.com
实现出来了类似的体积雾材质:
知乎视频www.zhihu.com
体积雾配合光照能够大大提升场景氛围的品质, 我觉得是场景间接光之外最重要的一个特性了, 我们甚至可以拿它来做云:
知乎视频www.zhihu.com
后来在做优化时发现特效美术为了模拟烟雾缭绕的效果, 在场景中平铺了大片的粒子:
然后Overdraw就变成了这样:
于是想到了使用体积雾材质来进行优化:
反正体积雾是一直开着的, 不用白不用, 使用一些VolumeMaterial进行局部的点缀性价比很高, 还没有OverDraw的困扰:
知乎视频www.zhihu.com
另外还尝试过一些流体雾的模拟, 只是性能和效果没有调出令人满意的结果, 所以很遗憾没有用进游戏里. 不过这里也发两个心目中做得比较好的效果来做结尾吧, 后面有机会还会继续尝试的.
一个是Fortnite中用于Trailer的流体雾模拟:
知乎视频www.zhihu.com
尝试过RayMarching的实现, 对于游戏来说还是开销太高.
另一个觉得不错的是NvFlex在UE4中的应用, 可交互雾具备足够的视觉冲击力, 最近在《黑神话:悟空》中看到的云的模拟应该是类似的做法:
https://www.youtube.com/watch?v=0ZkcZjyXq0wwww.youtube.com
最后来个题外话: 为什么游戏的雾那么浓? 还是不是因为穷, 美术资源细节有限, 需要靠雾来遮遮丑...
unity2018设置雾在哪_《Babel》项目技术整理:雾相关推荐
- ng2-admin项目技术整理
一.项目中使用的技术和第三方库 lodash github地址: https://github.com/lodash/lodash ngx-translate github地址: https://gi ...
- unity2018设置雾在哪_unity如何创建雾的效果
[www.520z-2.com - 观后感作文] 篇一:<[深圳龙图教育]如何在unity 3d中做出水效.雾效.音效> [深圳龙图教育]如何在unity 3d中做出水效.雾效.音效 开启 ...
- 旅行者 问题_门槛项目:没有旅行者回到他的原籍城市。
旅行者 问题 Sohini Mukherjee| MFA| Spring 2020 Sohini Mukherjee | 外交部| 2020年Spring Artivive app to see th ...
- 基于Kaldi下babel项目的语音关键词检索(KWS)
前言 一般来说,一个kws系统包括两个部分:lvcsr 模块解码检索集合并且产生相应的网格,一个kws模块生成网格索引并从索引中查找关键词. 在Kaldi中,关键词识别(KWS)和大词汇量连续识别(L ...
- 现代软件工程_团队项目_阿尔法阶段_前端知识共享_2017.11.21
现代软件工程_团队项目_阿尔法阶段_前端知识分享 更加舒适浏览格式 http://blog.csdn.net/bowean HTML基础(一) 本文参考了[http://www.w3school.co ...
- frame中src怎么设置成一个变量_自动格式化打印变量HMLog介绍
作者 | mao2020 来源 | 掘金,点击阅读原文查看作者更多文章 前言 在我初学iOS的时候,经常需要NSLog打印用于调试,有时候还需要打印多个变量: NSLog(@"xxxx fr ...
- jsp项目放入宝塔windows环境_商业裂变,之项目技术实战(第八节:宝塔面板介绍)...
一.宝塔简介: 宝塔面板是一款服务器管理软件,支持windows和linux系统,可以通过Web端轻松管理服务器,提升运维效率.例如:创建管理网站.FTP.数据库,拥有可视化文件管理器,可视化软件管理 ...
- python基础-PyCharm设置作者信息模板_修改解释器_设置软件UTF-8编码
python基础-PyCharm设置作者信息模板_修改解释器_设置软件UTF-8编码 一.PyCharm 设置作者信息模板 1.File---Settings---在搜索框中搜索:File and C ...
- 软件项目技术路线图_创建基本的项目路线图
软件项目技术路线图 Continuing from my previous article, at this checkpoint, I have two things with me: 上一篇文章的 ...
最新文章
- 利用Event和MapFile进程共享信息
- easyUi创建临时Dialog
- 工信部副部长刘利华:推动5G全球统一标准 加强国际合作
- 2013年最值得我们学习的网页作品示例【系列六】
- ABP入门系列(4)——创建应用服务
- html图片分四面切割播,CSS3切割轮播图
- 【Python】表白程序
- 机器学习- 吴恩达Andrew Ng Week11 知识总结 Photo OCR
- php laravel 中文手册,Laravel 5.6 中文离线手册文档(兼容5.5)(PDF版)
- 列联表相关测量--c相关系数
- SEM竞价推广如何提升流量精准度,增加展现、排名、线索量?
- 计算机七进制乘法,编程达人
- c++/c/java数据结构--队列
- 电商数据监测全过程——采集、清洗、分析
- Ubuntu16.04笔记本 安装R RStudio
- spring实战学习(四)AOP及其实现方式
- 【51单片机】计时器/计数器中断
- vue2使用wangEditor
- iphone4s 降级6.1.3
- java计算机毕业设计基于Ssm学生信息管理系统源码+数据库+系统+lw文档+mybatis+运行部署
热门文章
- 高等数学二python实现导数与微分
- 只用一行代码,就导入Python所有库
- Windows Azure VM Role (2) 创建VHDVHD
- 学习日记2、easyui treeGrid属性及时间
- 使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
- DisJSet:Wireless Network(POJ 2236)
- 1.4信息系统基础-软件构件技术知识
- [NDK 佳佳的魔法药水]
- Err:ClassNotFoundException: org.apache.tomcat.util.log.SystemLogHandler
- 《 Linux的安装和入门 》