在插件 - 蓝图设置中新建一个全局着色器

设置蓝图测试插件代码中的着色器。

Windows
MacOS
Linux
On this page

验证插件正常工作后,以下部分将说明如何使用蓝图调用全局着色器。

  1. 如需查看其工作原理,在 Content Browser 中点击右键并新建一个 Blueprint ClassActor 作为其父类,命名为 DrawUVDisToRenderTarget

    HT_ShadersInPlugins_11.png

  2. 接下来新建一个名为 RT_00渲染目标 和一个名为 MAT_RT 的新材质。

    HT_ShadersInPlugins_12.png

  3. 打开 MAT_RT 材质,然后将 RT_00 Render Target 添加到材质图表,将其输出连接到主材质节点上的 Base Color 输入,完成后按下 ApplySave 按钮。

    点击查看全图。

  4. 接下来打开 DrawUVDisToRenderTarget 蓝图并将以下变量和节点创建/添加到事件图表。

    变量

    默认值

    K1

    1.0

    K2

    1.0

    inc

    1.0

    节点

    默认值

    W

    N/A

    S

    N/A

    Event Tick

    N/A

    Draw UVDisplacement to Render Target

    在视野(FOV)、高宽比(Aspect Ratio)、过扫描因子(Overscan Factor)中输入 1

    Make FooCameraModel

    N/A

    Clear Render Target 2D

    N/A

    HT_ShadersInPlugins_14.png

  5. 为简单地展示 Draw UVDisplacement to Render Target 节点如何对提供的渲染目标进行变形,用户需要对蓝图进行设置,使此节点上 K1K2 输入中输入的值能够通过按键进行增加或减少。为完成此操作,需要在事件图表中设置节点,使其与下图相匹配:

    Copy Node Graph

    您可直接将此蓝图代码复制粘贴到蓝图中。

    需要将渲染目标输入 Output Render Target,否则不会有效果。

  6. 所需的蓝图逻辑设置完成后,编译保存 蓝图,然后将蓝图从 Content Browser 拖入 关卡。完成后,选择蓝图,然后在 Input 下将 Auto Receive InputDisabled 改为 Player 0

    点击查看全图。

  7. 接下来选中地面,按下 CTRL + W 复制,然后在 X 轴中将其旋转 -90 度,然后将材质 MAT_RT 拖到其上方,即可看到 Draw UVDisplacement to Render Target 的效果。

    点击查看全图。

  8. 所有内容设置完成后,按下 Play 按钮,再按下 WS 键对输入 Draw UVDisplacement to Render Target 节点的渲染目标执行变形,效果与以下视频相似。

最终结果

此时您便已学习到如何通过蓝图对渲染目标中的内容执行变形,创建各种有趣的形状。下一步可以尝试新建一个插件,或对现有插件进行编辑,看您能创建出什么有趣的图像和效果。

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback