UDK入门--材质编辑器用户指南-2_/*蜉游天地*/_百度空间
预览面板

材质预览面板显示了正在编辑的并被应用到一个网格物体上的材质。通过拖拽鼠标左键来旋转网格物体;通过拖拽鼠标的中间键来平移网格物体;通过拖拽鼠标右键来缩放网格物体。通过按下L并拖拽鼠标左键来旋转光源的方向。

用于预览的网格物体可以通过使用相应的工具条控制按钮来改变(形状按钮、“选择预览网格物体”、及“使用选中的及静态网格物体”按钮)。用于预览的网格物体和材质一同被保存,以便下次您在材质编辑器中打开材质时,材质会在同样的网格物体上进行预览。


属性面板

这个面板包含了一个选中的材质表达式的属性窗口。如果没有选中表达式,正在编辑的材质属性将显示在该面板上。


材质

应用
应用属性标记允许您将材质和具有不同网格物体类型或渲染技术一同使用。有几个类别。

用于控制渲染行为并且和其它标记相互排斥的标记。

bUsedAsLightFunction(是否用于作为光照函数)
bUsedWithFogVolumes(是否和雾体积一同应用)
bUsedWithDecals(是否和Decals一同应用)
特殊标记:

bUsedWithGammaCorrection(是否使用Gamma校正) -在着色尾部进行gamma校正。这仅对用到LDR UI scenes的材质是必要的。
bUsedWithMaterialEffect(是否和材质{tx}一同使用) -允许材质读取场景深度和场景颜色,即使材质是不透明的。
其它的所有标记仅仅是针对特定的网格物体类型对那个材质增加的一些支持。比如,选中 bUsedWithStaticLighting 允许您在具有光照贴图的静态网格物体或BSP上应用材质。在内部它们将导致相应网格物体类型所需要的着色器被编译。当您把材质应用到需要设置一些标记的网 格物体上时,编辑器将会根据需要来设置这些标记,然后材质将会被标记为dirty(材质已经被改变),因为它需要进行保存。

注意: 在游戏中这些标记不会被自动地被设置,如果没有设置适当的标志,则使用默认的材质!将会有一个详细的关于这个问题的日志警告来告诉您哪些材质存在问题以及它需要哪些标记。
材质表达式面板
这个面板包含着一系列的材质表达式,它们通过"拖拽并落下"的操作被放置在材质中。要想放置一个新的材质表达式节点。左击要放置的材质表达式类型,并拖拽鼠标到图表面板,然后释放。


材质表达式图表面板
这个面板包含了一个属于这个材质的所有的材质表达式的图表。在这个材质中所应用的着色器指令的数量显示在左上角。指令的数量越少,材质的消耗越小。没有连接到基础材质表达式节点的材质表达式节点不被算入到这个材质的指令数量(消耗)中。


控制
材质编辑器中的控制基本和UnrealEd中的其它工具的控制相匹配。比如,材质表达式图表可以像其他包含相互连接的对象的编辑器那样进行导航,材质预览网格物体可以像其它的网格物体工具那样改变其方向等等。


鼠标控制
在背景上点击并拖拽  平移材质表达式图表  
鼠标滚轮  缩放控制  
押下鼠标左键和右键并进行拖拽  缩放控制  
点击一个对象  选中 表达式/注释  
按下Ctrl并点击一个对象  切换表达式/注释的选择情况  
按下Ctrl并拖拽  移动当前 选项/注释  
按下Ctrl和Alt并拖拽  通过鼠标拖动的方盒进行区域选择  
按下Ctrl、Alt和Shift键并拖拽  通过鼠标拖动的方盒进行区域选择(添加到当前的选项中)  
点击并拖拽连接器  创建连接(在连接器或变量处释放)  
右击背景  弹出New Expression(新建表达式)菜单  
右击对象  弹出对象菜单  
右击连接器  弹出连接器菜单  
按下Alt键并点击连接器  断开到这个连接器的所有连接  
在预览面板按下L并拖拽鼠标  旋转预览光源的方向  



