ue4玻璃材质_UE4-材质

本文中,我们将首先讨论基于物理的渲染,什么是材质域,什么是材质,什么是材质实例,什么是主材质,我们将讨论材质的一些建议和禁忌。最后,我们将了解一些材质概念,你可以将其用于各类项目中的材质。

1.什么是PBR

PBR 表示基于物理的渲染,基于物理的渲染意味着我们根据现实模拟光线,而不是根据主观想法模拟光线。光线的最终效果会更加准确且更加自然。使用PBR的另一个优点是基于物理渲染的材质,在所有光照场景中都能保持一致。无论材质是位于光线充足的室内还是室外,或者是水下,或者是外太空,它对光线的反应是一样的。这意味着你不必根据项目的各种光照场景,创建多个版本的材质或纹理,这也导致了材质不必像以前那样复杂。你可以删除许多曾经必不可少的材质指令。此外,基于物理渲染材质中的材质参数要简单得多,相互依赖性也没那么高。美术师可以更直观地调整参数。

基于物理的渲染不仅极大提升了画面的真实度,赋予我们极为真实的图像。它还可以用于卡通渲染。事实上,UE4的基于物理渲染系统源自于皮克斯和迪士尼的共同成果。这两个工作室因其卡通渲染风格而闻名于世。

最后,关于PBR我想讲一点,你应该使用它的原因是,它有助于你标准化美术工作管线。因为资源无论遇到何种光照情况都能做出相同反应,这是一个巨大的进步。如果你对VRay这类应用很熟悉,你会发现它与UE4中的PBR系统其实非常非常相似,所以你很快就能上手 。

2.材质域

只需改变材质域、混合模式和着色模型,你就可以变换材质来满足各种不同需求。下图中可以看到 材质域、混合模式和着色模型。记住,有些功能会根据 材质域、混合模式或着色模型而启用或关闭。改变三者中的任意一个都可能会影响主着色器节点上的输出。

“材质域(Material Domain)”决定了材质属性的评估方式,“混合模式(Blend Mode)”决定了材质的颜色以及材质与背景,“着色模型(Shading Model)”决定了输入将如何组合来创建材质的最终颜色。例如,如果你想实现玻璃材质,你应该将混合模式改为“透明(Transparent)”,根据你是否希望玻璃对光线做出反应,将着色模型改为“无光照(Unlit)”或“默认带光照(Default Lit)”。不同项目中的材质会使用不同的材质域、混合模式和着色模型组合,没有哪种组合可以满足所有材质需求。你需要制作很多材质,每种都使用不同的组合。记住,没有哪一种材质域、混合模式和着色模型组合,可以满足项目的所有需要。你需要制作不同版本的材质来满足不同的需求,另外要记住的是材质域、混合模式和着色模型不能在运行时更改,如果你觉得:“嗯,我有一个非常棒的材质,我希望在游戏启动时把它变成玻璃材质”,这是不可能的。

41960830985a08d3147fba0dbb2ee0d1.png

3.什么是材质

材质是UE4用于表示并调整对象纹理外观的方式,材质使用材质编辑器创建,你可以在屏幕上看到。材质实际上是由一小块一小块HLSL代码构成,也就是“高级着色器语言”。这些代码块可以执行各种任务,比如给纹理着色或者帮助混合两种纹理。如果你熟悉HLSL,你在材质编辑器中看到的许多功能,你都会很熟悉。因为其中许多都直接源自于HLSL函数,材质需要先编译才能在游戏中使用或显示。要编译材质,你要点击预览窗口上方的“Apply”。你也可以保存材质,保存时材质会自动编译。一旦材质被编译好,它就变成静态的了,不能在项目运行时更改。然而,我们可以使用一种材质,然后把它应用到项目中的各种不同材质上,我们稍后会介绍这点。如果你用过基于线性节点的编辑系统,UE4中的材质编辑器非常相似,所以你很快就能上手。

561aa979e13fbb1a9d0df34e62af240e.png

4.什么是材质实例

之前,我提到过运行时不能更改材质,这意味着如果要改变它的颜色或材质纹理都是不可能实现的。然而,这有点不太方便,尤其是在电子游戏这类动态场景中,这就需要用到“材质实例”了。材质实例是材质的特殊版本,允许我们在运行时修改材质中的参数和纹理,而不必重新编译材质。这使得材质实例的迭代变得非常快,所以你几乎可以实时看到变化效果。你还可以通过时间轴和蓝图与材质实例进行交互,从而获得大量非常酷炫的动画效果。

