UE4提取场景模型边缘
在Unreal引擎的CG工作流程流程中,与灯光、合成艺术家的配合是工作流程中非常重要的一环,通常我们会将制作好的画面输出分层序列提供给合成艺术家进行视效的调整,而Unreal本身存在一个非常不友好的BUG,在缓冲层输出的结果会与主层图像在物体的边缘有1-2个像素的位置偏差,导致后期制作人员提取ID之后会造成最终产品的边缘闪烁,这次是尝试通过把主层边缘单独提取来解决TAA算法的边缘抗锯齿与Tonemap冲突造成的闪烁BUG。
这个是测试的镜头
思路来源于B站Up主@Opsader大致是利用场景深度中被边缘遮挡的后方物体数值偏差更大,从而进行上下左右四个方向上四次像素偏移相减后得到的数据相加,得到边缘部分差值与其他地方相差较大的mask
这里用到相加而不是相乘的原因在于,我们视觉上所看到的黑并不是绝对0值,详见之后得到的负值也会在图像上显示黑色
(图片转载自BiliBili up主:@Opsader)
材质类型:选择后处理材质,并勾选Before Tonemapping ,这里涉及到TAA算法和Tonemap的Bug问题,而且对图像质量上也会有所提升
核心节点:
输入SceneTexture,再改左侧ID为SceneDepth
算法:
这里就要用到InvSize(InvertSize=1/Size)的输出值获取相邻像素做偏移
(下图为官方文档说明,这里的InvSize更加接近于屏幕空间上的1像素,如果直接加数值的话,会得到(1,1)变为(2,2),即可理解为屏幕空间内平铺两次)
这边通过R&G取到横向和纵向的单位像素偏移,二维变量的值分别为
(1,0)、(-1,0)横向左右
(0,1)、(0,-1)纵向上下 做四组
//这里的颜色信息都是黑白的,所以我们随便取一个通道就可以
BasicCode:
效果看起来不是很理想,做在大场景里,场景深度的区分度可能达不到
SceneDepth层信息这里我们看到,对于大场景和天空球来说,这里的引擎自带景深无法达到我们的需求,而且天空球上会有BUG
那我们改用CustomDepth试试得到结果看起来就还不错
我修改了这两个部分的代码
- 把SceneDepth换成了CustomDepth,这样我们可以用引擎内容里的CustomDepth材质手动调节深度信息
2、我把输出的差值去和一个合适的值比较,因为只知道边缘的差值是最大,具体是多少需要手动去测试,然后超出部分输出1,其他统一输出0,然后四个方向的都取最大值,这样输出的值就是边缘为1,其他部分为0的Mask了
UE4提取场景模型边缘相关推荐
- 20 虚幻4【UE4】场景中模型高亮轮廓
20.UE中如何使得模型再场景中高亮 1.场景的世界大纲搜索Post Process Volume(后期处理体积) 如果没有则需要在[放置Actor]中搜索,然后放到场景中 2.选中[Post Pro ...
- OpenYurt 联手 eKuiper,解决 IoT 场景下边缘流数据处理难题
简介:云计算的出现促使物联网实现爆炸式增长.在设备规模和业务复杂度不断攀升的趋势之下,边缘计算因其能够将计算能力更靠近网络边缘和设备,从而带来云性能成本的降低,也在这波浪潮之下得到快速发展. 作者 | ...
- 草地与石头模型边缘混合
草地与石头模型边缘混合 文章目录 草地与石头模型边缘混合 前言 一.顶点颜色 二.导入Unity并用Shader graph制作Shader 1.创建shader graph并链接贴图 总结 前言 先 ...
- UE4中修改模型mesh资源的枢轴坐标原点位置
UE4中修改模型mesh资源的枢轴坐标原点位置 问题阐述: 对于在UE4中自定义的mesh资源导出保存后以备未来使用,但在未来使用的时候却发现模型的坐标原点不满足需求而无法使用的想法,本篇博客将用两种 ...
- UE4中修改模型的中心点
UE4系列文章目录 文章目录 UE4系列文章目录 前言 一.增加scenen空组件 前言 在UE4中的模型中心点一般都在模型的中点,如果是门这样的模型,我们就不能绕中心点旋转了,不然会觉得很奇怪.但是 ...
- 提取LOL模型并在3DMax中贴好图导入到U3D中使用
工具准备 提取工具打包在百度网盘里 链接: https://pan.百度.com/s/1xlqg80XJLkl3ri8qriix1g 密码: iqu7 模型提取 用"LOLWADTool.e ...
- kitbash贫民区三维场景模型 Kitbash3d – Favelas
参观临时城市中心 想象一下新兴的后世界末日城市中心,这里有大量的临时住所.建筑群.小屋.道具和固定装置.用一系列非常详细的废弃街区快速构建您的场景,并用波纹铁.水箱.折叠椅和劣质电线进一步修饰它们.从 ...
- UE4风格化场景设计入门指南 Stylized Station – The Environment Artist’s Survival Kit
持续时间13h 1920X1080 .ts 包含项目文件 大小解压后:4.9G 语言:英语+中文字幕(人工校对) 标题:风格化的车站--环境艺术家的生存工具包 信息: 环境艺术很难. 尤其是作为初学者 ...
- 基于openstack的私有云构建_阿里云杨敬宇:四层技术构建基于城市场景的边缘计算...
12月11日,阿里云边缘计算技术负责人杨敬宇在2019亚太内容分发大会上表示:在未来,边缘计算主要是以地市.区县为单位开展,面向城市服务的交通.医疗.健康.教育.新零售等场景提供算力基础.阿里云认为边 ...
最新文章
- hadoop商业版本选择对比
- Google Cloud API 验证
- Install oracle10g using responseFile in silent mode
- 17,18_常见函数梯度,激活函数梯度(Sigmoid、Tanh、ReLu)
- php截取字符串后编码不对,php截取字符串出现中文乱码问题的解决
- jQuery 图表插件 jqChart 使用
- 数据库~Mysql里的Explain说明
- 《离散数学及其应用》阅读感想(转载)
- python读取excel画散点图对应多个y_Python数据分析:折线图和散点图的绘制
- 产品经理:个人能力提升方法
- TYUT太原理工大学2022数据库考试题型大纲
- 【论文阅读】3D-CVF: Generating Joint Camera and LiDAR Features Using Cross-View Spatial Feature Fusion for
- Fleck WebSocket使用
- 【舆情监测平台】舆情危机处置的四大原则。
- 机床数控改造控制系统设计(微型计算机),大学生毕业论文:普通车床数控研究及改造设计...
- python电子病历交接班系统_亚马逊电子病历上的Pydoop
- 一个5年收益斩获了131倍的策略
- 【DB笔试面试749】在Oracle中,什么是DG?DG有哪些优缺点?
- Android仿小米时钟嵌套滑动(NestedScroll, 自定义behavior)
- windows 7 远程桌面连接centos报错,包括但不限于连接断开解决办法
热门文章
- 孟岩:什么是通证(token),通证可以干什么?
- 股票期货数据接口常见的代码介绍
- 用西班牙语写一篇文章,讨论如何科学地在线教中国的小朋友学习西班牙语
- FS、DFS、FT、DTFT、DFT、FFT、DCT变换的联系与区别
- 2019.8.1考试反思
- 使用scrapy框架爬取汽车之家的图片(高清)
- 2022熔化焊接与热切割操作证考试题库及模拟考试
- 报错SqlSession was not registered for synchronization because synchronization is not active
- Win10任务栏个性化-注册表
- IM 即时通讯实战:环信Web IM极速集成