键盘控制
Ctrl-C  复制选中的表达式  
Ctrl-V  粘帖  
Ctrl-W  克隆选中的对象  
Delete  删除选中的对象  
Ctrl-Z  取消  
Ctrl-Y  重复  
Spacebar(空格键)  强制更新所有材质表达式的预览  
C + 左击  ComponentMask (分量蒙板表达式)  
S +左击  ScalarParameter (标量参数表达式)  
Enter(回车)  (和点击’应用’按钮的作用一样)  
Shift + C + 左击  在选项旁边创建注释框  
E + 左击  Power (幂函数)  
R + 左击  Reflection Vector(反射向量)  
U + 左击  Texture Coordinate(贴图坐标)  
V + 左击  Vector Parameter(向量参数)  




热键
有一些热键用于放置经常使用的材质表达式。按下热键并左击来放置节点:

A  Add(加法)  
B  BumpOffset(凸凹偏移)  
D  Divide(除法)  
I  If (条件表达式)  
L  LinearInterpolate(线性插值)  
M  Multiply (乘法)  
N  Normalize (单位化)  
O  OneMinus(一减去)  
P  Panner(平移器)  
S  Subtract (减法)  
T  TextureSample(贴图采样)  
1  Constant (常量)  
2  Constant2Vector(二维常数向量)  
3  Constant3Vector(三维常数向量)  
4  Constant4Vector (四维常数向量)
表达式注释

注释是说明您的材质作用的{zh0}方法,它使您或其他人更容易地理解可能非常复杂的材质图表。注释以蓝色的文字出现在相应节点的上方。注释的渲染是不依赖于缩放的,这使得导航复杂的材质图表变得更加容易。


材质表达式节点可以分别地进行注释,通过在那个节点的"Desc(描述)"属性中输入文本即可。 通过选中几个节点并点击‘C’键来为一组节点来分配组注释。在"New Comment(新建注释)"对话框中输入注释文本并点击确定按钮。选中的节点将被分组在一个注释框中。可以通过在组注释文本上进行拖拽来移动在组注释中 的节点。通过拖拽在注释框架右下角的黑色三角形可以重新设定框架的大小。在一个组注释中的任何节点将随着边框移动,所以您可以调整现有框架的大小来包含新 的节点。 通过选择注释然后修改属性窗口中的"Text(文本)"属性可以重命名注释。

表达式预览


在材质编辑器中的节点的左上角有一个小方框。这个方框暗示着节点的bRealtimePreview(实时预览)属性:黄色意味着启用该属性,黑色意味这 禁用该属性。 无论何时材质以任何方式改变(创建、删除、连接一个节点及改变属性等等),所有启用了bRealtimePreview(实时预览)功能的节点都会重新编 译它们的着色器。这个重新编译的过程一定会发生,意味这样在那个节点处的材质预览描画才会更新。然而,重新编译这些中间的着色器是很消耗时间的,尤其是如 果您的材质包含许多节点时。所以,为了避免冗长的工作流程,除了TextureSample以外的所有节点默认情况下都是禁用 bRealtimePreview(实时预览)功能的。 您可以通过点击空格键来强制更新所有预览。所以,通过禁用尽可能多的节点的bRealtimePreview(实时预览功能)可以获得快速的迭代。

您可以通过点击在节点左上角的小方框或者通过使用选中节点的属性窗口来启用bRealtimePreview(实时预览)功能.
您可以使用"Toggle Expression Realtime Preview(切换表达式实时预览)"全局地控制所有节点的实时预览功能。
Material Properties (材质属性)

PhysMaterial (物理材质)
和这个材质相关的物理材质。请参照物理材质系统。


OpacityMaskClipValue(不透明蒙板剪切值)
这是遮挡材质的OpacityMask(不透明蒙板)输入端基于每个像素进行比较剪切的参考值。任何比OpacityMaskClipValue值大的值都会通过并且将描画这个像素,任何比它小的值,都将会失败,那个像素也将被丢弃。


BlendMode(混合模式)
BlendMode (混合模式)描述了当渲染时当前材质的输出和已经在帧缓冲(目标颜色)的东西如何进行结合。



BLEND_Opaque - Final color = Source color 这个混合模式和光照兼容。
BLEND_Masked - Final color = Source color 如果OpacityMask < OpacityMaskClipValue,则像素将会被丢弃。这个混合模式和光照兼容。
BLEND_Translucent - Final color = Source color * Opacity + Dest color * (1 - Opacity) 这个混合模式不能喝动态光照相兼容。
BLEND_Additive - Final color = Source color + Dest color 这个混合模式不能和动态光照相兼容。
BLEND_Modulate - Final color = Source color * Dest color 除非这个材质是一个decal材质,否则这个混合模式不能和动态光照、雾相兼容。

