您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 Thepoly 于 2022-3-25 12:18 编辑
今天给大家分享虚幻地编教程
大家好,我是怎么写看官们都不会打赏小的的王掌柜。本来想拖更好好加班之后加满回来睡个好觉的,奈何最近经济不景气只能再写写小文章以糊口。今天呢就是虚幻4引擎教程的第二部分
上一篇教程中已经对游戏地形编辑、场景设计的基本理念以及虚幻引擎的地形编辑器的功能进行分析(我知道写多少你们都不会看的~)。这里建议哈,在阅读接下来的教程之前,看官们最好把笔者之前的“若人生亦如虚幻之旅”以及材质入门等基础教程看一下,因为在接下来的教程,内容比较多:地编教程中不仅涉及到虚幻引擎的操作,还会和Maya、Zb以及其他贴图软件联动,实现一个pipline;材质进阶的时候呢,会将一些深入的知识比如球化法线、雨水法线等等。所以诸如怎么调用节点、实例化的概念等等便不会再进行赘述。
今天的教程首先讲一下地形材质的制作。 第一步,建立逻辑清晰的树形文件夹。一个地形单元往往包括很多美术资产或是节点,建立逻辑清晰的树形文件夹是管理美术资产的有效方式。这里,在Content文件夹下,建立两个子文件夹Textures和Materials。根据虚幻材质制作习惯,再在Materials文件夹下,新建两个子文件夹Masters(Or Main,主要材质)以及Instances(材质实例)。这里注意,不要乱新建文件夹,虚幻低版本中,如果你建了一个不用的空文件夹,保存项目的时候会把空文件夹自动删除。Textures文件夹一般根据贴图所处环境单元种类进行分类,这里新建了Grounds(地表)以及Rocks(岩石)文件夹。之后导入贴图
第二步,导入贴图后的命名规范。这里需要注意,虚幻引擎里命名要规范,尤其是后缀。比如_AO环境遮挡;_BC固有色贴图;_H高度图;_N法线图;_R粗糙度贴图。这样虚幻就会根据命名的后缀自动识别你导入的贴图是何种贴图并给予对应的压塑模式。比如,我将光标移动到一张粗糙度(_R)图上,观察到该图的压塑模式(Compression Settings)为灰度(Grayscale)模式,这样就不会存为RGB或是其他模式(以节省内存空间)。
第三步,创建landscape Shader。一般来说,材质文件下的Masters里设置的都是环境内的通用材质,以便实例化。当我们要修改一些参数的时候不会改该文件夹下的通用材质而是修改实例材质。这样的好处是你修改实例材质的时候不会再重新编译材质节点,节省运行时间。这里在Masters中新建一个材质M_Landscape,回车进入shader主节点,把用的资源贴图拉进来,进行材质节点链接。 金属度直接为0(这里就不要再纠结0到1之间的金属值能不能取的问题了,引擎若无特殊需求,金属物体就是1非金属就是0,取间值会增加运算负载,这是常识;地表一般直接给0).高光Specular一般要在实例里进行调节的,这里不能写死,所以创建常数节点转换为参数节点再命个名,给个默认值0.005。这个数值不是固定的,只是给小一些,根据物质属性,地表并没有多少反射量。同理,粗糙度也是个实例调节值不能写死,转参数命名
因为我这个地形是UE4中直接拉出来的,并没有UV信息,所以要在节点编辑器中创建一个地形UV节点。这个节点式专为地形UV设计的,以便分辨地形UV坐标。
这里要注意哦,该地形单元内都没有UV,则该节点就要被调用编译很多次。所以这时,为了节省编译时间,我们需要乘法(Mutiply)节点来完成land UV节点一对多的操作,如图。这样每个贴图上都会有LandUV的默认信息。
这里给常数节点命名为Grass(草)并设置为默认值1,这个1以为着横纵方向UV会重复一次(即表示UV原大小不变)。岩石的节点贴图等同理制作连结。
之后,草地和石头的UV赋予操作完成后,我们需要混合两个材质在一起。这里就需要LayerBlend节点。
这时我们发现该节点只有出点没有入点,我们需要在该节点的细节面板中的层激活,点开小加号。这样就有一个入点了。因为我们要将草和石头混合,所以在层为2。并对每个层进行命名:Grass、Rock。
这里注意,该节点最重要的参数就是混合模式(Blend Type)。两种不同的材质依据什么样的方式进行混合更自然呢?如果用一张单纯的黑白图做Mask去混合两种材质会很不自然,所以一般运用地图的高度信息即高度图作为一张蒙版驱动混合。我们看石头的这张高度图,当对其刷草的时候,会对黑色区域进行率先附着白色的地方就不会刷到草地。使用混合就是让材质表现更富有变化。这里思路是利用高度图,用草地去混合岩石等其他材质。
混合模式有三种,weight(权重)和Height(高度)是常用的,虽然我们这里使用高度混合,但是第一个材质层的混合模式必须是权重(权重并设置为1),这是UE4的规定,只有这样才能保证地表都有材质赋予。链接设置完成材质球之后,记得实例化并放在实例文件夹下。
注意,现在我们只有两种材质:草和岩石;两种贴图:颜色图和高度图。法线等贴图的制作我们稍后再讲,这里先看一下仅依靠这两类图实现的地表效果,以免出现错误。 今天的教程主要叙述的是如何建立landscspe shader,下一篇我们将会用制作好的shader进行地表绘制(即地表顶点着色)以及其他内容,前三到四篇地编教程是简单走一遍虚幻地形绘制的流程,第五篇左右开始进行地表物体资产制作。希望各位看官可以亲自上手准备一下。 目前,喜欢Thepoly的可以通过三种方式与我们建立联系。分别是公众号、微信群以及QQ群。
|