查看: 429|回复: 7

[引擎各个功能] 【材质编辑器 - 如何使用透明度 | Unreal Engine】

[复制链接]

1

主题

342

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
75866
发表于 2016-6-25 12:48:20 | 显示全部楼层 |阅读模式


本页面的内容:

      您可以开始将这些节点连接到一起。 首先,将“矢量参数”(Vector Parameter)节点命名为 Base_Color,并对其指定颜色值。在本示例中,已输入白色作为默认颜色。接着,将“矢量参数”(Vector Parameter)节点的输出连接到 底色(Base Color)输入。 然后,将“标量参数”(Scalar Parameter)命名为 Transparency_Amount,并对其指定默认值 0.5。 然后,将“标量参数”(Scalar Parameter)的输出连接到主着色器节点的 不透明(Opacity)输入。

【虚幻4翻译文档-材质编辑器 - 如何使用透明度 | Unreal Engine】[虚幻4中文文档]



确保单击 应用(Apply)和 保存(Save)按钮,并关闭材质编辑器。

【虚幻4翻译文档-材质编辑器 - 如何使用透明度 | Unreal Engine】[虚幻4中文文档]



在 内容浏览器 中找到 Transparency_Material,右键单击,并从显示的菜单中选择 创建材质实例(Create Material Instance)选项。



现在,我们需要找到一个要应用该材质实例的对象,以查看效果中的材质。在 内容浏览器 中的“起步内容”(Starter Content)文件夹下面,有一个 形状(Shapes)文件夹。找到 Shape_Sphere,使用 鼠标左键 将其选中,然后按住 鼠标左键 将其拖到当前关卡。到达您喜欢的位置后,释放 鼠标左键,以将该网格放入关卡。

【虚幻4翻译文档-材质编辑器 - 如何使用透明度 | Unreal Engine】[虚幻4中文文档]



现在,关卡中已经有了用来执行测试的对象,请在 内容浏览器 中找到您早先创建的 Transparency_Material_Inst。找到后,请使用 鼠标左键 将其选中,然后将其从 内容浏览器 拖到 Shape_Sphere 上。拖到 Shape_Sphere 上之后,释放 鼠标左键,以将该材质实例应用于该网格。

将该材质实例应用于该网格后,请在 内容浏览器 中使用 鼠标左键双击 该材质实例,以将其打开。打开后,通过使用 鼠标左键 单击灰色的复选框,启用 Transparency_Amount。启用后,您可以调整 Transparency_Amount 的值,以更改对象的透明度。
透明度与反射
设置下列选项后,使用了透明度的对象可以显示场景反射。 但是,请记住,启用大量具有反射的半透明材质可能会引起性能问题。

