查看: 305|回复: 0

[引擎的各个功能] 材质编辑器 - 在材质中使用次表面轮廓

[复制链接]

1

主题

342

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

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

材质编辑器 - 在材质中使用次表面轮廓



       
     
     Intermediate

     Unreal Engine 4.9

       
     
         



   
    本页面的内容:
   

   
                                                            
        使材质能够使用次表面轮廓
                                                        
        创建次表面轮廓
                                                        
        创建使用次表面轮廓的材质
                                                        
        在材质实例中使用次表面轮廓
                                                        
        应用次表面轮廓材质
                                                        
        调整次表面轮廓
                                                        
        提示与技巧
                       
       
        散射半径
               
        将材质实例与次表面轮廓相结合

                                            


渲染逼真人体皮肤的能力,对于任何现代电子游戏引擎来说都不可或缺。为了满足此需求,虚幻引擎 4 (UE4) 现在提供了一种专门用于皮肤或蜡状表面的明暗处理方法,称为 次表面轮廓。
“次表面轮廓”明暗处理模型具有与 次表面 明暗处理模型类似的属性,其关键区别在于渲染方式有所不同。
“次表面轮廓”使用基于屏幕空间的渲染方法,因为这有助于更好地显示人体皮肤上的微妙次表面效果,而反向散射是仅在少数情况(例如,耳朵)下才会出现的次级效果。
以下文档将阐述什么是次表面轮廓以及如何在工作中使用它们。

使材质能够使用次表面轮廓


您可通过下列步骤使材质能够使用次表面轮廓。


首先,通过在 内容浏览器 中 右键单击,然后从 创建基本资产(Create Basic Asset)列表中选择“材质”(Material),创建新材质。
创建之后,务必对该材质进行命名。在此示例中,材质将命名为 MAT_Subsurface_Profile_00。
完成后,您的 内容浏览器 应该如下所示。
材质编辑器 - 在材质中使用次表面轮廓



接着,在 内容浏览器 中,使用 鼠标左键双击 该材质以将其打开。


       
材质编辑器 - 在材质中使用次表面轮廓




材质现已打开,我们需要将其 明暗处理模型(Shading Model)从 默认点亮(Default Lit)更改为 次表面轮廓(Subsurface Profile)。


现在,您可以通过在 细节(Details)面板的 次表面轮廓(Subsurface Profile)部分中输入,来指定一个 次表面轮廓。
材质编辑器 - 在材质中使用次表面轮廓



现在,此材质已准备好与次表面轮廓配合使用。

创建次表面轮廓


以下是创建次表面轮廓的步骤。


首先,在 内容浏览器 中 右键单击。然后,选择 材质与纹理(Materials & Textures)选项,并选择 次表面轮廓(Subsurface Profile)选项。


材质编辑器 - 在材质中使用次表面轮廓



选择并创建次表面轮廓之后,可以对其进行命名。
在此示例中,我们将这个次表面轮廓命名为 SSP_00。
完成后,结果如下图所示。


材质编辑器 - 在材质中使用次表面轮廓


创建使用次表面轮廓的材质


材质和次表面轮廓现已创建完毕,您可以开始在其中填充数据。
在下列步骤中,我们将创建可以使用次表面轮廓的材质和材质实例。


我们需要执行的第一项操作是,确保打开上文所创建的次表面材质。如果您已打开该材质,请前进到下一步。
否则,为了打开该材质,请先在 内容浏览器 中找到它,然后通过 鼠标左键双击 将其打开。
完成后,您在屏幕上应该看到类似下图的内容。


       
材质编辑器 - 在材质中使用次表面轮廓
材质编辑器 - 在材质中使用次表面轮廓





打开材质后,可以布置一些材质表达式节点。在本教程中,我们将使用下列节点。


矢量参数(Vector Parameter)x 1


标量参数(Scalar Parameter)x 2


材质编辑器 - 在材质中使用次表面轮廓



材质表达式节点现已添加到图中,我们现在需要对其进行命名,并在其中填充一些默认值。在此示例中,我们将对节点指定下列名称和默认值。


       


       
                Base_Color
               
               
                R:1.0 G:1.0 B:1.0
               
       

       
                Roughness
               
               
                0.35
               
       

       
                Subsurface_Amount
               
               
                0.5
               
       



