Hello . 大家好
今天给大家带来虚拟纹理地形材质混合案例
我是很久不见
前言
话说上一次介绍材质混合案例还是很久之前的事情,UE4丨材质融合过渡的应用案例,其实当时写这篇文章的时候,UE已经更新了虚拟纹理功能,一直也是没有时间把这块总结成文章,为了更便捷的使用地形材质混合,虚拟纹理材质才是更好的解决方案。
先来看一下最后的完成效果。
这里和之前文章的区别就在于,虚拟纹理材质混合不是贴图之间的混合,而是将运行时的虚拟纹理数据进行的转换,是真正意义上的材质融合。
前期准备
首先UE的项目设置中需要开启虚拟纹理支持。
如果不想在导入默认4096分辨率贴图时,贴图自动被转换成虚拟纹理,这里可以将自动虚拟纹理大小设置的大一些。
之后按照提示重启UE。
在UE中创建地形,并给地形设置好材质。
从Bridge上下载一些模型到UE工程中。
这里模型质量不一定是Nanite,其他质量的也可以,因为这里主要和虚拟纹理贴图有关,最后将贴图转换成虚拟纹理就可以。
材质环节
为了给更多材质使用虚拟纹理混合,可以制作一个通用的材质函数。
这里我放出我的blueprintue节点,可以直接在UE中创建材质函数,然后粘贴这些节点到自己的材质函数中。
https://blueprintue.com/blueprint/3e1rh-2z/
将下载的两个模型放入场景中,此时还没有融合效果。
找到这两个模型的母材质球,复制一份后,将刚才制作的材质函数加入其中。
然后取代之前的母材质球。
现在还看不到效果,需要进一步设置。
右键纹理这里,创建两个“运行时虚拟纹理”,然后分别命名,一个用来控制虚拟纹理材质,一个用来控制虚拟纹理高度。
在刚才的材质函数中,加入对应的运行时虚拟纹理,需要注意对应虚拟纹理内容的设置,然后点击保存。
选中地形,在虚拟纹理中加入运行时虚拟纹理,然后点击“创建体积”。
对应的地形材质这里也要做一些修改。母材质这里需要连接一个“MakeMateriAlattributes”和“BreakMateriAlattributes”,得到最终的底色、法线、粗糙度和高度图,这里的高度是从世界位置中分离的Z轴向得到的。
调整一下两个石头的材质,虚拟混合这一部分。
场景中就可以看到最终的混合材质效果了。
最后注意说明一点,因为在混合时使用的是“运行时虚拟纹理”,所以可能在操作的过程中会有看不到混合效果的情况,这时候可以运行一下关卡或者把关卡可视性关闭再显示后,混合效果就又可以看到了。
以上就是本次案例的内容了,如有不足之处,希望大家可以一起交流学习,一起变得更强!
-end-
文章来源:公众号 Thepoly
下一篇 虚幻引擎如何用于跨平台游戏开发?
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答《黑神话:悟空》作为一款现象级中国游戏,其成功离不开多种先进计算机技术的支持。本文将深入解析该游戏背后的关键技术,包括虚幻引擎......
在游戏开发领域,Unity和Unreal Engine(虚幻引擎)都是备受推崇的游戏引擎,但它们各自拥有不同的特点和优势。
春节之后大量抢人!这6个行业是转行首选,进去1年顶3年!火星毕业就能进
春节后求职,哪些行业进去能立马涨薪?打破信息差很关键!
还没毕业,就去帮电视台拍活动,作品被主任说“非常好”!猜猜是哪个专业呀?
回想过去,电子游戏里的草其实并不是真正的草。开发者们只是简单地把草的纹理直接贴在游戏关卡的地板上
在火星的就业指导老师那里,经常收到同学们这样、那样的提问。其中有一些共性问题,就业老师会根据自己丰富的经验,为同学们给出合适的回答。