unreal红色材质_unreal engin 4 材质 材质实例 - CSDN
  • Unreal Engine4(虚幻4)材质

    Unreal Engine4(虚幻4)学习心得-材质

    材质

    制作材质的过程其实就相当于在写shader,只是UE4制作材质使用的是可视化方式在写shader。下面将介绍一些材质属性:

    • Blend Mode混合模式
      用于决定材质颜色如何和背景颜色混合。
      1. Opaque不透明
      2. Masked蒙版,蒙版材质可以利用蒙版贴图,将一些区域设置为可见或者不可见,比如铁丝网就可以使用蒙版
      3. Translucent半透明,可以以某种形式允许光线透过,比如玻璃
      4. Additive叠加,有透明度,用于增加颜色信息,比如各种粒子效果
      5. Modulate调制,将材质颜色乘以背景颜色,适合做贴花效果
    • Lighting Mode光照模式
      当半透明/透明的时候使用。
      1. Volumetric NonDirectional,是最节省的光照模式,只使用漫反射颜色,不用考虑材质法线。严格的说,只对动态光照的物体有效。
      2. Volumetric Directional,考虑材质法线。
      3. Volumetric PreVertex NonDirectional,同Volumetric NonDirectional,但是光照只在顶点计算,这样会减轻PS的消耗。
      4. Volumetric PreVertex Directional,同Volumetric Directional,但是光照只在顶点计算,这样会减轻PS的消耗。
    • Base Color常规色
      通常会通过PS制作一些贴图,作为基本色。所有的贴图都可以通过UV设置其平铺状态
    • Emissive自发光
      能让材质自己发光,可以用于制作材质外边缘的光晕效果。
    • Specular高光
      用于控制高光的颜色。光源照射到物体然后反射到人的眼睛里时,物体上最亮的那个点就是高光。高光控制着光线的反射,以展现一种光泽的效果。
    • Opacity不透明
      用于控制物体的透明度。
    • OpacityMask不透明蒙版
      用于和混合模式中的Masked蒙版模式组合使用,包含了可见还是不可见信息蒙版贴图就在这里连接。
    • Normal法线
      法线贴图是材质具有凹凸效果的原因。除非制作的是玻璃或者金属球之类的非常光滑的物体,否则一定要用法线。可以再加上一张细节贴图,与法线贴图相加,一起当做法线贴图。但是法线贴图中的凹凸信息其实是存在于RG通道中,B通道好比基准线,也就是被RG弄皱的底平面,因此如果想再加上一张细节贴图的话,蓝色通道千万不能动。法线贴图通过RGB的信息,以像素为单位来指定表面角度。
    • WorldPositionOffset世界位置偏移量
      只有要跟踪某个材质的世界位置,并且要沿某个方向移动它,这个属性才会被用到。

    材质的其他属性(UDK)

    • Diffuse漫反射
      提供不透明颜色,好比常规颜色。通常会通过PS制作一些贴图(包含alpha通道,法线贴图),作为漫反射的基本色。
    • DiffusePower漫反射次幂
      描述颜色随光照信息的流失,从饱和向阴暗渐变的速度。
    • SpecularPower高光次幂
      用来模拟光滑度。
    • Distortion扭曲
      它能使一个对象表面的材质发生扭曲。使用方式比如:把混合模式设置为Additive叠加,然后设置无光照,然后把法线贴图连接到扭曲上(扭曲接收的就是法线信息,它要利用RGB通道来决定把像素点移到多远),就能看到热浪的效果,类似折射。
    • TransmissionColor透射色
      设置一个颜色,这样穿过物体表面的光线,好像会穿透物体扩散开来,呈现出次表面散射(3S)的样子(透射蒙版要设置为1才能看到)。比如设计角色的耳朵的时候,将耳朵部分的透射蒙版设置为1,然后将投射色设置为深红,那么当光线射到耳朵背面的时候,耳朵看上去就有次表面散射的效果。(这里只是模拟S3,而非真正的S3,但是很逼真,移动光源就可以看到半透明的效果)
    • TransmissionMask透射蒙版
      0和1组成的蒙版贴图用于决定哪里需要透射。透射色和透射蒙版主要用于蜡和人皮肤之类的地方
    • BumpOffset凹凸偏移
      凹凸偏移需要借用高度贴图。高度贴图可以使用法线贴图的alpha作为其高度值,然后将高度贴图作为基本色和法线的UV即可。
    展开全文
  • from: https://docs.unrealengine.com/latest/CHN/Engine/Rendering/PostProcessEffects/PostProcessMaterials/PostProcessDemoMaterialOverview/index.html 后期处理材质范例 创建后期处理效果材质 ...

    from: https://docs.unrealengine.com/latest/CHN/Engine/Rendering/PostProcessEffects/PostProcessMaterials/PostProcessDemoMaterialOverview/index.html

    后期处理材质范例

    创建后期处理效果材质

    以下是设置简单后期处理材质的基础说明:

    1. 从主菜单栏中选择 File > New Level 创建一个新关卡。

    2. 点击 Content Browser 中的 CB_button_NewAsset.png 按钮并选择 Material 创建一个新材质,然后为材质命名。

      CreateNewMaterial.png

    3. 双击 此新材质将其在材质编辑器中打开。

    4. 在 Material Properties 面板中,在 Material 类目下将 Material Domain 属性设为 Post Process。此外还需要将 Shading Model 属性设为 Unlit

      PostMaterialProperties.png

    5. 在 Post Process Material 类目中将 Blendable Location 属性设为 Before Tonemapping。这会对性能产生影响,但可防止视图运动时出现重影。如需了解 Blendable Location 属性的更多信息,请查阅下面的 后期处理材质的关键设置 部分。

      PostProcessMaterialsCategory.png

    6. 现在即可创建一些材质表现网络,定义后期处理的效果。作为此范例的测验,我们将创建一个视频扫描线叠加效果。可任意设置效果。可在 材质设置 部分查看优秀的扫描线后期处理材质范例。

    材质设置

    该文档中包含简单视频扫描线后期处理材质的总览和讲解。

    VideoScanlineEffect.png

    这是用于此效果的纹理。如需自行创建纹理变化,可在每个纹理上 单击右键 并进行保存。非常简单。

    ScanDistort.png

    Noise.png

    Scanlines.png

    ScanDistortion.png (2x128)

    Noise.png (512x512)

    Scanlines.png (4x4)

    注意:您可能误认为已针对视觉清晰度对文档中的图片进行缩放。图片下载后 (单击右键 > Save As),其仍为原始尺寸(如表中所示)。

    拼接总览

    为说明此材质的拼接,我们将关键要素拆分为单独编号的注释框。可逐个进行查看,简单重建每个节点网络,并将他们在网络图片中连接并显示出来。请注意:网络的图片较大,建议在电脑上单独保存并查看。

    以下步骤将总览上图编号注释框中的操作。结合这两个说明即可创建所需的效果。

    1. 从 Scene Texture 表现开始,将其设为使用 Scene Color。即可通过后期处理对场景进行设置。

    2. 使用简单的平移纹理 (ScanDistort.png) 扰乱场景颜色 UV。操作方法为 - 将纹理的结果乘以 0.03,然后将其和纹理坐标的红色通道组合,在屏幕上有效地滑动像素。可创建出扭曲效果。

    3. 使用 4x4 像素扫描线纹理,在垂直方向大量平铺 (v:128)。然后很慢地向下平移。

    4. 使用相同的扫描线纹理,平铺值设为 1.28,向上平移,速度稍快。并将其锁定在 0.1 到 0.5 之间。可在扫描线中形成一些变化。

    5. 创建一个时间驱动的正弦波,在 0.6 到 1.0 之间以 10 Hz 的频率运行。可使扫描线出现闪烁。

    6. 选取 noise 纹理,以两种不同的量和速度执行平铺和平移,获得不同效果。

    7. 取两个 noise 的平均值,然后与 ScanDistort 纹理相乘。将其 乘以 40,然后添加到结果中,创建白色静态画面。

    8. 选取平移 ScanDistort 纹理,将其提升为四的幂次方(提升对比度),乘以 40 使其更明亮,然后从最后结果中将其 减去,使其变为全黑色。可创建出复古 VCR 中常见的黑条效果。

    点击上方的 VCR 链接查看,您可能不会喜欢这个效果。

    指定到后期处理体积

    1. 现在需要将材质和后期处理体积关联起来。在此例中我们使用 Global Post Process。在 World Outliner 中点击 Global PostProcess

      SceneOutlinerGlobalPost.png

    2. 找到 Details 面板 Misc 类目下的 Blendables 属性。点击属性旁的 button_Plus.png 按钮添加一个新元素。

      BlendablesProperty.png

    3. 在 Content Browser 中选择新材质,然后点击 button_CBApply.png 按钮将材质应用到元素。效果现已应用。

    Before post process material applied

    Before post process material applied

    After post process material applied

    After post process material applied

    现在可添加一些基于属性的后期处理设置,这些设置是后期处理体积的一部分。在此例中我们执行了下列操作:

    • 使 Saturation 值接近于零。

    • 利用 Tint 在结果上投射出淡绿色。

    • 将 Contrast 设为 0.65 左右。

    • 调整 Crush Shadows 和 Crush Highlights,进一步增加对比度。

    • 将 Vignette Intensity 设为 0.9 左右,形成极强的晕映。

    • 将 Bloom 强度设为 3.0 左右。

    展开全文
  • 本节书摘来异步社区《Unreal Engine 4蓝图可视化编程》一书中的第1章,第1.3节,作者: Brenden Sewell 译者: 陈东林 责编: 胡俊英,更多章节内容可以访问云栖社区“异步社区”公众号查看。 1.3 材质 之前我们...

    本节书摘来异步社区《Unreal Engine 4蓝图可视化编程》一书中的第1章,第1.3节,作者: Brenden Sewell 译者: 陈东林 责编: 胡俊英,更多章节内容可以访问云栖社区“异步社区”公众号查看。

    1.3 材质

    之前我们设定的目标是:当圆柱体被射弹击中后,能够改变自身的颜色。因此,我们需要改变圆柱体actor的材质。材质是一种资源,能被添加到actor的网格当中(网格定义了actor的物理形状)。可以认为材质就像油漆一样作用于actor的网格或外形之上。因为actor的材质决定了它的颜色,所以改变actor颜色的方法之一就是将原先的材质替换为另一种颜色的材质。因此,我们首要任务是创建材质,这个材质将使actor呈现红色。

    1.3.1 创建材质

    在内容浏览器里找到FirstPersonBP文件夹,创建子文件夹并命名为Materials,进入Materials目录,在空白处单击鼠标右键,在弹出的菜单表中选择创建高级资源>>材质&贴图>>材质,将新建的材质命名为TargetRed。

    1.3.2 材质属性与蓝图节点

    双击TargetRed材质,打开编辑标签,如图1.7所示。

    上图所示为材质编辑器,其与蓝图拥有同样的特性。这个屏幕的中心称为网格(grid)。我们可以将所有的定义蓝图多级的对象放置到网格上,该网格的标签名为material,术语称为节点。在之前的截图中,有一系列的输入引脚,这样其他的材质节点可以添加到上面,也因此可以定义它的属性。


    7

    为了将颜色赋给材质,我们需要创建一个节点。该节点将为节点中基础颜色(Base Color)输入给出颜色的信息。在节点附近的空区域单击鼠标右键,将出现一个菜单,它包含搜索框和一个可扩展的选择列表。这个展示了所有的我们可用添加到这个材质蓝图的可用蓝图节点选项。搜索框对文本很敏感,我们键入搜索对象的前几个字符就能看到一系列的搜索结果,在这里我们搜索的是VectorParameter,如图1.8所示。


    8


    材质编辑器(Material Editor)中的VectorParameter用于定义颜色,我们可以将它添加到材质编辑器的基础颜色输入节点。首先需要给VectorParameter节点选择一个颜色,双击Color节点的黑色区域,打开颜色选择器(Color Picker)。当目标被选择时,我们希望它显示亮红色,在色盘中手动选择颜色,如图1.9所示,选择完毕后单击好按钮,稍后你将发现原来VectorParameter节点的中间黑色的部分已经变成了红色。


    9

    为了帮助我们记忆在材质中VectorParameter会哪些参数或属性,我们需要将Vector Parameter重命名为Color。当选中节点时,该节点会被金色的边框包围,查看细节面板(Details)里的内容,在通用 >Parameter处键入“Color”。这时VectorParameter节点名称自动地由None改为Color。

    最后一步,连接Color VectorParameter节点与基础颜色节点。在蓝图中,可以通过单击和拖曳输出引脚至输入引脚将节点连接起来。输入引脚在节点的左侧,输出引脚在节点右侧。连接两个节点的细线称之为引线(Wire)。从Color输出引脚拖出一根引线至材质节点的基础颜色输入引脚,如图1.10所示。


    10

    1.3.3 为材质添加属性

    我们可以通过材质节点的其他输入引脚,给材质添加一些光泽。如果使用单一颜色、平整的材质,3D物体看起来就会很不真实,可以在金属(Metallic)和粗糙度(Roughness)引脚设置值来改善这一情况。在空的网格区域单击鼠标右键,在搜索框中键入“scalar”,找到ScalarParameter节点,如图1.11所示。


    11

    找到ScarlarParameter并选择,转到细节面板(Details),由于任何叠加性的影响对材质都很微妙,设置Default Value为0.1。将节点重命名为Metallic。最后,拖出引线连接Metallic的输出引脚和材质的金属输入引脚。

    还需要连接粗糙度参数,在刚才创建的Metallic节点上单击鼠标右键,选择Duplicate。这个操作将生成Metallic节点的复制,唯一不同的时它没有引线与材质连接。选中这个复制节点,然后在细节面板中重命名为Roughness。保持Roughness节点中的Default Value值为0.1不变,拖出引线连接Roughness的输出引脚和材质的粗糙度输入引脚。如图1.12所示。


    12

    至此,我们已经创建了一个亮红色的材质,当目标被选择时就会用它来突出显示。单击编辑器左上角的“保存”按钮保存资源,然后关闭材质编辑器返回关卡。

    展开全文
  • Unreal4 后期处理材质

    2017-10-13 17:45:22
    后期处理材质   本页面的内容: 后期处理图表使用后期处理材质制作简单的后期处理材质后期处理材质的关键设置在不同材质实例之间进行混合材质表现“SceneTexture”使用 GBuffer 属性自定义深度...

    后期处理材质

    Teaser3.png Teaser0.png Teaser1.png Teaser2.png

    后期处理图表

    引擎已经拥有基于后期处理节点图表的复杂后期处理功能。后期处理材质 可 被额外插入部分特定位置。查看 FAQ r.CompositionGraphDebug 部分获得全图表的 dump 文件。 实际上,图表不仅执行后期处理,还执行部分灯光操作。我们计划利用材质编辑器 将更多部分变为自定义化。

    在多数情况下,图表自动创建中间的渲染目标。意味着如要与之前的色彩混合, 需要在选色器中执行混合(使用来自 PostProcessInput0 的输入)。

    后期处理材质应尽少使用,在极其需要时使用方位上策。在处理颜色校正或调整、光晕、景深和多种其他效果时,应尽可能使用后期处理体积域的固有设置(因为它们已经过优化,效率较高)。

    使用后期处理材质

    通过后期处理设置(通常以后期处理体积域或摄像机设置定义)可对所谓的可混合资源进行混合。 当前只有 材质 和 材质实例 为可混合资源。引擎提供了一些后期处理材质,但也可利用 此功能创建 自定义后期处理,无需程序员的协助。

    只需在 Blendables 部分将一个或多个后期处理材质指定到后期处理体积域上。首先按下 + 添加新的槽, 在 Content Browser 中选择一个材质,然后按下左箭头进行指定。顺序无关紧要,可无视未使用的槽。

    PostProcessSettings.png

    制作简单的后期处理材质

    可在 后期处理材质范例 中了解从零创建简单后期处理材质效果的综述。

    FinalPostEffect.png

    后期处理材质的关键设置

    后期处理材质需要指定材质域 后期处理

    DomainPostProcess.png

    材质只应使用 EmissiveColor 输出新色彩。此外,可定义在后期处理中何处应用此通路; 如有多个存在,定义其处理顺序(优先级):

    PostProcessMaterialProps.png

    混合位置

    描述

    Before Tonemapping

    PostProcessInput0 提供带 HDR 中所有灯光的场景颜色。使用它修复临时抗锯齿和 GBuffer 查找(如深度、法线)的问题。

    After Tonemapping

    性能优选位置,颜色为 LDR,因此需要的精确度和带宽较小。这发生在色调映射和颜色分级后。

    Before Translucency

    在流程中比“Before Tonemapping”更早,在半透明度和场景颜色组合之前。注意:SeparateTranslucency 晚于正常半透明度合成。

    Replacing the Tonemapper

    PostProcessInput0 提供 HDR 场景颜色,PostProcessInput1 拥有 SeparateTranslucency(透明度为遮罩),PostprocessInput2 拥有低分辨率光晕输入。

    典型的 postprocess 输入来自之前的通路。使用 PostProcessInput0 时,可通过 SceneTexture 材质表现获取颜色。使用 SceneColor 可能无法获得正确结果。

    在不同材质实例之间进行混合

    使用后期处理材质

    利用后期处理体积域可轻松在多个后期处理材质之间设置柔和过渡。在此例中我们使用一个标记为 unbound 的体积域和一个拥有较大混合半径的体积域(如 1000):

    BlendingAVolume.png

    BlendingAVolume1.png

    后期处理设为 Unbound

    后期处理束缚体积域

    每个体积域我们都将指定相同材质的一个不同材质实例。颜色作为一个材质参数进行指定,可在两个材质实例上进行不同设置。

    BlendMatInst1.png

    BlendMatInst2.png

    材质实例红

    材质实例绿

    处于混合半径中时,一个体积域设置将被使用和混合(基于摄像机位置):

    Blend1.png

    Blend2.png

    Blend3.png

    未束缚后期处理体积域材质实例(红色)设为 0.75

    混合半径 1000

    后期处理体积域材质实例(绿色)设为 0.75

    伴随着摄像机运动可感受到两个效果设置之间柔和的线性过渡。

    以下展示了一个拥有两个体积域的关卡顶视图。较大的未束缚体积域拥有一个红色材质实例,较小的体积域拥有一个指定为可混合的绿色材质实例。 较小的体积域拥有更高的优先级。材质参数基于摄像机位置进行混合。 模糊边界由体积域中指定的 BlendRadius 属性定义,可延伸体积域外形。

    设置正确后,全部混合将按预期进行。

    Bad Setup

    Bad Setup

    Good Setup

    Good Setup

    两个设置之间的差别是材质参数(标量或矢量)上指定的默认值。 良好设置的数值可使通路不存在任何效果(如乘以白色或以 0 插值)

    在两个设置中我们将看到:摄像机处于任意体积域的影响之外时,将不会对 postprocess 通路执行渲染(以灰色网格显示)。 如完全处于任意一个体积域内,我们也将看到正确的混合。

    较差设置:摄像机进入影响半径后,将出现一个硬性过渡,因其使用的是错误指定的默认参数。

    较好设置:进入摄像机影响半径的过渡被良好地隐藏起来,到体积域颜色的过渡流畅。

    无论属性复选框是否勾选,所有材质实例属性皆被混合 (如未勾选,其将对父项的属性进行混合)。这与后期处理设置(未勾选的属性没有效果)不同。 这意味着如果混合一个材质实例,所有属性均将被混合。

    材质表现“SceneTexture”

    可在材质中添加 SceneTexture 材质表现,并在表现属性中选择需要引用的纹理:

    SceneTextureProps.png

    节点拥有一个可选输入和多个输出:

    SceneTextureExpression.png

    利用 UV 输入可指定进行纹理查找的位置(只用于颜色输出)。 颜色输出为 4 通道输出(实际的通道分配取决于场景纹理 id)。Size 是带纹理宽度和高度的 2 组件 矢量。其倒转 (1/width, 1/height) 在 InvSize 输出中可用。以下例中的方式引用 临近样本非常便利:

    DepthNextTo.png

    材质表现计算当前像素到临近像素的深度差(如:In = 0,1 将透明度返回)

    使用 GBuffer 属性

    GBuffer 由存储材质(如表面下/镜面颜色、平整度...)和物体属性(如法线、深度)的多个纹理构成, 不存在进行着色计算的灯光(灯光如何与材质交互)。在延迟渲染器中,首先渲染 GBuffer,然后使用 GBuffer 属性 计算所有灯光(延迟)。如 UE4 使用延迟着色路径(如 DirectX 11 或高端 OpenGL),则可在后期处理中使用这些缓冲。

    抗锯齿将使其变得更加困难一些,因为 GBuffer 像素/纹素与输出像素不再是 1:1 相关(查看以下部分)。

    自定义深度

    这个单独功能可将特定物体渲染成另一个深度缓冲,从而形成遮罩(称作自定义深度缓冲)。 这会添加额外的绘制调用,但不会添加更多材质。因为只输出深度,渲染的消耗相当低。此功能可在网格体上启用 (如静态网格体属性 / 渲染自定义深度):

    CustomDepth.png

    在此场景中,我们在两个物体上启用此功能;但没有显示内容的后期处理通路,该功能仍为不可见:

    scene.png

    下图为自定义深度的展示:

    sceneCustomDepth.png

    下图是用于展示的材质:

    CustomDepthMat.png

    临时抗锯齿 / GBuffer 为何抖动

    临时抗锯齿是 UE4 的独特功能,可在中等性能消耗的基础上极大地提高图像质量。

    后期处理材质被默认插入后期处理图表的末尾(在色调映射器之后)。这意味着应用色调映射、颜色分级和临时抗锯齿后可获得最终 的 LDR 颜色。这是许多简单后期处理效果的最佳点 - 性能与易用。

    在此可了解如何使用自定义深度输入在特定物体周围显示轮廓:

    sceneAfterTonemapper.png

    注意前一张图轮廓上并不存在抗锯齿,但在动态下将看到轮廓出现一个像素左右的抖动。 这是因为临时抗锯齿按每帧一亚像素的频率移动整个场景的渲染。多张序列帧将合并在一起,形成最终的抗锯齿图像。 然而,我们可将材质移动到后期处理图表中更早的位置,以便修复此问题。

    下图为最终结果:

    sceneBeforeTonemapper.png

    我们获得了一个稳定的抗锯齿图像。在动态中临时抗锯齿可能出现一些穿帮。此功能使用深度缓冲替代旧图像。在物体内渲染边界时此功能正常, 但在物体外时我们需要调整深度缓冲(功能未完善,性能消耗较高), 功能完善后无需进行调整。

    UV 和屏幕位置

    可在屏幕中看到的后期处理材质为缓冲对齐,但需要知晓正确的 UV。 ScreenPosition 材质表现输出所需的 UV(0,0 位于视口左上方,1,1 位于右下方)。 使用 texture coordinate 材质表现可能获得不同的结果。这是因为实际纹理(正确而言其应为一个渲染目标)可能比视口更大。 它在编辑器中可能更大,因为我们在多个视口上共享这个纹理,最大的延展用于所有视口。 即时在游戏中,它有时也可能更大(如 SceneCaptureActors 可能拥有一个更小的视口、Matinee 黑边、分屏、VR...)。 纹理坐标材质表现为这个较大的纹理提供 UV。如只需要一个相对偏移(如像素尺寸边沿检测),需要缩放至正确的尺寸。SceneTexture 材质表现拥有对尺寸的输出和尺寸的倒转(对像素偏移有效有用)。 如希望获得视口 UV(如向视口映射纹理),可使用 ScreenPosition 材质表现或手动进行所需的计算(更多操控将使运行减慢)。 因此需要 ViewSize 材质表现。可使用控制台变量 r.ViewPortTest(可用于测试各种视口配置)进行全面测试。

    过滤纹理查找

    SceneTexture 材质表现拥有一个复选框,可获得 [双线性] 过滤查找。使用此选项将使渲染变慢,建议只在必要时使用。 许多屏幕空间纹理不支持过滤(如 GBuffer)。不公开此属性可使引擎根据需求压缩数据(打包将防止过滤)。

    替代色调映射器

    使用“Replacing the Tonemapper”可混合位置即可使用自定义色调映射器覆盖引擎色调映射器。此功能尚在开发中,功能仍不齐全,并可能进行修改。

    ReplacingTheTonemapper.png

    我们已开始将部分后期处理设置参数对色调映射器公开,但这部分仍可能进行较大幅度的修改。 这些数值作为材质参数公开,须设置准确的命名。

    矢量参数:

    Engine.FilmWhitePoint

    标量参数:

    Engine.FilmSaturation
    Engine.FilmContrast

    如要获得参数,须从后期处理材质创建材质实例!

    仍可使用自身的参数并以其他后期处理材质设定的方式进行混合。

    已知问题

    以下问题仍需修复:

    • 材质表现 SceneTexture

      • SeparateTranslucency 无法使用。

      • 部分查找无法在一些通路中使用(我们不会对一部分进行修复,因为它们对性能的消耗过大)。

      • MaterialFunction 可能报错,但仍能在有后期处理域的材质中使用。

    • 材质

      • PostProcessMaterial 中的 UV 可能不在 0-1 范围内(如在编辑器中减小视口尺寸时),它与查找对齐,但难以应用晕映之类的效果。

      • 后期处理材质的资源缩略图显示不正确。

      • 不支持透明度输出(须通过不透明度)。

      • 材质编辑器中的预览材质显示不正确。

      • 存在这样的情况 - 材质变更未反映到后期处理的变更中。应对方法:重启编辑器。

      • 利用 Content Browser 可对后期处理材质进行简单过滤。

    • 混合

      • 将两个后期处理体积域和一个混合半径混合时,可能出现非柔和过渡。结合默认材质实例设置使用未束缚的体积域可防止这种情况的发生。

    常见问题

    • 能将“Lighting only mode”纹理作为输入吗?

      不行,没有作为中间步骤的可用数据。对此查看模式,我们无视材质颜色将其 生成。如需将此作为快速选项,需要重建较大部分的渲染代码。

    • 为什么 SceneColor 查找显示有条带,但使用 PostProcessInput0 时却未显示?

      使用 SceneColor 时,我们创建了一个场景的低精度副本,使查找进入当前写入的纹理中 (通常情况是在不可能的位置进行网格体渲染)。 在后期处理中应该使用 PostProcessInput0。

    • 一次后期处理的内存消耗是多少?

      内存消耗取决于屏幕分辨率。色调映射前使用 HDR(每像素 8 字节),之后使用 LDR(每像素 4 字节)。

    • 如何降低后期处理的渲染消耗?

      测量目标平台、保持较低的纹理查找数、执行较少的数学运算、减少相关纹理查找、 避免随机纹理查找(可能因为纹理缓存缺失而变慢)。

    • 能使用多少次通路?

      每次通路均会增加性能消耗。建议只在必要时组合通路和启动通路。总体游戏功能 (为获得更佳的性能,可将 noise 添加到引擎通路)。

    • 后期处理和混合的 CPU 性能消耗如何?

      混合材质的性能消耗极低。所有材质实例属性都将被混合,只有一个包含这些设置的后期处理材质通路被渲染。

    • 我需要使用“Before Tonemapper”获得有效的临时抗锯齿。使用一种颜色时,它已经被色调映射,因此看起来存在色差。如何避免这些情况的出现?

      没有简单的解决方案。需要执行倒转色调映射操作(高消耗)。由于人眼存在适应性, 颜色可能仍然存在色差。可将 EyeAdaptation 层级对 SceneTextures 公开,以便对其进行补偿。

    • 如何获得后期处理图表的完整 dump 文件?

      r.CompositionGraphDebug 可将图表日志存入控制台。范例:

      FRenderingCompositePassContext:Debug 'PostProcessing' ---------
      Node#1 'SceneColor'
          ePId_Output0 (2D 1136x768 PF_FloatRGBA RT) SceneColor Dep:2
      Node#4 'Velocity'
          ePId_Output0 (2D 1136x768 PF_G16R16 RT) Velocity Dep:1
      Node#2 'SceneDepthZ'
          ePId_Output0 (2D 1136x768 PF_DepthStencil) SceneDepthZ Dep:1
      Node#5 'MotionBlurSetup0MotionBlurSetup1'
          ePId_Input0:Node#4 @ ePId_Output0 'Velocity'
          ePId_Input1:Node#1 @ ePId_Output0 'SceneColor'
          ePId_Input2:Node#2 @ ePId_Output0 'SceneDepthZ'
          ePId_Output0 (2D 568x384 PF_FloatRGBA RT) MotionBlurSetup0 Dep:2
          ePId_Output1 (2D 568x384 PF_FloatRGBA RT) MotionBlurSetup1 Dep:1
      Node#6 'QuarterResVelocity'
          ePId_Input0:Node#5 @ ePId_Output0 'MotionBlurSetup0MotionBlurSetup1'
          ePId_Input1:
          ePId_Output0 (2D 284x192 PF_FloatRGBA RT) QuarterResVelocity Dep:1
      Node#7 'VelocityBlurX'
          ePId_Input0:Node#6 @ ePId_Output0 'QuarterResVelocity'
          ePId_Input1:
          ePId_Output0 (2D 284x192 PF_FloatRGBA RT) VelocityBlurX Dep:1
      ...
    展开全文
  • (1)让目标被命中后变红(在目标被击中这个事件(EventHit)发生后为目标添加一个红色材质(Material)) (2)让目标能够来回移动(给目标的每一帧(EventTick)设置速度(Speed)、方向(Direction)) **接下来我们就来...
  • 1:AtmosphericFogColor:大气雾颜色,input: world pos 2.Desaturation(去饱和度):根据特定百分比将其输入的颜色转换为灰色阴影,输入亮度系数Luminance Factors和百分比(饱和度系数)Fraction ...
  • 材质函数 是材质图的一些小片段,它们可以保存在包中,并在多个材质之间重复使用。 对单个函数的编辑会传遍使用该函数的所有网络。因此,如果 需要修正函数或改变函数的工作方式,只需编辑材质函数即可,不必对 可能...
  • 创建动态材质 红色框标出的是动态材质的创建,绿色框标出的是选用的材质。 设置动态材质中的参数 红色框标出的是要设置参数的名字,绿色框标出的是设置的参数值。
  • 先看效果图:小木块掉到地板上(小木块本身会消失掉),地板就开始了动效材质切换。引擎版本用的是4.11.2 方法步骤: 首先在UE4内容浏览器中新建一个材质. 第一步要实现一个扫光的效果,如下图。 实现这个效果的...
  • 这篇博客解释了Unreal Engine 4中的Pixel Depth Offset通道的使用心得,并且结合街头霸王Ⅴ对该通道的使用来归纳出一些注意事项。
  • UE4蓝图:材质编程(0)

    2018-03-25 14:17:49
    之前在移动Actor的博客中,我们先给Box设置了红色的基础颜色.这属于最基础的材质编程. 右键创建材质类.并且重命名. 然后我们双击它进入材质蓝图编辑器. 可以看到和之前的关卡蓝图编辑器差异挺大的.下面简要...
  • UE4材质

    2017-08-07 18:44:51
    双击打开材质球后,按键盘1并单击鼠标左键会生成一个value,按键盘3并单击鼠标左键会生成3Vector(颜色)。Multip节点可以用于颜色和材质贴图的混合。如图 这样黑色部分还是黑色,白色部分变成红色。这里若要让黑色...
  • UE4 材质系统

    2020-02-17 11:27:10
    Unreal 材质系统 材质(Material)是可以应用到网格物体(Mesh)上的资源,用它可控制场景的可视外观。从较高的层面上来说,可能最简单的方法就是把材质视为应用到一个物体的"描画"。但这种说法也会产生一点点误导,...
  • Unreal引擎术语表

    2015-11-21 08:39:08
    Unreal引擎术语表 转载自UDN: ‍Actor - 一个可以放置在世界中或者在世界中产生的对象。这包括类似于Players(玩家)、Weapons(武器)、 Trash.StaticMeshes(静态网格物体)、Emitters(编辑器)、 Infos以及 ...
  • https://medium.com/@lordned/unreal-engine-4-rendering-part-2-shaders-and-vertex-data-80317e1ae5f3 翻译:yarswang 转载请保留 ...Unreal使用一些魔法来绑定C++的着色器表现与等价HLSL类,使用顶点工厂(Vertex...
  • 目录 一、概述 1.1 数字人类的概要 1.1.1 数字人类的历史和现状 1.1.2 数字人类的制作流程 1.2 Unreal Engine的数字人类 1.2.1 Unreal Engine数字人的历史 1.2.2 《Meet Mi...
  • 本节书摘来异步社区《精通Unreal游戏引擎》一书中的第4步,作者: 【英】Ryan Shah(沙哈)译者: 王晓慧 责编: 陈冀康,更多章节内容可以访问云栖社区“异步社区”公众号查看。 第4步 使用BSP创建地图 精通Unreal...
  • 目录 三、眼球渲染 3.1 眼球的构造及理论 3.1.1 眼球的构造 3.1.2 眼球的渲染理论 3.2 眼球的渲染技术 3.2.1 角膜的半透和光泽反射 3.2.2 瞳孔的次表面散射 3.2.3 瞳孔的缩放 ...
  • ue4 材质表达式分类

    2019-08-21 14:40:34
    https://api.unrealengine.com/CHN/Engine/Rendering/Materials/ExpressionReference/index.html 绿色节点 颜色 Color Desaturation 数学 Math GO 字体 Font FontSample,FontSampleParameter 实用程序 Utility ...
  • 关闭深度测试的材质无论前面是否有遮挡物都会显示,如下面的一个纯红色材质 勾选材质属性Translucency栏下的Disable Depth Test 这种材质可以用于坐标轴,如下图所示的坐标轴使用的这种材质,虽然在地板下面也...
1 2 3 4 5 ... 13
收藏数 253
精华内容 101
关键字:

unreal红色材质