在 内容浏览器 中,使用 鼠标左键双击 上文所创建的 Transparency_Material,以将其打开。打开后,在 细节(Details)面板的 半透明(Translucency)部分中,将 半透明照明模式(Translucent Light Mode)从 TLM 体积无方向(TLM_Volumetric Non Directional 更改为 TLM 表面(TLM Surface)。

【虚幻4翻译文档-材质编辑器 - 如何使用透明度 | Unreal Engine】[虚幻4中文文档]



在材质图中,选中 透明量(Transparency_Amount)材质表达式,并通过在键盘上按 CTRL + W 将其复制两次。完成之后,您的材质图应该类似于下图。

【虚幻4翻译文档-材质编辑器 - 如何使用透明度 | Unreal Engine】[虚幻4中文文档]



将两个材质表达式节点分别重命名为 Metallic 和 Roughness。将 Metallic 材质表达式的默认值设置为 1.0,并将 Roughness 的默认值设置为 0。然后,将各个材质表达式节点连接到主材质节点上的相应输入。

【虚幻4翻译文档-材质编辑器 - 如何使用透明度 | Unreal Engine】[虚幻4中文文档]



确保 应用(Apply)并 保存(Save)该材质,然后关闭材质图。




现在,当您查看关卡时,您应该能够在网格上看到反射和透明效果。

【虚幻4翻译文档-材质编辑器 - 如何使用透明度 | Unreal Engine】[虚幻4中文文档]



透过调整材质实例的参数,可以使透明度具有极为不同的视觉效果。

【虚幻4翻译文档-材质编辑器 - 如何使用透明度 | Unreal Engine】[虚幻4中文文档]


透明度的用途
透明度可用来模拟各种不同的现实世界表面类型。 以下是 UE4 中透明度的一些最常见用途。

头发

玻璃



烟雾或火焰视觉效果



贴纸

植物叶子
透明度与性能
【虚幻4翻译文档-材质编辑器 - 如何使用透明度 | Unreal Engine】[虚幻4中文文档]



渲染大量彼此重叠且具有透明度的对象可能会迅速产生渲染/性能瓶颈,在使用点亮透明度时尤其如此。 用来说明此问题的术语是“过度绘制”,当您有大量彼此重叠且要进行透明度渲染的对象时,就会发生过度绘制。 过度绘制可能会导致这类性能问题的原因是,对于每引入一层透明度,渲染成本就会水涨船高。

为了帮助您更好地确定是否存在此问题以及何处存在此问题,UE4 有一种称为 着色器复杂性 的特殊视图模式。 “着色器复杂性”模式通过使用颜色来显示复杂性,让您了解给定表面的渲染复杂度。 您看到的颜色越绿,表示渲染成本越低,而颜色越红,表示渲染成本越高。 要启用此视图模式,只需完成下列步骤。

要启用 着色器复杂性,请使用鼠标左键单击编辑器视口顶部的 视图模式(View Mode)选项。目前,视图模式(View Mode)设置为默认值,即 点亮(Lit)。

【虚幻4翻译文档-材质编辑器 - 如何使用透明度 | Unreal Engine】[虚幻4中文文档]



您使用鼠标左键单击 视图模式(View Mode)时,系统会显示菜单。请从菜单中选择 着色器复杂性(Shader Complexity)选项。

【虚幻4翻译文档-材质编辑器 - 如何使用透明度 | Unreal Engine】[虚幻4中文文档]



单击 着色器复杂性(Shader Complexity)选项之后,关卡视口应该如下所示。

【虚幻4翻译文档-材质编辑器 - 如何使用透明度 | Unreal Engine】[虚幻4中文文档]



从这个视图中,您可确定可能的性能问题的发生位置。 红色区域的渲染成本非常高,而绿色区域的渲染成本较低。 虽然并不是 100% 有可能或适合消除所有过度绘制,但此视图模式在您尝试 判断性能问题的确切来源时非常有帮助。
半透明优先顺序(Translucency Sort Priority)
当场景中存在多个彼此接近的透明对象时,您有时会注意到,在确定哪个透明对象在其他透明对象 前面或后面渲染时存在问题。以下示例使用您此前创建的材质以及起步内容中的点亮烟雾 VFX 来演示这种情况。

请注意,烟雾先是显示在网格前面,接着突然跳到网格后面。 为了防止发生此问题,需要设置 半透明优先顺序(Translucency Sort Priority),以使烟雾的 VFX 始终在场景中其他半透明效果前面渲染。要更改 VFX 的 半透明优先顺序(Translucency Sort Priority),请完成下列步骤。

首先,通过使用鼠标左键单击,选中一个或多个要在关卡中所有其他半透明效果前面渲染的对象。在本示例中,我们将选中烟雾 VFX。

【虚幻4翻译文档-材质编辑器 - 如何使用透明度 | Unreal Engine】[虚幻4中文文档]



在 细节(Details)面板的 渲染(Rendering)部分中,单击 白色三角形 以显示其他属性。

在新的选项列表中,找到 半透明优先顺序(Translucency Sort Priority),然后输入值 100。

【虚幻4翻译文档-材质编辑器 - 如何使用透明度 | Unreal Engine】[虚幻4中文文档]



默认情况下,所有添加到关卡的对象的 半透明优先顺序(Translucency Sort Priority)均为 0。如果您希望某个透明对象始终在其他透明对象前面渲染,请使用正数值。如果您希望某些透明对象始终在其他透明对象后面渲染,请使用负数值。

现在,检查场景中的烟雾 VFX。因为 半透明优先顺序(Translucency Sort Priority)设置为 100,所以烟雾将始终显示在其他半透明对象前面。

如果将 半透明优先顺序(Translucency Sort Priority)设置为 -100,那么烟雾将始终显示在其他半透明对象后面。

虽然调整 半透明优先顺序(Translucency Sort Priority)可以修正关卡中的顺序问题,但可能会在游戏期间产生效果或对象时引入新的顺序问题。 因此,最好定义要使用的 半透明优先顺序(Translucency Sort Priority)数值以及使用位置。例如,您可以指定产生的所有效果的 半透明优先顺序(Translucency Sort Priority)均为 100。因此,如果关卡中存在一些顺序问题,您可将关卡中对象的 半透明优先顺序(Translucency Sort Priority)调整为任何不大于 99 的数值。这样,产生的游戏效果将始终在所有其他对象前面渲染,而无论关卡中这些对象的 半透明优先顺序(Translucency Sort Priority)为何。
总结
透明度是功能非常强大的工具,可以帮助您真正实现 3D 项目。 但是,就像所有其他功能强大的工具一样,您必须十分谨慎,确保这种强大的功能在您的掌控之下。 请记得尝试将使用反射效果的透明对象数尽可能保持在最低限度。 并且,在编辑器中以及游戏期间,务必时常检查“着色器复杂性”模式,以确保最大限度减少透明度过度绘制。



   



   


      




   


      相关页面

  




       材质混合模式








      不透明度








      带光照的半透明物体




回复

使用道具 举报

0

主题

858

帖子

2845

积分

vip会员

Rank: 1

积分
2845
发表于 2016-7-2 18:36:44 来自手机 | 显示全部楼层
好东西,所噶
回复 支持 反对

使用道具 举报

0

主题

836

帖子

2789

积分

vip会员

Rank: 1

积分
2789
发表于 2016-7-3 20:05:35 | 显示全部楼层
大水比一个,路过支持一下
回复 支持 反对

使用道具 举报

0

主题

938

帖子

3051

积分

vip会员

Rank: 1

积分
3051
发表于 2016-7-4 00:55:14 来自手机 | 显示全部楼层
要查看本帖隐藏内容请回复
回复 支持 反对

使用道具 举报

0

主题

916

帖子

3024

积分

vip会员

Rank: 1

积分
3024
发表于 2016-7-4 06:54:45 来自手机 | 显示全部楼层
好东西,所噶
回复 支持 反对

使用道具 举报

0

主题

913

帖子

3004

积分

vip会员

Rank: 1

积分
3004
发表于 2016-7-22 07:54:01 | 显示全部楼层
看一下,谢谢楼主分享
回复 支持 反对

使用道具 举报

体会 该用户已被删除
发表于 2016-7-23 23:56:31 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

0

主题

830

帖子

2763

积分

vip会员

Rank: 1

积分
2763
发表于 2016-7-24 23:43:51 | 显示全部楼层
嗯,这个资源特别的好啊,赶紧下来收藏起来。
回复 支持 反对

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | enginedx注册

本版积分规则

 
 



邮件留言:


 
返回顶部