在蓝图中转换颜色

在虚幻引擎中将蓝图与OpenColorIO搭配使用来应用颜色变换

Choose your operating system:

Windows

macOS

Linux

你可以使用 蓝图(Blueprints)OpenColorIO (OCIO)颜色变换应用于任何一种输入纹理(包括播放视频源的 MediaTexture),并在 RenderTarget 中获得转换后的结果。此页面将显示如何在项目中使用 Apply Color Space Transform 蓝图函数。

先决条件

你必须在项目中设置以下内容才能完成下面的分段:

  • 一个 OpenColorIO配置资产(OpenColorIO Configuration Asset)。请参阅OpenColorIO快速入门了解创建此资产的步骤。

  • 一个 蓝图类(Blueprint Class) ,从包含 事件更新函数(Event Tick)蓝图Actor(Blueprint Actor) 创建。

使用Apply Color Space Transform函数

执行以下步骤,将颜色转换应用于蓝图。这些步骤使用 EditorUtilityActor 蓝图类作为示例。

  1. 蓝图编辑器(Blueprint Editor) 中,双击打开你的 蓝图类(Blueprint Class)

  2. 我的蓝图(My Blueprint) 面板中的 变量(Variables)> 组件(Components) 下,点击 添加(+)变量(Add (+) Variable) 以创建新变量。将新变量命名为 InputTexture

    在蓝图类中添加新变量

  3. 在新的InputTexture变量旁边,点击 设为公开(Make Public) ,使其在此蓝图之外可见。

    设为公开的InputTexture变量

  4. 将变量InputTexture的 变量类型(Variable Type) 设为 对象类型(Object Types)> 纹理(Texture)> 对象引用(Object Reference)

    将InputTexture变量类型设为纹理对象引用

  5. 再创建两个变量并将其设为公开:

    • OutputTexture ,变量类型为 纹理渲染目标2D(Texture Render Target 2D)> 对象引用(Object Reference)

    • ColorConversionSettings ,变量类型为 打开颜色IOColor转换设置(Open Color IOColor Conversion Settings)

    创建了所有变量的蓝图

  6. InputTexture 变量拖动到 事件图表(Event Graph) 中,然后选择 Get InputTexture。这会在事件图表中创建新的InputTexture节点。

    拖动到事件图表中以创建Get InputTexture节点的InputTexture变量

  7. OutputTextureColorConversionSettings 变量重复该过程。

    从所有变量创建的蓝图节点

  8. 事件图表 中右键点击,然后添加新的 Apply Color Space Transform 节点。

    Apply Color Space Transform节点已创建

  9. 将这些节点连接起来:

    • 输出执行引脚 从预先提供的 Event Tick 节点连接到 Apply Color Space Transform 节点的 输入执行引脚

    • InputTexture 节点的 输出数据引脚 连接到 Apply Color Space Transform 节点上的 输入纹理输入数据引脚

    • OutputTexture 节点的 输出数据引脚 连接到 Apply Color Space Transform 节点的 输出渲染目标 输入数据引脚

    • Color Conversion Settings 节点的 输出数据引脚 连接到 Apply Color Space Transform 节点的 转换设置输入数据引脚

    蓝图节点已连接

  10. 编译(Compile)保存(Save) 蓝图。关闭蓝图编辑器。

  11. 将你的 蓝图资产(Blueprint Asset) 拖动到关卡中以创建其 Actor

  12. 大纲视图(Outliner) 中,选择你的 蓝图Actor(Blueprint Actor) 以打开其 细节(Details) 面板。

  13. 细节(Details) 面板中,展开 默认(Default) 分段,并将 输入纹理(Input Texture) 设为你所需的输入文件。

  14. 内容浏览器(Content Browser) 中创建 渲染目标资产(Render Target Asset) ,并将 输出纹理(Output Texture) 设为指向新的渲染目标资产。

    分配了所有变量的蓝图类Actor的细节面板

  15. 蓝图Actor(Blueprint Actor)细节(Details) 面板中,展开 颜色转换设置(Color Conversion Settings) 分段。将 配置源(Configuration Source) 设为你的OpenColorIO配置资产,并调整 源颜色空间(Source Color Space)目标颜色空间(Destination Color Space) 以匹配输入和输出媒体的颜色空间。

  16. 将你的 渲染目标资产(Render Target Asset) 拖动到关卡中的 Actor ,以使用颜色变换预览你的媒体。你可以继续调整源颜色空间(Source Color Space)和目标颜色空间(Destination Color Space)设置以便预览不同的输出。

本文基于此前的虚幻引擎版本编写,未针对当前的虚幻引擎5.0版本更新过。