当你使用一个材质实例时,使用它们的性能优势很有限。然而,当你使用成千上百的材质实例而不是材质时,性能优势就会显现。使用材质实例的主要优点是灵活性,它们允许美术师参与你的项目。你可以设置一个主材质,然后在材质实例中设置许多参数,以便美术师根据喜好调整材质,而无需编写大量复杂的着色器代码。

828e07d99d52b0736d23e7fe99b60add.png

5.什么是主材质

我之前介绍过主材质和材质实例,但让我们真正深入了解一下什么是主材质。主材质是一种用来完成许多任务的材质,下图是一个主材质实例。

9203e10afd6d5552e5c3e3e9fabc92b4.png

你可以使用许多参数节点,比如矢量参数,叫做“Base_Color”,它的功能是允许我们在材质实例中,使用取色器将材质设置成任意颜色。

3a996d61f8055229c4ccd54bac820b5b.png

另一种参数节点是纹理参数节点,它的作用是允许我们在材质实例中添加任意纹理,以便让材质拥有全新外观。

b01465c20232ea0286bd9c9e5271b2fd.png

此外还有标量参数,标量参数控制标量变量,这类参数节点允许你更改材质实例中的参数数值,以便你增加或减少材质实例的某种效果。

552b61394912bdef9a23d5b38056ef86.png

如果你想在材质实例中找到可以调整的节点,你要找的就是材质参数节点,有很多种方法可以添加材质参数节点,甚至将现有节点转换为材质参数节点,稍后我们将了解。 现在,你只需知道主材质可以在项目中满足对象的不同材质需求。

6.有关主材质的注意事项

请使用多种主材质, 不要尝试将一种主材质用于所有对象,这是不可能的,会让材质臃肿不堪,最终导致性能问题。你应该做的是,所有不透明场景对象使用一种材质,然后半透明对象使用另一种材质,角色使用一种主材质,武器使用另一种主材质。不要试图用一种主材质满足游戏中的所有需求,这是不可能的。

最后,当你创建主材质时,不要自作主张替美术师做出决定,和他们面对面交流,了解哪些参数他们最常用,然后将它们添加到主材质中。这样美术师只需调整最有用也最常用的参数。这样,你就可以省去维护不必要着色器代码的麻烦,避免材质变得臃肿不堪,这么做还有助于开发人员了解材质中的逻辑。如果许多代码没人使用,那么为什么还要用它们呢?

7.“主材质”的概念

当你创建主材质时,有几点事项有助于你极大提升材质的性能,并且适用于所有目标平台。

首先要介绍的是材质函数,材质函数允许你共享并且复用材质图表的部分内存。UE4实际上自带了许多材质函数,功能齐全,包括确定场景对象的位置以及确定鼠标当前在屏幕中的坐标。你可能已经用多了许多自带的材质函数,只不过你没意识到。我之所以介绍它,原因是如果你需要创建或复用某一组代码,比如调整纹理在X轴和Y轴上的平铺效果,你会发现可以方便地将代码封装成材质函数,然后通过材质库分享代码。这样一旦需要调整平铺效果,你只需调整材质函数而不必打开所有材质然后亲自调整平铺效果。材质函数允许你共享材质代码,从而在你调整全局效果时,减少维护代码的麻烦。

5fc320319d0810a31c517ce6697886e6.png

接下来要说的是RGB遮罩打包,当你创建主材质时,你可以描述纹理的使用方式,让美术师将不同的纹理保存在同一张纹理的红、绿、蓝通道中,能够有效减少内容中的纹理占用量。然而,当你在使用RGB遮罩打包时,请确保注明红、绿、蓝通道中各自保存的纹理类型,并在项目整个生命周期长恪守该规范。

ce2c132fa88af97e3ff2a541cf99f1a7.png

接下来要说的是静态开关,静态开关允许你启用或禁用材质中的整条代码路径。例如,你可以使用静态开关启用视差法线贴图,它能够让你的法线贴图看起来很有立体感,不过它的开销很大,所以不要在场景中将其频繁用于材质。通过将功能放置在静态开关内,你可以控制哪些材质会启用或禁用功能,以便美术师将这类功能添加到真正需要它的网格体上。

f2ea91b1b77744995627405e062b4be7.png

最后要讨论的特性是特性层级开关,特性层级开关能让材质在任何目标设备上运行,你要做的是将不同版本不同复杂度的材质输出到不同平台中。例如,如果我要使用 Shader Model 5(SM5) 就能获得最高程度的细节和精细度,它是细节最丰富的着色器。而使用ES2模型的材质,通常用于移动平台,它们的实际效果无法提供大量精美细节。ES2中的材质远没有SM5中的材质显得复杂。同样,这个特性允许你将一个材质用于项目的所有的目标发布平台。

