INTSourceChangelist:4615496 Availability:NoPublish Title: Crumbs: Description: [EXCERPT:UMaterialExpressionAtmosphericFogColor] 通过 Atmospheric Fog 材质表达式节点可在世界空间中的任意位置查询场景大气层雾的当前颜色。如未填入世界位置,则使用制作中像素的世界位置。此操作在需要材质隐入远处的雾气颜色时十分实用。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Atmosphere [/VAR] [/EXCERPT:UMaterialExpressionAtmosphericFogColor] [EXCERPT:UMaterialExpressionAtmosphericLightVector] Atmospheric Light Vector 材质表达式返回场景中定向光照的光照矢量(需勾选“Atmosphere Sun Light”)。适用于需要使用太阳的光照矢量执行自定义着色的特效材质。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Atmosphere [/VAR] [/EXCERPT:UMaterialExpressionAtmosphericLightVector] [EXCERPT:UMaterialExpressionAtmosphericLightColor] Atmospheric Light Color 材质表达式返回场景中定向光照的光照颜色(需勾选“Atmosphere Sun Light”)。适用于需要使用太阳的光照颜色执行自定义着色的特效材质。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Atmosphere [/VAR] [/EXCERPT:UMaterialExpressionAtmosphericLightColor] [EXCERPT:UMaterialExpressionDesaturation] Desaturation 表达式可减少其输入的饱和度,或将其输入的颜色基于特定百分比转换为灰色阴影。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Color#desaturation [/VAR] [/EXCERPT:UMaterialExpressionDesaturation] [EXCERPT:UMaterialExpressionConstant] Constant 表达式输出单一浮点值。它使最常用的表达式之一,可连接到任意输入,无视输入需要的通道数量。举例而言,如果将一个常量连接到一个需要 3 个矢量的输入,常量值将用于全部 3 个元素。提供单个数字时,使用描述区域中的小三角形图表重叠节点可能较为实用。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Constant#constant [/VAR] [/EXCERPT:UMaterialExpressionConstant] [EXCERPT:UMaterialExpressionConstant2Vector] Constant2Vector 表达式输出一个两通道矢量值(换言之即为两个常数)。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Constant#constant2vector [/VAR] [/EXCERPT:UMaterialExpressionConstant2Vector] [EXCERPT:UMaterialExpressionConstant3Vector] Constant3Vector 表达式输出一个三通道矢量值(换言之即为两个常数)。一个 RGB 颜色可被看作是一个 Constant3Vector,在此表达式中每个通道均被指定到一个颜色(红、绿、蓝)。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Constant#constant3vector [/VAR] [/EXCERPT:UMaterialExpressionConstant3Vector] [EXCERPT:UMaterialExpressionConstant4Vector] Constant4Vector 表达式输出一个四通道矢量值(换言之即为两个常数)。一个 RGBA 颜色可被看作是一个 Constant4Vector,在此表达式中每个通道均被指定到一个颜色(红、绿、蓝、透明)。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Constant#constant4vector [/VAR] [/EXCERPT:UMaterialExpressionConstant4Vector] [EXCERPT:UMaterialExpressionDistanceCullFade] DistanceCullFade 表达式输出一个从黑色淡入为白色的标量值,可用于在物体进入剔除距离时对其进行淡入。须注意:它无法对物体进行淡出。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Constant#distancecullfade [/VAR] [/EXCERPT:UMaterialExpressionDistanceCullFade] [EXCERPT:UMaterialExpressionParticleColor] ParticleColor 表达式基于级联中定义的任意逐粒子颜色数据嵌入给定粒子的当前颜色。这必须插入适当的通道(自发光颜色)。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Constant#particlecolor [/VAR] [/EXCERPT:UMaterialExpressionParticleColor] [EXCERPT:UMaterialExpressionParticleDirection] ParticleDirection 表达式在逐粒子的基础上输出 3vector(RGB)数据,代表给定粒子当前行进的方向。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Constant#particledirection [/VAR] [/EXCERPT:UMaterialExpressionParticleDirection] [EXCERPT:UMaterialExpressionParticleMotionBlurFade] ParticleMotionBlurFade 表达式输出的值代表粒子上作为动态模糊效果的渐显量。数值 1 代表无动态模糊,黑色代表完全模糊。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Constant#particlemotionblurfade [/VAR] [/EXCERPT:UMaterialExpressionParticleMotionBlurFade] [EXCERPT:UMaterialExpressionParticleRadius] ParticleRadius 表达式输出每个粒子的单独半径(虚幻单位)。举例而言,这能实现半径到达特定点时对材质进行修改。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Constant#particleradius [/VAR] [/EXCERPT:UMaterialExpressionParticleRadius] [EXCERPT:UMaterialExpressionParticleRelativeTime] ParticleRelativeTime 表达式输出一个 0 到 1 之间的数字,代表粒子的年龄,0 是生成的时间,1 是消亡的时间。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Constant#particlerelativetime [/VAR] [/EXCERPT:UMaterialExpressionParticleRelativeTime] [EXCERPT:UMaterialExpressionParticleSize] Particle Size 表达式输出粒子 sprite 的 X 轴和 Y 轴尺寸。这可用于驱动材质的一些方面。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Constant#particlesize [/VAR] [/EXCERPT:UMaterialExpressionParticleSize] [EXCERPT:UMaterialExpressionParticleSpeed] ParticleSpeed 输出每个粒子当前运行的速度,以虚幻单位/秒计。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Constant#particlespeed [/VAR] [/EXCERPT:UMaterialExpressionParticleSpeed] [EXCERPT:UMaterialExpressionPerInstanceFadeAmount] PerInstanceFadeAmount 表达式输出一个浮点值,此值与应用到一个实例化静态网格体(如植物)的渐显量相关联。它是常量,但可成为每个模型单独实例的不同数字。 注意:这只在应用到一个 InstancedStaticMesh Actor 或利用 InstancedStaticMeshComponents 的其他 Actor 时可用。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Constant#perinstancefadeamount [/VAR] [/EXCERPT:UMaterialExpressionPerInstanceFadeAmount] [EXCERPT:UMaterialExpressionPerInstanceRandom] PerInstanceRandom 表达式将每个静态网格体实例的不同随机浮点值输出到材质应用之处。InstancedStaticMeshComponent 为实例设置一个随机浮点值,此值将被公开,以便在需要时进行使用(如窗口后的随机光照度)。它是常量,但可成为模型每个实例的不同数字。 针对目标平台,输出值将会是 0 到 RAND_MAX 之间的一个整数。 注意:这只在应用到一个 InstancedStaticMesh Actor 或利用 InstancedStaticMeshComponents 的其他 Actor 时可用。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Constant#perinstancerandom [/VAR] [/EXCERPT:UMaterialExpressionPerInstanceRandom] [EXCERPT:UMaterialExpressionTime] Time 节点用于将时间通道添加到材质,如 Panner、Cosine,或其他基于时间的运算。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Constant#time [/VAR] [/EXCERPT:UMaterialExpressionTime] [EXCERPT:UMaterialExpressionTwoSidedSign] TwoSidedSign 表达式适用于在两面自定义灯光材质的背面上翻转法线,以匹配 Phong 的功能。对两面材质的正面 +1、背面 -1。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Constant#twosidedsign [/VAR] [/EXCERPT:UMaterialExpressionTwoSidedSign] [EXCERPT:UMaterialExpressionVertexColor] VertexColor 表达式是材质对影响 sprite 粒子发射器的颜色模块输出进行访问的点。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Constant#vertexcolor [/VAR] [/EXCERPT:UMaterialExpressionVertexColor] [EXCERPT:UMaterialExpressionActorPositionWS] ActorPositionWS 输出代表物体(带此材质)在世界空间中位置的 3vector(RGB)数据。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Coordinates#actorpositionws [/VAR] [/EXCERPT:UMaterialExpressionActorPositionWS] [EXCERPT:UMaterialExpressionCameraPositionWS] CameraWorldPosition 表达式输出一个代表世界空间中摄像机位置的三通道矢量值。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Coordinates#camerapositionws [/VAR] [/EXCERPT:UMaterialExpressionCameraPositionWS] [EXCERPT:UMaterialExpressionLightmapUVs] LightmapUVs 表达式以两通道矢量值的形式输出光照图 UV 纹理坐标。如光照图 UV 不可用,它将输出一个(0,0)的两通道矢量值。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Coordinates#lightmapuvs [/VAR] [/EXCERPT:UMaterialExpressionLightmapUVs] [EXCERPT:UMaterialExpressionObjectOrientation] ObjectOrientation 表达式输出物体的世界空间向上矢量。换言之,该方向是材质所应用物体的本地正 Z 轴朝向的方向。对于延迟贴花,材质域将返回贴花投射方向(X 轴)。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Coordinates#objectorientation [/VAR] [/EXCERPT:UMaterialExpressionObjectOrientation] [EXCERPT:UMaterialExpressionObjectPositionWS] ObjectPositionWS 表达式输出物体边界的世界空间中心位置。举例而言,这适用于创建植物球形光照。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Coordinates#objectpositionws [/VAR] [/EXCERPT:UMaterialExpressionObjectPositionWS] [EXCERPT:UMaterialExpressionObjectRadius] 物体半径输出的值等于给定物体的半径(虚幻单位)。这将考虑到缩放,每个单独物体的结果都有所不同。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Coordinates#objectradius [/VAR] [/EXCERPT:UMaterialExpressionObjectRadius] [EXCERPT:UMaterialExpressionPanner] Panner 表达式输出可用于创建平移,或移动、纹理的 UV 纹理坐标。 Panner 生成根据 Time 输入变化的 UV。Coordinate 输入可用于操作(如偏移)Panner 节点生成的 UV。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Coordinates#panner [/VAR] [/EXCERPT:UMaterialExpressionPanner] [EXCERPT:UMaterialExpressionParticlePositionWS] ParticlePositionWS 表达式输出代表世界空间中每个单独粒子位置的 3vector(RGB)数据。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Coordinates#particlepositionws [/VAR] [/EXCERPT:UMaterialExpressionParticlePositionWS] [EXCERPT:UMaterialExpressionPixelNormalWS] PixelNormalWS 表达式基于当前法线输出代表像素朝向方向的矢量数据。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Coordinates#pixelnormalws [/VAR] [/EXCERPT:UMaterialExpressionPixelNormalWS] [EXCERPT:UMaterialExpressionRotator] Rotator 表达式以一个两通道矢量值的形式输出 UV 纹理坐标。该矢量值可用于创建旋转纹理。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Coordinates#rotator [/VAR] [/EXCERPT:UMaterialExpressionRotator] [EXCERPT:UMaterialExpressionSceneTexelSize] 通过 SceneTexelSize 表达式能按纹素尺寸进行偏移,正如使用 SceneColor 和 SceneDepth 表达式时进行的操作。这适用于在多分辨率系统中进行边缘检测。如没有此算法,则会强制使用一个小的静态值,导致在低分辨率下出现不稳定效果。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Coordinates#scenetexelsize [/VAR] [/EXCERPT:UMaterialExpressionSceneTexelSize] [EXCERPT:UMaterialExpressionScreenPosition] ScreenPosition 表达式输出当前渲染像素的屏幕空间位置。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Coordinates#screenposition [/VAR] [/EXCERPT:UMaterialExpressionScreenPosition] [EXCERPT:UMaterialExpressionTextureCoordinate] TextureCoordinate 表达式以两通道矢量值的形式输出 UV 纹理坐标。此值允许材质使用不同的 UV 通道、指定平铺,另外在模型的 UV 上进行运算。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Coordinates#texturecoordinate [/VAR] [/EXCERPT:UMaterialExpressionTextureCoordinate] [EXCERPT:UMaterialExpressionVertexNormalWS] VertexNormalWS 表达式输出世界空间顶点法线。它只能用于在顶点着色器中执行的材质输入中,如 WorldPositionOffset。这适用于使模型放大或缩小。注意:沿法线偏移位置将导致几何体沿 UV 接缝分离。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Coordinates#vertexnormalws [/VAR] [/EXCERPT:UMaterialExpressionVertexNormalWS] [EXCERPT:UMaterialExpressionViewProperty] ViewProperty 表达式输出一个依赖于画面的常量属性。可访问的画面属性可以进行配置,输出的类型依赖于配置的访问属性。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Constant#viewproperty [/VAR] [/EXCERPT:UMaterialExpressionViewProperty] [EXCERPT:UMaterialExpressionViewSize] ViewSize 表达式输出一个 2D 矢量,给出当前画面的大小(以像素为单位)。这适用于基于当前的屏幕分辨率在材质中进行诸多修改。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Coordinates#viewsize [/VAR] [/EXCERPT:UMaterialExpressionViewSize] [EXCERPT:UMaterialExpressionWorldPosition] WorldPosition 表达式输出世界空间中当前像素的位置。把输出插入 Emissive 即可进行显示。 它的常见用法是找到从摄像机到一个像素的径向距离(与从 PixelDepth 的正交距离相反)。WorldPosition 也可用作纹理坐标,并使无关联的模型在相互靠近时使用纹理坐标匹配。这是使用 WorldPosition.xy 平面映射纹理的基础范例。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Coordinates#worldposition [/VAR] [/EXCERPT:UMaterialExpressionWorldPosition] [EXCERPT:UMaterialExpressionCustom] 通过 Custom 表达式可编写自定义 HLSL 着色器代码,在输入的任意量上进行运算,并输出运算结果。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Custom#custom [/VAR] [/EXCERPT:UMaterialExpressionCustom] [EXCERPT:UMaterialExpressionCustomTexture] 通过 CustomTexture 表达式能够在 Custom 表达式中引用 HLSL 代码中的一个纹理,典型的是使用 tex2D 或相似函数在 HLSL 中对其进行采样。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Custom#customtexture [/VAR] [/EXCERPT:UMaterialExpressionCustomTexture] [EXCERPT:UMaterialExpressionDecalDerivative] DecalDerivative 用于显式计算贴图纹理坐标的导数,假定不存在自定义 UV,避免 2x2 像素 mipmap 在贴图投射的边缘上出现穿帮,但仍然带各向异性过滤支持。 [VAR:ToolTipFullLink] Engine/Actors/DecalActor [/VAR] [/EXCERPT:UMaterialExpressionDecalDerivative] [EXCERPT:UMaterialExpressionDecalMipmapLevel] 不建议使用。建议使用 DecalDerivative。 [VAR:ToolTipFullLink] Engine/Actors/DecalActor [/VAR] [/EXCERPT:UMaterialExpressionDecalMipmapLevel] [EXCERPT:UMaterialExpressionDepthFade] DepthFade 表达式用于隐藏半透明物体与不透明物体相交时出现的不雅观接缝。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Depth#depthfade [/VAR] [/EXCERPT:UMaterialExpressionDepthFade] [EXCERPT:UMaterialExpressionPixelDepth] PixelDepth 表达式输出当前渲染像素的深度或到摄像机距离。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Depth#pixeldepth [/VAR] [/EXCERPT:UMaterialExpressionPixelDepth] [EXCERPT:UMaterialExpressionSceneDepth] SceneDepth 表达式输出现有的场景深度。这与 PixelDepth 相似,不同点是 PixelDepth 只可在当前绘制的像素上进行深度采样,而 SceneDepth 可在任意位置进行深度采样。 注意:只有半透明材质能使用 SceneDepth。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Depth#scenedepth [/VAR] [/EXCERPT:UMaterialExpressionSceneDepth] [EXCERPT:UMaterialExpressionFontSample] 通过 FontSample 表达式能将纹理页作为普通 2D 纹理从字体资源中采样出来。字体的透明通道将包含字体外框值。只能对有效的字体页面进行指定。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Font#fontsample [/VAR] [/EXCERPT:UMaterialExpressionFontSample] [EXCERPT:UMaterialExpressionFontSampleParameter] FontSampleParameter 表达式可在一个材质实例常量中公开基于字体的参数,使在不同实例中使用不同字体变得更为容易。字体的透明通道将包含字体外框值。只能对有效的字体页面进行指定。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Font#fontsampleparameter [/VAR] [/EXCERPT:UMaterialExpressionFontSampleParameter] [EXCERPT:UMaterialExpressionMaterialFunctionCall] 通过 MaterialFunctionCall 表达式能从另一个材质或函数使用外部 MaterialFunction。外部函数的输入和输出节点变为函数调用节点的输入和输出。放置这些表达式的其中一个时如果在 Content Browser 中选中了 MaterialFunction,它将被自动指定。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Functions#materialfunctioncall [/VAR] [/EXCERPT:UMaterialExpressionMaterialFunctionCall] [EXCERPT:UMaterialExpressionStaticBool] StaticBool 表达式用于提供函数中静态布尔函数输入的默认布尔值。此节点不会在内容间进行切换,因此它必须结合 StaticSwitch 节点使用。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Functions#staticbool [/VAR] [/EXCERPT:UMaterialExpressionStaticBool] [EXCERPT:UMaterialExpressionStaticSwitch] StaticSwitch 表达式的作用与 StaticSwitchParameter 相似,不同点是它只实现切换而不创建参数。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Functions#staticswitch [/VAR] [/EXCERPT:UMaterialExpressionStaticSwitch] [EXCERPT:UMaterialExpressionTextureObject] TextureObject 表达式用于提供一个进行采样的默认纹理。为实际从纹理对象进行采样,它必须结合 TextureSample 节点使用。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Functions#textureobject [/VAR] [/EXCERPT:UMaterialExpressionTextureObject] [EXCERPT:UMaterialExpressionLandscapeLayerBlend] 通过 LandscapeLayerBlend 节点能在单个节点中将多个地形层混合在一起,成为纹理或材质网络输入。如需了解更多内容,请查阅“使用 LandscapeLayerBlend 节点”。 可在 Details 面板中设置 LandscapeLayerBlend 节点的属性。此节点的属性包含一个阵列,以输入进行混合的层的信息。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Landscape#landscapelayerblend [/VAR] [/EXCERPT:UMaterialExpressionLandscapeLayerBlend] [EXCERPT:UMaterialExpressionLandscapeLayerCoords] LandscapeLayerCoords 节点生成 UV 坐标,该坐标可将材质网络映射到地形地貌上。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Landscape#landscapelayercoords [/VAR] [/EXCERPT:UMaterialExpressionLandscapeLayerCoords] [EXCERPT:UMaterialExpressionLandscapeLayerSwitch] 特定图层对地形中的一个区域不起作用时,LandscapeLayerSwitch 节点可将部分材质运算排除。特定图层权重为零时此节点可将不必要的计算移除,实现对材质的优化。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Landscape#landscapelayerswitch [/VAR] [/EXCERPT:UMaterialExpressionLandscapeLayerSwitch] [EXCERPT:UMaterialExpressionLandscapeLayerWeight] LandscapeLayerWeight 表现允许材质网络进行混合。混合的基础是从材质应用的地形上所获取的相关图层权重。如需了解更多内容,请查阅“使用 LandscapeLayerWeight 节点”。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Landscape#landscapelayerweight [/VAR] [/EXCERPT:UMaterialExpressionLandscapeLayerWeight] [EXCERPT:UMaterialExpressionLandscapeVisibilityMask] LandscapeVisibilityMask 节点用于移除部分地形的可见性,以便创建类似洞窟的洞穴地形。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Landscape#landscapevisibilitymask [/VAR] [/EXCERPT:UMaterialExpressionLandscapeVisibilityMask] [EXCERPT:UMaterialExpressionBreakMaterialAttributes] 使用分层材质(材质函数系统的一项功能)时 Break Material Attributes 表达式十分实用。在材质中使用一个 Material Layer 函数时,可能只需要使用层的一个方面。 举例而言,您可能只需要定义美观泛型材质的材质层,如钢铁。您可能只需要使用最终材质层中的 Roughness 和 Base Color 属性,而不使用全部内容。 在此情况下,可使用 Break Material Attributes 节点拆分材质层的所有传入属性,然后再插入需要的材质。这可进行诸多材质属性的复杂混合。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/MaterialAttributes#breakmaterialattributes [/VAR] [/EXCERPT:UMaterialExpressionBreakMaterialAttributes] [EXCERPT:UMaterialExpressionMakeMaterialAttributes] Make Material Attributes 节点的作用和 Break Material Attributes 节点完全相反。该节点的作用是将属性组合。这在创建自己的 Material Layer 函数时十分实用,因为您可以访问输出的全部标准属性。 这也可用于复杂材质设置,在这些设置中可定义材质的多个类型并将它们全部混合到一个材质中。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/MaterialAttributes#makematerialattributes [/VAR] [/EXCERPT:UMaterialExpressionMakeMaterialAttributes] [EXCERPT:UMaterialExpressionAbs] Abs 是数学术语“绝对值”的缩写。Abs 表达式输出它接收到输入的绝对值或无符号值。从本质上而言,这意味着它将去掉减号,把负数转化为正数;而正数和零则保持不变。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#abs [/VAR] [/EXCERPT:UMaterialExpressionAbs] [EXCERPT:UMaterialExpressionAdd] Add 表达式接受两个输入,将它们相加并输出结果。这个加法运算在逐通道基础上执行,意味着将加上输入的 R 通道、G 通道、B 通道,等等。两个输入必须拥有相同的通道数,除非其中一个为单一常量值。常量可加到拥有任意数量输入的矢量。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#add [/VAR] [/EXCERPT:UMaterialExpressionAdd] [EXCERPT:UMaterialExpressionAppendVector] 通过 AppendVector 表达式能对通道进行组合,创建通道数量多于原始的矢量。举例而言,您可以选取两个单个常量值并将它们附加,形成一个两通道 Constant2Vector 值。这可用于单个纹理中的通道重排序,或将多个灰度纹理组合成一个 RGB 颜色纹理。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#appendvector [/VAR] [/EXCERPT:UMaterialExpressionAppendVector] [EXCERPT:UMaterialExpressionCeil] Ceil 表达式接收数值,将它们上舍入到下一个整数并输出结果。同见 Floor 和 Frac。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#ceil [/VAR] [/EXCERPT:UMaterialExpressionCeil] [EXCERPT:UMaterialExpressionClamp] Clamp 表达式接收数值并将它们约束到一个由最小值和最大值定义的特定范围。最小值 0.0 和最大值 0.5 意味着结果值将不会小于 0.0,大于 0.5。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#clamp [/VAR] [/EXCERPT:UMaterialExpressionClamp] [EXCERPT:UMaterialExpressionComponentMask] 通过 ComponentMask 表达式可从输入选择通道的特定子集(R、G、B 和/或 A)传递到输出。尝试从输入中不存在的通道进行传递将出现错误,除非输入为一个单一常量值。在这种情况下,单一值将被传递到每个通道。当前选中进行传递的通道显示在表达式的标题栏中。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#componentmask [/VAR] [/EXCERPT:UMaterialExpressionComponentMask] [EXCERPT:UMaterialExpressionCosine] Cosine 表达式输出值输入的余弦(以弧度为单位)。这最常见的用法是将一个 Time 表达式连接到其输入,以输出一个连续的振荡波形。输出值将在 -1 和 1 之间来回循环。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#cosine [/VAR] [/EXCERPT:UMaterialExpressionCosine] [EXCERPT:UMaterialExpressionCrossProduct] CrossProduct 表达式计算两个三通道矢量值的交叉乘积并输出结果的三通道矢量值。交叉乘积是垂直于两个输入的一条线(或矢量),给定空间中的两条线(或矢量)。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#crossproduct [/VAR] [/EXCERPT:UMaterialExpressionCrossProduct] [EXCERPT:UMaterialExpressionDivide] Divide 表达式接受两个输入并输出第一个输入除以第二个输出的结果。这个除法在每个通道上发生,意味着第一个输入的 R 通道将除以第二个输入,第一个输入的 G 通道将除以第二个输入,以此类推。两个输入必须拥有相同的值,除非除数是一个单一浮点值。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#divide [/VAR] [/EXCERPT:UMaterialExpressionDivide] [EXCERPT:UMaterialExpressionDotProduct] DotProduct 表达式计算点积,或一个矢量投射到另一个矢量上的长度。此算法由许多技法使用,用于计算衰减。DotProduct 要求两个数量输入拥有的通道数量相同。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#dotproduct [/VAR] [/EXCERPT:UMaterialExpressionDotProduct] [EXCERPT:UMaterialExpressionFloor] Floor 表达式接收数值,将它们下舍入到上一个整数并输出结果。同见 Ceil 和 Frac。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#floor [/VAR] [/EXCERPT:UMaterialExpressionFloor] [EXCERPT:UMaterialExpressionFmod] FMod 表达式返回两个输入除法运算的浮点余数。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#fmod [/VAR] [/EXCERPT:UMaterialExpressionFmod] [EXCERPT:UMaterialExpressionFrac] Frac 表达式接收值并输出这些值的小数部分。同见 Ceil 和 Floor。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#frac [/VAR] [/EXCERPT:UMaterialExpressionFrac] [EXCERPT:UMaterialExpressionIf] If 表达式对比两个输入,然后基于对比结果通过三个其他输入值中的一个。进行对比的两个输入必须是单一浮点值。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#if [/VAR] [/EXCERPT:UMaterialExpressionIf] [EXCERPT:UMaterialExpressionLinearInterpolate] LinearInterpolate 表达式基于用作遮罩的第三个输入值在两个输入值之间混合。这可被视为一个遮罩,定义两个纹理之间的过渡,和 Photoshop 中的层遮罩相似。遮罩 Alpha 的强度决定从两个输入值获取的颜色比率。 如 Alpha 为 0.0,则使用第一个输入。如 Alpha 为 1.0,则使用第二个输入。如 Alpha 为灰(0.0 和 1.0 之间),输出则是两个输入之间的混合。注意:混合逐通道发生。因此,如果 Alpha 是一个 RGB 颜色,Alpha 的红色通道值定义 A 和 B 的红色通道之间的混合,独立于 Alpha 的绿色通道;绿色通道定义 A 和 B 的绿色通道之间的混合。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#linearinterpolate [/VAR] [/EXCERPT:UMaterialExpressionLinearInterpolate] [EXCERPT:UMaterialExpressionMultiply] Multiply 表达式接受两个输入,将它们相乘并输出结果。与 Photoshop 的乘层混合相似。这个乘法在每个通道上进行,意味着第一个输入的 R 通道将乘以第二个输入,第一个输入的 G 通道将乘以第二个输入,以此类推。两个输入必须拥有相同的值,除非其中一个值是一个单一浮点值。 注意:请牢记 UE 中的材质不仅限于 [0,1]!如颜色/值大于 1,乘法将使颜色更加明亮。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#multiply [/VAR] [/EXCERPT:UMaterialExpressionMultiply] [EXCERPT:UMaterialExpressionNormalize] Normalize 表达式计算并输出其输入的正规化值。这意味着输入的每个组件将除以矢量 L-2 范数(长度)。 注意:对插入法线材质输出的表达式进行正规化并非必要操作。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#normalize [/VAR] [/EXCERPT:UMaterialExpressionNormalize] [EXCERPT:UMaterialExpressionOneMinus] OneMinus 表达式接收一个输入值并输出一个减去该值的结果。此运算逐通道进行。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#oneminus [/VAR] [/EXCERPT:UMaterialExpressionOneMinus] [EXCERPT:UMaterialExpressionPower] Power 表达式接收两个输入,将 Base 自乘到 Exp 幂并输出结果;换言之就是 Base 乘以自身 Exp 倍。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#power [/VAR] [/EXCERPT:UMaterialExpressionPower] [EXCERPT:UMaterialExpressionLogarithm2] Logarithm 表达式接收两个输入,计算 X 的对数二进制并输出结果;换言之,时间的数字应为 2 乘以自身找到 X。对数计算逐通道进行。两个输入必须拥有相同的值,除非其中一个值是一个单一浮点值。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#logarithm2 [/VAR] [/EXCERPT:UMaterialExpressionLogarithm2] [EXCERPT:UMaterialExpressionSine] Sine 表达式输出值输入的正弦(以弧度为单位)。这最常见的用法是将一个 Time 表达式连接到其输入,以输出一个连续的振荡波形。输出值将在 -1 和 1 之间来回循环。这和 Cosine 表达式输出之间的差异是输出波形偏移一半周期。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#sine [/VAR] [/EXCERPT:UMaterialExpressionSine] [EXCERPT:UMaterialExpressionSquareRoot] SquareRoot 表达式输出输入值的平方根。SquareRoot 只可在单一浮点输入值上运算。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#squareroot [/VAR] [/EXCERPT:UMaterialExpressionSquareRoot] [EXCERPT:UMaterialExpressionSubtract] Subtract 节点接受两个输入,从第一个输入减去第二个输入,并输出差。这个减法在每个通道上进行,意味着从第一个输入减去第二个输入的 R 通道;从第一个输入减去第二个输入的 G 通道,以此类推。 两个输入必须拥有相同的通道数量,除非第二个输入是一个单一常量值。可从拥有任意数量输入的矢量减去常量。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#subtract [/VAR] [/EXCERPT:UMaterialExpressionSubtract] [EXCERPT:UMaterialExpressionCollectionParameter] Collection Parameter 表达式用于引用一个参数合集资源。这些参数群组可由许多不同资源(如材质、蓝图等等)重复使用。如需了解参数合集的更多内容,请查阅参数合集文档。 注意:一个材质可引用最多两个不同的 MaterialParameterCollections。一个通常用于游戏中广泛的值,另一个可用于关卡特定的参数。一个合集可拥有最多 1024 个标量参数和 1024 个矢量参数。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Parameters#collectionparameters [/VAR] [/EXCERPT:UMaterialExpressionCollectionParameter] [EXCERPT:UMaterialExpressionDynamicParameter] DynamicParameter 表达式为粒子发射器提供一个导管,以传递最多四个值到材质进行使用。这些值可在级联中通过放置在发射器上的 ParameterDynamic 模块进行设置。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Parameters#dynamicparameter [/VAR] [/EXCERPT:UMaterialExpressionDynamicParameter] [EXCERPT:UMaterialExpressionScalarParameter] ScalarParameter 表达式输出一个单一浮点值(常量)。此值可在材质的一个实例中进行访问和修改,或通过代码即时进行。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Parameters#scalarparameter [/VAR] [/EXCERPT:UMaterialExpressionScalarParameter] [EXCERPT:UMaterialExpressionStaticBoolParameter] StaticBoolParameter 与 StaticSwitchParameter 相似,不同点是它只创建布尔参数而不实现切换。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Parameters#staticboolparameter [/VAR] [/EXCERPT:UMaterialExpressionStaticBoolParameter] [EXCERPT:UMaterialExpressionStaticSwitchParameter] StaticSwitchParameter 表达式接收两个输入。如参数值为 true 则输出第一个输出,否则将输出第二个输出。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Parameters#staticswitchparameter [/VAR] [/EXCERPT:UMaterialExpressionStaticSwitchParameter] [EXCERPT:UMaterialExpressionVectorParameter] VectorParameter 表达式和 Constant4Vector 相同,不同点是它是参数,可在材质实例中(或通过代码)进行修改。VectorParameter 的一个美妙之处是可使用选色器设置其数值。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Parameters#vectorparameter [/VAR] [/EXCERPT:UMaterialExpressionVectorParameter] [EXCERPT:UMaterialExpressionTextureObjectParameter] TextureObjectParameter 表达式定义一个纹理参数并输出纹理对象,用于使用纹理输入调用函数的材质中。此节点不会对纹理进行实际采样,因此它必须结合 TextureSample 节点使用。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Parameters#textureobjectparameter [/VAR] [/EXCERPT:UMaterialExpressionTextureObjectParameter] [EXCERPT:UMaterialExpressionTextureSampleParameter2D] TextureSampleParameter2D 表达式和 TextureSample 相同,不同点是它是参数,可在材质实例中(或通过代码)进行修改。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Parameters#texturesampleparameter2d [/VAR] [/EXCERPT:UMaterialExpressionTextureSampleParameter2D] [EXCERPT:UMaterialExpressionTextureSampleParameterCube] TextureSampleParameterCube 表达式和 TextureSample 相同,不同点是它是可在材质实例中(或通过代码)进行修改的参数,只接受立方体贴图。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Parameters#texturesampleparametercube [/VAR] [/EXCERPT:UMaterialExpressionTextureSampleParameterCube] [EXCERPT:UMaterialExpressionTextureSampleParameterSubUV] TextureSampleParameterSubUV 表达式和 ParticleSubUV 相同,不同点是它是参数,可在材质实例中(或通过代码)进行修改。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Parameters#texturesampleparametersubuv [/VAR] [/EXCERPT:UMaterialExpressionTextureSampleParameterSubUV] [EXCERPT:UMaterialExpressionParticleMacroUV] ParticleMacroUV 表达式输出 UV 纹理坐标,此坐标可用于将任意 2D 纹理不断映射到整个粒子系统上,意味着纹理在粒子之间将为无缝状态。 UV 将沿 MacroUVPosition 居中(在级联粒子系统中 MacroUV 类目下进行指定);MacroUVRadius 决定 UV 进行平铺的世界空间半径。 ParticleMacroUV 节点用于将连续的 noise 映射到粒子上,将通过法线纹理坐标映射纹理到每个粒子上所形成的图案分解。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Particles#particlemacrouv [/VAR] [/EXCERPT:UMaterialExpressionParticleMacroUV] [EXCERPT:UMaterialExpressionParticleSubUV] ParticleSubUV 表达式用于将纹理的子图像渲染到粒子。ParticleSubUV 与 flipbook 相似,不同点是 ParticleSubUV 允许级联操作纹理动画。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Particles#particlesubuv [/VAR] [/EXCERPT:UMaterialExpressionParticleSubUV] [EXCERPT:UMaterialExpressionSphericalParticleOpacity] SphericalParticleOpacity 表达式创建一个过程不透明贴图,使 sprite 粒子拥有圆形外观。较之于创建相似效果的导入纹理贴图,这种方式更为简单。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Particles#sphericalparticleopacity [/VAR] [/EXCERPT:UMaterialExpressionSphericalParticleOpacity] [EXCERPT:UMaterialExpressionSceneColor] SceneColor 表达式输出现有的场景颜色。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Textures#scenecolor [/VAR] [/EXCERPT:UMaterialExpressionSceneColor] [EXCERPT:UMaterialExpressionTextureSample] TextureSample 表达式从纹理输出颜色值。此纹理可以是一个常规 Texture2D(包括法线贴图)、立方体贴图,或者电影纹理。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Textures#texturesample [/VAR] [/EXCERPT:UMaterialExpressionTextureSample] [EXCERPT:UMaterialExpressionTextureProperty] TextureProperty 表达式可以共公开纹理的属性,如纹理大小或纹素大小。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Textures#textureproperty [/VAR] [/EXCERPT:UMaterialExpressionTextureProperty] [EXCERPT:UMaterialExpressionBlackBody] Black Body 表达式在材质中模拟黑体辐射效果。用户输入一个温度(以开为单位)和结果颜色,强度可用于驱动 Base Color 和 Emissive 值,获得精确的物理效果。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Utility#blackbody [/VAR] [/EXCERPT:UMaterialExpressionBlackBody] [EXCERPT:UMaterialExpressionBumpOffset] BumpOffset 是虚幻引擎 中的术语,通常被称为“视差映射”。BumpOffset 表达式能够使材质不需要额外几何体便能拥有深度效果。 BumpOffset 材质使用灰度高度图提供深度信息。高度图中的值越明亮,材质便会越“突出”;当摄像机沿表面移动时,这些区域将形成视差(移位)。高度图中较暗的区域则会“更远”,移位程度最小。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Utility#bumpoffset [/VAR] [/EXCERPT:UMaterialExpressionBumpOffset] [EXCERPT:UMaterialExpressionConstantBiasScale] ConstantBiasScale 表达式接收一个输入值,为其添加一个偏差值,然后乘以输出结果的一个比例因子。举例而言,将输入数据从 [-1,1] 转换到 [0,1] 需要使用 1.0 的偏移和 0.5 的比例。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Utility#constantbiasscale [/VAR] [/EXCERPT:UMaterialExpressionConstantBiasScale] [EXCERPT:UMaterialExpressionDDX] DDX 表达式公开 DDX 导数算法,这是一个用于像素着色器算法中的 GPU 硬件功能。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Utility#ddx [/VAR] [/EXCERPT:UMaterialExpressionDDX] [EXCERPT:UMaterialExpressionDDY] DDY 表达式公开 DDY 导数算法,这是一个用于像素着色器算法中的 GPU 硬件功能。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Utility#ddy [/VAR] [/EXCERPT:UMaterialExpressionDDY] [EXCERPT:UMaterialExpressionDepthOfFieldFunction] Depth of Field Function 表达式使美术师可控制被景深模糊后材质出现的效果。它输出的值在 0-1 之间,0 代表“在焦距中”,1 代表“完全模糊”。 举例而言,这可用于纹理锐化和模糊版本之间的插值。Depth 输入允许场景景深计算的现有结果被其他计算覆盖。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Utility#depthoffieldfunction [/VAR] [/EXCERPT:UMaterialExpressionDepthOfFieldFunction] [EXCERPT:UMaterialExpressionDistance] Distance 表达式计算两个点/颜色/位置/矢量之间的(欧几里得)距离并输出结果值。这可用在一个、两个、三个和四个组件矢量上,但到表达式的两个输入必须拥有相同的通道数量。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Utility#distance [/VAR] [/EXCERPT:UMaterialExpressionDistance] [EXCERPT:UMaterialExpressionFresnel] Fresnel 表达式基于表面法线的点积和对摄像机的朝向计算衰减。当表面法线直接朝向摄像机时,0 值为输出。 当表面法线垂直于摄像机时,1 值为输出。结果锁定在 [0,1],因此中央将不会有色彩负片。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Utility#fresnel [/VAR] [/EXCERPT:UMaterialExpressionFresnel] [EXCERPT:UMaterialExpressionLightmassReplace] LightmassReplace 表达式在进行普通渲染的材质编译时通过实时输入进行传递,并在将材质导出到全局光照进行全局照明时通过全局光照输入进行传递。 这可对导出版本无法正确处理的材质表达式进行处理,例如 WorldPosition。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Utility#lightmassreplace [/VAR] [/EXCERPT:UMaterialExpressionLightmassReplace] [EXCERPT:UMaterialExpressionNoise] Noise 表达式创建了一个过程 noise 域,以便控制其生成方式。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Utility#noise [/VAR] [/EXCERPT:UMaterialExpressionNoise] [EXCERPT:UMaterialExpressionQualitySwitch] 通过 QualitySwitch 表达式可基于引擎在精度等级之间的切换(如在低端设备上使用低精度)使用不同的表达式网络。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Utility#qualityswitch [/VAR] [/EXCERPT:UMaterialExpressionQualitySwitch] [EXCERPT:UMaterialExpressionRotateAboutAxis] RotateAboutAxis 表达式旋转一个个三通道矢量输入给定旋转轴、轴上的一个点,以及旋转角度。它可用于使用 WorldPositionOffset、精度高于简单剪切的动画。 注意:RotateAboutAxis 节点被添加时将自动创建一个 Absolute World Position 节点。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Utility#rotateaboutaxis [/VAR] [/EXCERPT:UMaterialExpressionRotateAboutAxis] [EXCERPT:UMaterialExpressionAntialiasedTextureMask] 通过 AntialiasedTextureMask 表达式能创建使用软(已进行抗锯齿)过渡遮罩。此遮罩可用于在两个复杂材质属性之间进行混合,或淡出一个透明混合材质(结合 SoftMasked 使用效果佳)。 用一个通道(红、绿、蓝或透明)中指定的遮罩指定纹理、设置表达式中使用的通道,并指定对比值。 假定通道保存一个在范围 0=黑到 1=白之间的灰度值,对比函数则定义结果遮罩是否应该为 0 或 1。此表达式是一个参数,允许纹理属性被子 MaterialInstances 所覆盖。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Utility#antialiasedtexturemask [/VAR] [/EXCERPT:UMaterialExpressionAntialiasedTextureMask] [EXCERPT:UMaterialExpressionDeriveNormalZ] DeriveNormalZ 表达式派生切线空间法线给定 X 和 Y 组件的 Z 组件,并输出作为结果的三通道切线空间法线。Z 作为 Z = sqrt(1 - (x x + y y)); 进行计算。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/VectorOps#derivenormalz [/VAR] [/EXCERPT:UMaterialExpressionDeriveNormalZ] [EXCERPT:UMaterialExpressionTransform] Transform 表达式将一个三通道矢量值从一个参考坐标系转换到另一个坐标系。 一个材质中的所有着色器计算均默认在切线空间中进行。矢量常量、摄像机矢量、光照矢量等在材质中使用之前均会转换到切线空间。 Transform 表达式允许这些矢量从切线空间转换到世界空间、本地空间或视图空间坐标系。此外,它允许世界空间和本地空间矢量转换到任意其他参考坐标系。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/VectorOps#transform [/VAR] [/EXCERPT:UMaterialExpressionTransform] [EXCERPT:UMaterialExpressionTransformPosition] TransformPosition 坐标系可将任意位置从屏幕空间转换到表达式的 TransformType 变量所指定的目标空间。当前只支持到世界空间的转换。 此表达式可用于获取材质中的世界空间坐标。将其直接插入 emisive 即可显示世界位置。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/VectorOps#transformposition [/VAR] [/EXCERPT:UMaterialExpressionTransformPosition] [EXCERPT:UMaterialExpressionCameraVectorWS] CameraVector 表达式输出一个三通道矢量值。此值代表摄像机相对于表面的方向。换言之则是从像素到摄像机的方向。 使用范例:CameraVector 通常用于虚拟环境贴图 - 将 CameraVector 连接到一个 ComponentMask 并使用 CameraVector 的 X 和 Y 通道作为纹理坐标。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Vector#cameravectorws [/VAR] [/EXCERPT:UMaterialExpressionCameraVectorWS] [EXCERPT:UMaterialExpressionLightVector] 不建议在虚幻引擎 中使用此表达式,因为光照计算现在已延迟。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Vector#lightvector [/VAR] [/EXCERPT:UMaterialExpressionLightVector] [EXCERPT:UMaterialExpressionObjectBounds] Object Bounds 表达式输出每个轴的物体大小。如用作颜色,X、Y 和 Z 轴则相应与 R、G 和 B 对应。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Vector#objectbounds [/VAR] [/EXCERPT:UMaterialExpressionObjectBounds] [EXCERPT:UMaterialExpressionReflectionVectorWS] ReflectionVectorWS 表达式与 CameraVectorWS 神似,但它输出的一个三通道矢量值,此值代表反射过表面法线的摄像机朝向。 使用范例:ReflectionVector 常用于环境贴图中。在环境贴图中反射矢量的 X/Y 组件用作立方体贴图纹理中的 UV。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Vector#reflectionvectorws [/VAR] [/EXCERPT:UMaterialExpressionReflectionVectorWS] [EXCERPT:UMaterialExpressionStaticComponentMaskParameter] StaticComponentMaskParameter 表达式的作用和普通组件遮罩相似,不同点是遮罩值可通过实例设置。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Parameters#staticcomponentmaskparameter [/VAR] [/EXCERPT:UMaterialExpressionStaticComponentMaskParameter] [EXCERPT:UMaterialExpressionSpeedTree] 通过 SpeedTree 节点可访问并获得 SpeedTree 风吹效果和顺滑的 LOD 过渡。几何体类型、风吹类型、LOD 类型和布告板阈值可通过 Details 面板进行设置。 [VAR:ToolTipFullLink] Engine/Content/SpeedTree/ImportingModelsIntoUE4 [/VAR] [/EXCERPT:UMaterialExpressionSpeedTree] [EXCERPT:UMaterialExpressionSceneTexture] 使用 SceneTexture 材质表达式,可选中表达式属性中进行参考的纹理;然后使用输入和输出节点,计算当前像素到相邻像素的深度差(例如 In = 0,1,返回增量到下方的像素)。 [VAR:ToolTipFullLink] Engine/Rendering/PostProcessEffects/PostProcessMaterials [/VAR] [/EXCERPT:UMaterialExpressionSceneTexture] [EXCERPT:UMaterialExpressionFeatureLevelSwitch] 通过 Feature Level Switch 节点可制作低端设备使用的简化材质。 使用范例:材质可能拥有一个带 10 个纹理重叠和复杂数学,但针对移动设备则只是一个单一静态纹理(特征级 ES2)。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Utility#featurelevelswitch [/VAR] [/EXCERPT:UMaterialExpressionFeatureLevelSwitch] [EXCERPT:UMaterialExpressionGIReplace] GIReplace 允许美术师在材质用于 GI 时指定一个不同的(通常更简单)表达式链。 使用范例:全局光照静态 GI 和 LPV 动态 GI 将使用此表达式。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Utility#gireplace [/VAR] [/EXCERPT:UMaterialExpressionGIReplace] [EXCERPT:UMaterialExpressionSpriteTextureSampler] 可通过复制现有材质之一或在 Content Browser 中创建新材质这两种方式创建自定义 sprite 材质。当 sprite 被渲染时,sprite 资源中定义的纹理将被输入材质中名为“SpriteTexture”的纹理参数中。放置 SpriteTextureSampler 节点即可自动完成此操作。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Textures#spritetexturesampler [/VAR] [/EXCERPT:UMaterialExpressionSpriteTextureSampler] [EXCERPT:UMaterialExpressionMax] Max 表达式接收两个输入,然后取两者的最大值。 此节点与 Photoshop 的 Lighten 相似。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#max [/VAR] [/EXCERPT:UMaterialExpressionMax] [EXCERPT:UMaterialExpressionMin] Min 表达式接收两个输入,然后取两者的最小值。 此节点与 Photoshop 的 Darken 相似。 [VAR:ToolTipFullLink] Engine/Rendering/Materials/ExpressionReference/Math#min [/VAR] [/EXCERPT:UMaterialExpressionMin]