您好,欢迎访问三七文档
材质概要材质概要o概述o参数o当创建材质时如何考虑颜色o材质表达式Abs(求绝对值)添加AntialiasedTextureMaskAppendVector(向量合并)BumpOffset(凸凹偏移)CameraVector(相机位置向量)CameraWorldPosition(相机的世界位置)Ceil(值上限取整)Clamp(区间值限定)ComponentMask(分量蒙板)Constant(常量)Constant2Vector(二维常数向量)Constant3Vector(三维常数向量)Constant4Vector(四维常数向量)ConstantBiasScale(常数偏移比例)ConstantClamp(常数区间)Cosine(余弦)CrossProduct(叉积)Custom(自定义)CustomTexture(自定义贴图)DepthBiasBlend(深度偏移混合)DepthBiasAlpha(深度偏移Alpha)DepthBiasedBlend(深度偏移混合)DeriveNormalZ(计算法线向量Z)Desaturation(冲淡颜色)DestColor(目标色)DestDepth(目标深度)Distance(距离)Divide(除法)DotProduct(点积)DynamicParameter(动态参数)FlipBookSample(翻书采样)Floor(值下限取整)FluidNormalFModFoliageNormalizedRotationAxisAndAngleFoliageImpulseDirection(植被冲力的方向)FontSampler(字体取样器)Frac(取小数值)Fresnel(菲涅尔)FunctionInputFunctionOutputIfLensFlareIntensity(镜头眩光亮度)LensFlareOcclusion(镜头眩光遮挡)LensFlareRadialDistance(镜头眩光半径距离)LensFlareRayDistance(镜头眩光光线距离)LensFlareSourceDistance(镜头眩光源距离)LightmapUV(光照贴图UV)LightmassReplace(Lightmass替换)LightVector(光照向量)LinearInterpolate(线性插值)MaterialFunctionCallMeshEmitterDynamicParameterMeshEmitterVertexColor(网格物体发射器顶点颜色)MeshSubUV(网格物体子UV)MeshSubUVBlendMultiply(乘法)Normalize(单位化)ObjectOrientation(物体朝向)ObjectRadius(物体半径)ObjectWorldPosition(物体在世界空间中的位置)OcclusionPercentage(遮挡百分比)OneMinus(一减去)Panner(平移器)ParticleMacroUV(粒子的巨大UV)ParticleSubUV(粒子子UV)PerInstanceRandomPixelDepth(像素深度)Power(求幂值)ReflectionVector(反射向量)Rotator(旋转器)RotateAboutAxis(围绕坐标轴旋转)ScalarParameter(标量参数)SceneDepth(场景深度)SceneTexture(场景贴图)ScreenPosition(屏幕位置)Sine(正弦)SphereMask(球形蒙板)SquareRoot(平方根)挖空StaticBoolStaticBoolParameterStaticComponentMaskParameter(静态分量蒙板参数)StaticSwitchParameter(静态开关参数)StaticSwitchTextureCoordinate(贴图坐标)TextureSample(贴图样本)TextureSampleParameter2D(贴图样本参数:2D)TextureSampleParameterCube(贴图样本参数:立方体)TextureObjectTextureObjectParameter(贴图对象参数)TextureSampleParameterMeshSubUV(贴图样本参数网格物体子UV)TextureSampleParameterMeshSubUVBlend(贴图样本参数网格物体子UV混合)TextureSampleParameterMovie(贴图样本参数:影片)TextureSampleParameterNormal(贴图样本参数:法线)TextureSampleParameterSubUV(贴图样本参数:子UV)Time(时间)Transform(变换)TransformPosition(变换位置)TwoSidedSign(双面符号)WorldPosition(世界位置)WorldNormal(世界法线)VectorParameter(向量参数)VertexColor(顶点颜色)WindDirectionAndSpeed(风的方向和速度)概述这个页面是材质编辑器中所有可用的材质表达式节点的参考。材质表达式是用于在虚幻引擎3中创建完全作用的材质的构建块。每个材质表达式都是一个自包含的黑盒,可以输出一组一个或多个特定值,或者在一个或多个输出上执行单独操作然后输出操作结果。其他您可能感兴趣的页面包括材质教程和材质示例页面,其中包含有关如何结合节点实现各种材质效果的示例和教程。要获得关于如何使用材质编辑器本身的信息,请参照材质编辑器用户指南。如果您是一个程序员,请查看创建材质表达式页面了解关于如何创建新的材质表达式的详细信息。参数特定材质表达式为参数,也就是说可以在包含参数的基础材质的MaterialInstance中修改它们的值(有时会在运行过程中动态进行修改)。应该通过ParameterName(属性名称)属性为这些表达式赋予唯一的名称,当识别MaterialInstance中的特定参数时使用。如果同一类型的两个参数在同一个材质中具有相同的名称,那么将会认为它们是同一个参数。更改MaterialInstance中的参数值将会同时更改这个材质中的这两个参数表达式的值。这个参数的默认值也会在基础材质中进行设置。它将会是MaterialInstance中的参数值,除非这里的值被覆盖修改。请参阅实例化材质和材质实例常量页面。当创建材质时如何考虑颜色在UE3中考虑材质时,请记住许多表达式是在每个通道上是独立操作的。比如Add(加)节点有两个输入,在每个通道上把它们加在一起。如果您使两个RGB颜色(3个通道向量值)相加,那么输出的颜色将会是:(Red1+Red2,Green1+Green2,Blue1+Blue2)。把基于每个通道的操作当成在一个灰度化值上的操作看待。执行基于每个通道操作的节点通常需要输入端有相同数量的通道。比如,您可以将一个RGB颜色加到另一个RGB颜色,但是您不能把一个RGBA颜色和一个RGB颜色相加,因为RGB颜色没有alpha通道。这个规则有一个例外是当其中的一个输入端是单通道(灰度)值时,我们可以把它应用于任何东西。所以,您可以把0.1和RGB颜色(0.2,0.3,0.5)相加获得(0.3,0.4,0.6)。另一个需要记住的事情是虚幻引擎中的颜色是floatingpoint(浮点型)--换句话说,颜色不再使它的RGB值在[0,255]范围内。相反,RGB值可以是任何值--0.4,-1.2,3.4--,在这里0.0意味着黑色/没有颜色(指在旧机制中的0),1.0意味着全彩色(是指旧机制中的255)。那也就是说,使值大于1.0是完全有效的—值越大颜色越亮!过去(255,0,0)代表红色,在虚幻引擎中,红色是(1.0,0.0,0.0),更亮的红色是(3.0,0.0,0.0)。颜色也可以是负值!您可以把负值的颜色作为removing(移除)颜色的一种方式。比如,您可以把(-0.5,0.0,0.0)加到一个贴图上来把贴图中所有的红色降低0.5。中间表达式是以浮点型进行计算的,但是材质的最终输出颜色的每个通道将在[0.1]区间内,这里的0没有贡献,1有全部贡献。任何大于1的值将会产生同样的颜色,但是颜色是根据通过的光溢出亮度进行选取,而且然后通道的数量直接影响光溢出的贡献。材质表达式1.Description-所有材质表达式都有一个通用的Desc(描述)属性。在这个属性中输入的文本将会在工作区内的表达式上方的材质编辑器里面显示。可以出于任何目的使用它,但是通常最好对使用意图或表达式的函数进行简短说明。2.Titlebar-可以显示名称和/或有关材质表达式的属性的相关信息。3.Outputs-连接输出材质表达式操作的结果。4.Preview-可以显示材质表达式输出的值的预览。在启动实时更新的情况下自动进行更新。可以使用Spacebar(空格键)进行手动更新。5.Inputs-连接选取要供材质表达式使用的值。Abs(求绝对值)Abs是数学术语“绝对值”的缩写。Abs表达式可以输出这个绝对值,或者它接收到的输出端的不带符号的值。基本上,这就意味着它会通过去掉减号将负数变为正数,而正数和零保持不变。示例:-0.7的绝对值是0.7;-1.0的绝对值是1.0;1.0的绝对值是1.0示例使用:求绝对值运算通常与点积结合使用。点积的范围是从-1..0..1,点积的绝对值的范围是1..0..1。添加Add(加法)表达式会选取两个输入,将它们相加,然后输出这个结果。这个加操作基于每个通道进行执行,也就是说输入端'R通道要被加进去,G通道要被加进去,B通道加进去等等。这两个输入必须有相同数量的通道,除非它们其中有一个是单独的常量值。可以将常量与一个具有任意个输入的向量相加。输入A-选取要进行加法运算的值。B-选取被加数。示例:0.2与0.4相加的结果是0.6;(0.2,-0.4,0.6)与(0.1,0.5,1.0)相加的结果是(0.3,0.1,1.6);(0.2,-0.4,0.6)与1.0相加的结果是(1.2,0.6,1.6)示例使用:加法运算通常用于加强/减弱颜色或偏移UV贴图坐标。AntialiasedTextureMaskAntialiasedTextureMask表达式允许您使用一个软(抗锯齿)过渡蒙板创建材质。可以使用蒙板在两个复杂的材质属性之间混合,或者淡出一个alpha混合的材质(使用SoftMasked可以正常工作)。只需指定已经在一个通道(红、绿、蓝或alpha)中指定蒙板的贴图,在表达式中设置使用的通道,然后指定比较值。假设通道可以在0=黑色到1=白色的范围内存储灰度值,比较函数可以定义最终蒙板应该是0还是1。这个表达式是一个参数,允许Texture(贴图)属性被子项MaterialInstance覆盖。属性Threshold-指定在像素覆盖中作为截断点使用的值。像素覆盖值小于这个值将会变黑;大于这个值的话将会变白。Channel-可以指定要作为蒙板使用的贴图的通道。Texture-指定要使用的蒙板贴图。输入UVs-选取要应用到贴图蒙板上的贴图坐标。伪代码:Result=1ifTextureLookupThresholdthenResult=0实际的执行函数稍微有点复杂,因为它会尝试根据实际像素覆盖返回0和1之间的值来避免出现锯齿现象。示例(这个128x128的小贴图,为了保证质量最好未进行压缩):作为一个法线贴图(左上角),与描述的材
本文标题:UE4材质教程
链接地址:https://www.777doc.com/doc-2864372 .html