cdde9317aad91ed2af00e96653d27377.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507121.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为啥linux分区是nvme0n1,NAS 篇五:尝试达成最终目标: 黑裙+万兆网卡+Nvme 存储空间的实现与测试...

NAS 篇五:尝试达成最终目标: 黑裙万兆网卡Nvme 存储空间的实现与测试2020-01-18 18:49:2346点赞248收藏80评论创作立场声明:1. 本系列文章讨论NAS与局域网, 请小编高抬贵手不要分类到无线网络去2. 如果你读了开头, 有“…

固态硬盘上安装centos_自己动手丰衣足食 手把手教你安装M.2固态硬盘

为了追求更快的速度、更好的性能,很多用户都为电脑升级或者更换了M.2固态硬盘。但是,M.2固态硬盘买好了,安装对大部分人来说却是个难题……因此,好多老铁通过微信后台联系小星,想了解一下M.2固态硬盘的安装教程。OK&am…

创建txt文件指令_Linux云计算教程全套视频合集:WORKDIR 指令讲解

WORKDIR 指令用于声明当前的工作目录&#xff0c;以后各层的当前目录就被改为指定的目录。格式为 WORKDIR <工作目录路径>。如该目录不存在&#xff0c;WORKDIR 会帮你建立目录。再次强调&#xff01;不要以为编写 Dockerfiel 是在写 shell 脚本。下面是一个错误示例&…

vba 自动排序_给VBA字典键值排序,并提取需要的数据

未知的领域很广、风景很美&#xff0c;不要蜷缩在一小块自认为天堂的世界里。待到暮年时安于自欺欺人&#xff0c;要努力提高自己&#xff0c;学习是一件很辛苦的事。要有一颗充满生机的心&#xff0c;把握现在&#xff0c;这才是进取。机会总在等待中出现&#xff0c;越是有意…

vba 提取 json某个值_利用VBA字典,提取两列数据的重复值

大家好&#xff0c;今日我们继续讲解VBA数组与字典解决方案&#xff0c;今日讲解第52讲&#xff1a;利用字典&#xff0c;提取两列数据重复值。有人讲:字典是VBA中最为精华的部分,持这种观点的人肯定有自己的道理,确实,利用字典可以给我的代码带来很大的方便之处,今日我讲解的是…

红外倒车雷达原理图_硅光电倍增管 (SiPM) 直接飞行时间 (dToF) 激光雷达平台为工业测距应用提供现成的设计...

点击蓝字关注我们请私信我们添加白名单如果您喜欢本篇文章&#xff0c;欢迎转载&#xff01;推动高能效创新的安森美半导体 (ON Semiconductor&#xff0c;美国纳斯达克上市代号&#xff1a;ON)&#xff0c;推出了由该公司硅光电倍增管 (SiPM) 技术实现的单点直接飞行时间 (dTo…

visio图标_弱电间机柜原型图整理,可编辑!(Excel,visio,CAD)

有朋友问到机柜原型图&#xff0c;这个我们在弱电vip技术群里面也有朋友提到过&#xff0c;今天我们就整理了弱电系统中常用的机柜原型图&#xff0c;有Excel&#xff0c;visio&#xff0c;CAD版本&#xff0c;可以修改编辑&#xff01;1、Excel机柜原型图(可编辑)机柜布局-1机…

c语言字节强制对齐,C语言的那些小秘密之字节对齐

为了让读者加深印象&#xff0c;我们这里在代码中没有使用0&#xff0c;而是使用的4&#xff0c;所以在最终计算出的结果部分减去了一个4才是偏移地址&#xff0c;当然实际使用中我们都是用的是0。懂了上面的宏offsetof之后我们再来看看下面的代码&#xff1a;#include #define…

xshell 6 连接debian系统拒绝了密码_原来连接Linux,还有这个方法

你是不是以为电脑的操作系统只有Windows和IOS系统&#xff0c;其实不是的&#xff0c;还有一个Linux系统&#xff0c;这个系统不是很常见&#xff0c;导致很多人连怎么连接Linux系统都不太清楚明白。Windows系统可以用远程桌面&#xff0c;Linux系统怎么来远程桌面呢&#xff1…

ctf up怎么写 write_软件测试工程师要不要写工具?

