查看: 258|回复: 0

[引擎的各个功能] 材质编辑器 - 如何放置材质表达式和函数

[复制链接]

1

主题

342

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
75866
发表于 2017-4-8 06:47:06 | 显示全部楼层 |阅读模式

材质编辑器 - 如何放置材质表达式和函数



       
     
     Intermediate

     Unreal Engine 4.9

       
     
         



   
    本页面的内容:
   

   
                                                            
        材质表达式
                                                        
        材质表达式与材质函数之间的差别
                                                        
        放置材质表达式
                       
       
        从选用板中拖放
               
        右键单击搜索
               
        键盘快捷键

                                                        
        放置材质函数
                       
       
        从选用板中拖放
               
        右键单击搜索
               
        从内容浏览器

                                                        
        结论
                                            


材质表达式 和 材质函数 是虚幻引擎 4 中的构建块,用来创建功能完整的材质。
每个表达式或函数都是独立的黑匣,可以对其输入运行一小段代码,然后输出结果。
在本操作指南中,我们会学习将材质表达式和材质函数放入材质图的各种方法。

材质表达式


材质表达式 节点包含一小段 HLSL 代码,这些代码在材质内部执行非常特定的任务。
材质是使用材质表达式节点的组合来构建的,这些节点组合在一起可执行特定的任务。
例如,如果您希望在材质内部移动纹理,那么可使用“平移”材质表达式节点。
此节点包含特定的 HLSL 代码,这些代码指示材质沿特定方向移动其应用纹理的 UV 坐标,使它看起来像在运动一样。
您很快将看到,材质表达式节点是构建材质并与其互动的关键。

材质表达式与材质函数之间的差别


虽然材质表达式和材质函数都是用来创建材质的构建块,但在节点及其工作方式方面存在一些差异。
材质函数与材质表达式之间的主要差异是,材质函数是在材质函数编辑器中构造,并且是保存在内容浏览器中的资产。


材质表达式
:材质表达式是静态代码段,只能执行编程时指定的操作。例如,乘法(Multiply)节点只能执行乘法,而永远无法将两个数字相加。您要更改其功能的唯一方法就是更改源代码


材质函数
:材质函数较为灵活,因为您可以创建材质函数以执行您所需的任何类型的计算。如果您希望材质函数不仅能够执行乘法,也能够执行加法,您可以在材质函数编辑器中进行相应的更改来实现,而不必更改源代码。

放置材质表达式


您可以采用下列三种方法将材质表达式放入材质图。

从选用板中拖放


您可以将任何材质表达式从 选用板(Palette)菜单直接拖放到材质图中。即,搜索所需的表达式,用 鼠标左键 单击选中它,然后将它拖到材质图中。当您释放 鼠标左键 时,材质表达式将放置在材质图中。

右键单击搜索


您也可以这样添加材质表达式:右键单击 材质图中的任何位置,从快捷菜单中选择所需的材质表达式,然后单击 鼠标左键 将它放入材质图中。您还可以使用键盘来搜索所需的材质表达式。找到所需的材质表达式后,按 Enter 键就可以将表达式节点放入材质图中。

键盘快捷键


您可以使用许多键盘快捷键来帮助您快速放置最常用的材质表达式。您可以通过 编辑(Edit)-> 编辑器首选项(Editor Preferences)-> 键盘快捷键(Keyboard Shortcuts)-> 材质编辑器产生节点(Material Editor Spawn Nodes)来更改产生材质表达式的键。