填写所有内容后,您的着色器图应该如下所示。
材质编辑器 - 在材质中使用次表面轮廓



材质表达式节点现已设置完毕,我们现在可以将它们连接到主材质节点。
要将节点连接到主材质节点,请使用 鼠标左键 单击节点 右侧 的 白色圆圈。
按住 鼠标左键 向 右 拖动,这时会出现连接线。按住 鼠标左键 继续向 右 拖动,直至到达主材质节点上要使用的输入为止。
当鼠标位于您要使用的输入上时,释放 鼠标左键 以建立连接。


所有内容现已连接完毕,我们现在可以向材质添加次表面轮廓。
为此,请先在 细节(Details)面板的 材质(Material)部分中找到 次表面轮廓(Subsurface Profile)输入。
然后,使用 鼠标左键 在指示 无(None)的区域中单击。
执行此操作时,您将看到上述步骤中创建的次表面轮廓,请通过单击选中此轮廓。


       
如果您未提供次表面轮廓,那么系统将会使用默认的次表面轮廓。使用的默认次表面轮廓是白种人皮肤的近似表示。



次表面轮廓已应用,材质表达式已链接至主材质节点,您现在可以编译着色器并准备好根据此材质建立材质实例。
完成材质后,它应该如下所示。


       
材质编辑器 - 在材质中使用次表面轮廓
材质编辑器 - 在材质中使用次表面轮廓




在材质实例中使用次表面轮廓


材质现已创建并通过编译,您现在可以建立一些材质实例,以便更快地微调参数。
要根据材质来建立材质实例,请先在 内容浏览器 中找到该材质,然后 右键单击 该材质并选择 创建材质实例(Create Material Instance)选项。
完成后,您的 内容浏览器 应该如下所示。


材质编辑器 - 在材质中使用次表面轮廓



材质实例现已创建完毕,请在 内容浏览器 中使用 鼠标左键双击 将其打开。打开后,您应该会看到类似下图的内容。


       
材质编辑器 - 在材质中使用次表面轮廓
材质编辑器 - 在材质中使用次表面轮廓





要更改材质实例中的次表面轮廓,请先确保启用 覆盖次表面轮廓(Override Subsurface Profile),然后
通过使用 鼠标左键 单击 次表面轮廓(Subsurface Profile)输入,提供要使用的次表面轮廓。单击该输入后,您应该会看到可供您选择的次表面轮廓。


       
材质编辑器 - 在材质中使用次表面轮廓
材质编辑器 - 在材质中使用次表面轮廓





       
如果您已在主材质中提供次表面轮廓,那么不需要在材质实例中将其覆盖。仅当您希望使用与已使用的次表面轮廓不同的次表面轮廓时,才需要进行覆盖。


应用次表面轮廓材质


材质实例现已创建完毕,我们可以开始测试新材质。
为此,我们首先需要创建新的空白关卡以便在其中工作,方法如下:打开主菜单,然后从 文件(File)选项中选择 新建关卡(New Level)。
当系统提示您选择关卡类型时,请选择 空关卡(Empty Level)。


新关卡已创建完毕,我们现在需要添加一些光源,以便可以测试次表面材质的外观。我们将要添加的第一个光源是 点光源。要向场景中添加点光源,我们首先需要找到点光源:它位于 模式(Modes)菜单的 光源(Lights)选项下。找到点光源之后,您可添加一个点光源到屏幕,方法如下:首先使用 鼠标左键 选中这个点光源,然后按住 鼠标左键 将其拖到场景中,最后释放 鼠标左键 即完成添加。添加到场景后,请使用 鼠标左键 单击该光源,将其选中。然后,输入下列值。


       


       
                位置(Location):
               
               
                X:230,Y:-67,Z:79
               
       

       
                强度(Intensity):
               
               
                128
               
       



接下来,我们将添加一个 聚光灯。聚光灯位于“模式”(Modes)面板的 光源(Lights)部分中点光源的正下方。您可以像添加点光源一样,将聚光灯添加到屏幕。添加聚光灯之后,请输入下列值。


       


       
                位置(Location):
               
               
                X:-320,Y:100,Z:-270
               
       

       
                旋转(Rotation):
               
               
                X:0,Y:50,Z:0
               
       

       
                强度(Intensity):
               
               
                39764
               
       