Fintech概念正受到不少互联网金融公司的热捧&#xff0c;主要是指代那些可用于撕裂传统金融服务方式的高新技术。越来越多的企业开辟了新的部门去研究各种各样能让自己产品增值的科技类产品。尤其是在很多互联网金融公司&#xff0c;业务分析师BA(Business Analyst)&#xff0c…

th标签能包裹select吗_电影《八佰》过后,他能摘掉马思纯前男友标签了吗?

文/温青青提到欧豪&#xff0c;大多数人第一时间想到的还是“马思纯前男友”、“快乐男声选秀出道歌手”这些身份。原因嘛很简单&#xff0c;只因为男方在娱乐圈的名气地位暂时还不如女方。类似情况分手的情侣还有很多&#xff0c;杨紫的前男友秦俊杰&#xff0c;蓝盈莹的前男友…

h3c防火墙u200配置命令_h3c 防火墙清除配置

reset saved-configuration 重置配置文件。The saved configuration file will be erased. Are you sure? [Y/N]:YConfiguration file in cfa0 is being cleared. Please wait ...Configuration file is cleared.reboot 重新防火墙Start to check configuration with next sta…

android 自定义 popupwindow,Android自定义弹出窗口PopupWindow使用技巧

PopupWindow是Android上自定义弹出窗口&#xff0c;使用起来很方便。PopupWindow的构造函数为public PopupWindow(View contentView, int width, int height, boolean focusable)contentView为要显示的view&#xff0c;width和height为宽和高&#xff0c;值为像素值&#xff0c…

android lottie字体json,Android 动画深入Lottie

image.png如果现在有需求,让这个小人做出拳击动作你应该如何做? 传统方法会写一大堆的路径值做路径动画&#xff0c;不好调试代码臃肿并且麻烦&#xff0c;那么有简单方法吗 有&#xff01; SVG 和 Lottie 可以胜任 SVG编辑麻烦美工不太会弄&#xff0c;那么我们用Lottie 下面…

android 搜索工具栏,Android记事本在菜单栏添加搜索按钮方法

效果图这个app结构和我之前将记事本开发的博客基本一致&#xff0c;我这里直接讲一下怎样添加使用的开发软件为android studio首先在res目录下新建文件夹menu&#xff0c;添加目录布局文件main_menu之后在main_menu中添加如下代码xmlns:app"http://schemas.android.com/ap…

5分钟k线数据 存储_成功率极高的“分时K线战法”:15分钟K线战法+30分钟K线战法...

实战看盘最常用的就是日、周、月等K线图。这些图形对于我们分析个股走势的确帮助很大&#xff0c;然而遇到调整时&#xff0c;就显示了其宏观有余、微观不足的缺点。但假如我们用分时K线图进行微观的观察与分析&#xff0c;就可以找到一些个股在调整中的规律&#xff0c;比如15…

nfc卡模式与标准模式_张家口市环卫进入首都标准“京环模式”

“路上看不见垃圾&#xff0c;垃圾箱更卫生了&#xff0c;路边公共设施齐全了。”喜欢晨练的王先生最近格外喜欢在河边便道上散步&#xff0c;切身感受城市环境面貌改善带来的获得感。而这背后&#xff0c;除了环卫工作者的付出&#xff0c;也见证了张家口市城乡环卫一体化项目…

pyqt 取鼠标处文字_爱剪辑:炫彩的动态标题文字特效,这招让视频片头LOGO更酷炫...

爱剪辑学习委员会提醒您&#xff1a;道路千万条&#xff0c;学习第一条。教程不学会&#xff0c;制作两行泪。今天教大家制作炫彩的动态标题文字特效&#xff0c;3步即可快速学会&#xff0c;让你立马不再流泪。爱剪辑官网下载&#xff1a;http://www.aijianji.com/爱剪辑LOGO效…

android studio 搭建环境,Android studio搭建xposed环境

一、环境准备xposed&#xff1a;https://repo.xposed.info/module/de.robv.android.xposed.installerxposed-api&#xff1a;https://forum.xda-developers.com/xposed/xposed-api-changelog-developer-news-t2714067二、环境搭建Android studio选择->Empty Actvity将api.ja…

强化学习原理与python实现原理pdf_纯Python实现!Facebook发布PyTorch分布式强化学习库...

图灵TOPIA来源&#xff1a;Facebook编译&#xff1a;刘静图灵联邦编辑部出品Facebook于近日发布了PyTorch中用于强化学习(RL)研究的平台&#xff1a;TorchBeast。TorchBeast实现了流行的IMPALA算法的一个版本&#xff0c;用于RL代理的快速、异步、并行训练。另外&#xff0c;To…