以下是当前默认键盘快捷键的清单,及按下按键时材质表达式将会创建的表达式。


       


       
                A
               
               
                “加法”材质表达式
               
       

       
                B
               
               
                “凹凸贴图偏移”材质表达式
               
       

       
                1
               
               
                “常量”材质表达式
               
       

       
                2
               
               
                “常量 2 矢量”材质表达式
               
       

       
                3
               
               
                “常量 3 矢量”材质表达式
               
       

       
                4
               
               
                “常量 4 矢量”材质表达式
               
       

       
                D
               
               
                “除法”材质表达式
               
       

       
                I
               
               
                “如果”材质表达式
               
       

       
                L
               
               
                “线性插值”材质表达式
               
       

       
                F
               
               
                “材质函数”材质表达式
               
       

       
                M
               
               
                “乘法”表达式
               
       

       
                N
               
               
                “规格化”表达式
               
       

       
                O
               
               
                “一减”表达式
               
       

       
                P
               
               
                “平移”表达式
               
       

       
                E
               
               
                “幂”表达式
               
       

       
                R
               
               
                “矢量 WS”表达式
               
       

       
                S
               
               
                “标量”表达式
               
       

       
                U
               
               
                “纹理坐标”表达式
               
       

       
                V
               
               
                “矢量取样”表达式
               
       


放置材质函数


您可以采用放置材质表达式的方法,将材质函数放入材质图中。

从选用板中拖放


您可以将任何材质函数从 选用板(Palette)菜单直接拖放到材质图中。即,搜索所需的函数,用 鼠标左键 单击选中它,然后将它拖到材质图中。当您释放 鼠标左键 时,材质表达式将放入材质图中。


       
选用板提供了搜索过滤功能,您可以将搜索结果限制为表达式、函数或这两者。要设置搜索过滤器设置,请使用 鼠标左键 单击 类别 按钮,然后从下拉菜单中选择您想要搜索的类别。


材质编辑器 - 如何放置材质表达式和函数



右键单击搜索


您也可以这样添加材质函数:右键单击 材质图中的任何位置,从快捷菜单中选择所需的材质函数,然后单击 鼠标左键 将它放入材质图中。您还可以使用 键盘 在 搜索(Search)框中输入您要查找的名称,来搜索您所需的材质函数。找到所需的材质表达式后,按 Enter 键就可以将函数节点放入材质图中。


       
快捷 菜单无法按函数或表达式进行过滤,在您进行搜索时,这两者都将显示。



       
材质函数节点的顶部总是显示为蓝色。您还可以通过 鼠标左键双击 将它们打开,来查看它们所执行的操作。


材质编辑器 - 如何放置材质表达式和函数



从内容浏览器


这种方法仅适用于材质函数,您可以将它们从 内容浏览器 拖放到材质图中。即,在 内容浏览器 中查找所需使用的材质函数,用 鼠标左键 单击选中它,然后将它拖到材质图中。当鼠标移到材质图上时,释放 鼠标左键 即可添加您所选择的材质函数。


       
要在内容浏览器中查找材质函数,您需要在 Engine 文件夹中进行查找。
但是,默认情况下,Engine 文件夹处于禁用状态,您需要将其启用才能查看。
即,使用 鼠标左键 单击内容浏览器右下角的查看选项(View Options)。
然后,从弹出菜单中,选择 显示引擎内容(Show Engine Content)选项以显示 Engine 文件夹中的内容。


结论


材质表达式和材质函数是您使用材质编辑器的关键。
无论您构建哪一类材质,材质都由材质表达式和/或材质函数组成。
请记住,调整当前使用中的材质函数时,可能有导致其他使用该材质函数的材质及材质实例损坏的风险。
另外,每当您不确定某个特定材质表达式节点的功能时,都可以在因特网上快速搜索该材质表达式节点的名称。
因为大部分材质表达式节点都是纯 HLSL 代码,节点仅在节点论坛中,有关 HLSL 的 Microsoft 官方文档有时可以帮助您了解材质表达式可能执行的操作。


   
        
            

   

材质编辑器 - 如何放置材质表达式和函数

   




    相关页面


            
            

   
  
     

         材质函数表达式
     


  
     

         材质表达式参考资料
     


  
     

         按键绑定编辑器
     


     

            
        
   




                                       
                                       
完整内容索引
                                       
                               
                       
                       
            

            
            

     2004-2017, Epic Games, Inc. 版权所有。Unreal 及相关的商标是 Epic 在美国和其他国家的注册商标。


    使用条款 | 隐私政策

            
        
               
       
   
回复

使用道具 举报

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

本版积分规则

 
 



邮件留言:


 
返回顶部