完成后,您应该看到类似下图的内容。


       
材质编辑器 - 在材质中使用次表面轮廓
材质编辑器 - 在材质中使用次表面轮廓





所有光源现已添加完毕,我们现在可以添加用来执行测试的静态网格。在本示例中,我们将使用下列网格。


StaticMesh'/Game/StarterContent/Props/SM_Chair.SM_Chair'


       
如果您找不到 SM_Chair 网格,那么可能是因为您未将起步内容包括在您的项目中。
要了解更多关于起步内容的信息,请参阅 起步内容
文档页面。



找到该网格后,请将其从 内容浏览器 拖放到关卡中。
放入关卡后,请将其位置设置为环境中的 0,0,0。
完成后,您的关卡视口应该如下所示。
材质编辑器 - 在材质中使用次表面轮廓



静态网格现已放入关卡,我们现在可以对其应用次表面材质。
为此,请先在 内容浏览器 中找到次表面材质。
找到该材质后,请将其从 内容浏览器 拖放到网格上,以应用该材质。

调整次表面轮廓


将材质实例应用于椅子之后,现在可以调整次表面轮廓设置。
为此,我们首先需要在 内容浏览器 中使用 鼠标左键双击 该次表面轮廓,以将其打开。
执行此操作时,您应该会看到类似于下图的显示内容。


材质编辑器 - 在材质中使用次表面轮廓



您可使用 鼠标左键 单击要编辑的属性以显示取色器,从而调整 次表面轮廓 的属性。


散射半径(Scatter Radius):执行散射的距离(采用世界空间单位)。


次表面颜色(Subsurface Color):次表面颜色可用作次表面效果的蒙版或权重。黑色表示不会发生次表面散射。
白色表示所有光线都进入材质并向四周散射。非灰阶值可以对进入表面的
颜色成分进行更多控制,从而产生外观更加复杂的明暗处理。


衰减颜色(Falloff Color):衰减颜色用于定义光线进入材质后的材质散射颜色。
如果您希望在看到散射的区域实现更加复杂的明暗变化,那么应该避免在此处使用鲜艳的颜色。


请记住,您可以实时调整次表面轮廓的参数,如下所示。

提示与技巧


次表面轮廓的渲染方式决定了您需要了解一些提示与技巧,才能充分地加以利用。

散射半径


将次表面轮廓的 散射半径(Scatter Radius)设置为相当大的数值将导致下图所示的渲染错误。
材质编辑器 - 在材质中使用次表面轮廓



在左侧的图中,“散射半径”(Scatter Radius)设置为 50。
请注意,这看起来就像是在表面渲染了多幅图像一样。
现在,看一下右图。在此图中,“散射半径”(Scatter Radius)设置为 5.0。
请注意,图像看上去更加柔和更加自然。这就是我们尝试实现的效果类型。

将材质实例与次表面轮廓相结合


将材质实例与次表面轮廓结合使用是一种相当不错的方法,这样就可以
对结果进行最大程度的控制,其原因如下。


材质实例允许您实时地调整值,这样就可以更迅速地看到结果。


您可使用 不透明(Opacity)输入来限制次表面对表面的影响。但是,建议您保持此值设置为 1,并在次表面轮廓内调整参数。仅当您发现单单调整次表面轮廓无法实现所需的结果时,才应调整此值。


每个取色器的 值(Value)滑块都控制次表面效果的影响范围。这个值设置得越接近白色,效果越显著。这个值设置得越接近黑色,效果就越不明显。


   
        
            

   

材质编辑器 - 在材质中使用次表面轮廓

   




    相关页面


            
            

   
  
     

         次表面轮廓明暗处理模型
     


  
     

         次表面明暗处理模型
     


  
     

         1.13 - 次表面颜色
     


  
     

         1.7 - 不透明度和次表面材质
     


     

            
        
   




                                       
                                       
完整内容索引
                                       
                               
                       
                       
            

            
            

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


    使用条款 | 隐私政策

            
        
               
       
   
回复

使用道具 举报

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

本版积分规则

 
 



邮件留言:


 
返回顶部