光照模型
光照模型决定了材质输入(比如Emissive(自发光), Diffuse(漫反射), Specular(高光), Normal(法线))是如何相互结合来生成最终颜色的。


MLM_Phong - 默认的光照模式,计算每个像素的漫反射和高光。
MLM_NonDirectional - 仅计算每个像素的漫反射,不计算高光。表面法线在光照等式中也不是一个因素。这项当前仅对动态照亮的材质有效。
MLM_Unlit -仅计算自发光,任何半透明混合模式都需要这个光照模型。
MLM_SHPRT -已废弃
MLM_Custom -允许使用任何光照模型,请参照自定义光照。
MLM_Anisotropic -用于像头发或拉绒金属这样的各项异性材质,请参照各项异性的光照

TwoSided(双面)
在背面上法线将会被翻转,这意味在正面和反面都进行光照计算。这项功能经常在植被上进行应用,可以阻止是多边形的数量加倍。Two Sided(双面)在静态光照上并不能很好地进行工作,因为静态光照仅在一个半球内存储入射光线。结果,具有静态光照的双面材质在同样地被遮挡。


线框
材质将在线框内进行渲染。


半透明

bDisableDepthTest(禁用深度测试)
允许材质禁用深度测试,这项仅对半透明混合模型有用。禁用深度测试时,由于遮挡的像素不会被剔除将会使渲染变得非常的慢。


bAllowFog(允许雾)
材质是否可以受到雾的影响。这项仅对使用半透明混合模型的材质有效。


bUseOneLayerDistortion(使用一个层变形)
材质是否应该使用一个层变形(One layer distortion),这对于某些图源类型(主要是流体表面)来说要比正常的变形更加便宜。一个层变形(One layer distortion)将不能正确地处理重叠的one layer distortion(一个层变形)图元。这样将导致一个额外的场景颜色来解决使用one layer distortion(一个层变形)的{dy}个图元,所以这项应该仅在非常特殊的情况下才使用。


FallbackMaterial(后备材质)
当编译shader model 2的材质时,每个材质的编译都是不能改变的。如果由于shader model导致编译失败,(太多指令等等),那么高光、法线、漫反射及自发光都会被丢弃,一次一个,直到材质编译完成。如果漫反射必须被丢弃那么它会被替 换为绿色,如果自发光必须被丢弃那么它必须被替换为红色。这个过程叫做自动后备材质或者生成后备材质。美术工作者可以通过指定Fallback Material(后备材质)来了覆盖这个过程,那样产生后备材质的过程将xx地被跳过,指定的后备材质直接在shader model 2显卡上进行应用。为了创建一个FallbackMaterial(后备材质),点击P 'Propagate to Fallback(传递给后备材质)'按钮。然后点击F'Open Fallback(打开后备材质)'来编辑后备材质。目前还没有办法删除以前创建的后备材质。
应用
这些标记用于最小化每个材质需要编译的着色器的数量。请认真地设置这些项,否则当您错误地使用时将会出现一些警告,比如:“材质blah和骨架网格物体一 同使用,但是却没有设置bUsedWithSkeletalMesh=True”。例如,如果一个材质没有设置 bUsedWithSkeletalMesh=True,但它被赋值给了一个静态网格物体,在编辑器中编辑器将会为您设置这个标记,并且材质将会重新进行 编译,并且标志为已改变状态。然而在游戏中将会使用默认的材质。


bUsedAsLightFunction(是否用作为光照函数)
意味着这个材质将会和光照函数一起使用。


bUsedAsSpecialEngineMaterial
意味着这个材质应该和所有的顶点工厂和材质组合物一起进行编译,基本上是说它可以应用于除了decals以外的任何图元类型。这将会导致编译大量的着色器(大约600个,而普通的材质使用大约30个),所以请节约使用。


bUsedWithSkeletalMesh(是否和骨架网格物体一同使用)
意味着这个材质将会和骨架网格物体一同使用。


bUsedWithParticleSystem(是否和粒子系统一同使用)
I意味着这个材质将会和粒子系统一同使用。


郑重声明:资讯 【UDK入门--材质编辑器用户指南-2_/*蜉游天地*/_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——