播放图像序列

示范如何使用图像媒体源资源播放图像序列。

Windows
MacOS
Linux
本页面的内容

作为媒体框架工具的一部分,图像媒体源(Image Media Source) 资源提供了一种在虚幻引擎4(UE4)中播放图像序列的方法。 图像媒体源(Image Media Source)类似于文件媒体源(File Media Source),您可以指定图像序列文件的路径以便进行播放,而不是指向视频的链接。 命名约定十分重要,建议您按图像顺序进行命名,如_Image_01Image_02Image_03_,确保它们按正确顺序播放。

在本操作指南中,我们将应用并使用图像媒体源(Image Media Source),以在关卡中的静态网格体上播放图像序列。

ImageMediaHero.png

步骤

在本操作指南中,我们使用启用了 初学者内容包蓝图第三人称模板(Blueprint Third Person Template) 项目。 您还需要一个图像序列,如果您没有,可以单击右键并下载本教程中使用的样本图像序列

  1. 内容浏览器 中,展开 源(Sources) 面板,然后在 内容(Content) 下面,创建一个新文件夹 电影(Movies)

    IMGSequence_01.png

  2. 右键单击 电影(Movies) 文件夹,然后选择 在资源管理器中显示(Show in Explorer)

    IMGSequence_02.png

    虽然不是强制性要求,但为了正确打包项目并部署媒体文件,建议您将媒体文件放在 Content/Movies 文件夹中。

  3. 将图像序列的图像放在 Content/Movies 文件夹中。

    IMGSequence_03.png

    在上图中,我们在 Content/Movies 中创建了一个新文件夹,名为 UE4_Images,并在其中放置了PNG图像。 我们还创建了另一个文件夹,名为 lowres,其中包含序列中图像的较低分辨率版本。 媒体框架工具为您提供了一种方法,供您在开发期间通过媒体源代理处理(通常)较低分辨率版本的图像。 这样效率更高,并可以尽量减少在处理较大图像序列和文件大小时的性能问题。

  4. 返回到 编辑器(Editor),在虚幻引擎4项目内部,单击 自动导入(Auto-Import) 对话框上的 不导入(Don't Import) 按钮。

    IMGSequence_03b.png

    无需将图像导入到项目中,因为我们可以指向它们在项目目录中的位置。

  5. 右键单击 Content/Movies 文件夹,然后在 媒体(Media) 下面,选择 图像媒体源(Img Media Source),并命名为 MyImageSequence

    IMGSequence_04.png

  6. 在新的 MyImageSequence 资源中,单击 序列路径(Sequence Path) 旁边的 ... 按钮,并将其指向图像序列中的第一个图像。

    IMGSequence_05.png

  7. 单击 高级选项(Advanced Options) 滑出按钮来展开 序列(Sequence) 选项,并在 代理覆盖(Proxy Override) 下面输入 lowres

    IMGSequence_06.png

    这里我们指向名为 lowres 的文件夹,这个文件夹包含用于开发的较低分辨率图像。 使用较低分辨率图像将减少内存需要,并提供优于完整分辨率文件的体验。

    “代理覆盖(Proxy Override)”路径必须指向与完整分辨率图像相同目录结构中的同名文件夹才能找到它。

  8. Content/Movies 文件夹中单击右键,然后在 媒体(Media) 下面选择 媒体播放器(Media Player)

    IMGSequence_07.png

    媒体播放器(Media Player)资源将用来播放我们所创建的图像序列。

  9. 创建媒体播放器(Create Media Player) 窗口中,启用 视频输出媒体纹理资源(Video output Media Texture asset) 选项,然后单击 确定(OK) 按钮。

    IMGSequence_08.png

    这样将创建并自动指定 媒体纹理(Media Texture) 资源,这个资源与将用来播放图像序列的这个媒体播放器关联。

  10. 媒体播放器(Media Player) 资源命名为 MyPlayer(将自动命名媒体纹理)并双击以将其打开。

    IMGSequence_09.png

  11. 媒体编辑器(Media Editor) 中,在 细节(Details) 面板中,启用 循环(Loop) 选项。

    IMGSequence_09b.png

    启用该选项将使媒体播放器持续循环播放图像序列。

  12. 双击 MyImageSequence 资源以开始播放图像序列。

    IMGSequence_10.png

    您的图像序列将开始在媒体编辑器中播放,如果您单击 信息(Info) 选项卡,将看到有关所播放图像序列的信息。 在我们的示例中,我们可以看到图像序列的 尺寸(Dimension)640 x 360,因为我们目前使用的是 lowres 图像。

  13. 内容浏览器 中,打开 MyImageSequence 资源,清空 代理覆盖(Proxy Override) 部分。

    IMGSequence_11.png

    这样我们就可以切换到完整分辨率图像,如果再次打开媒体播放器资源并播放图像序列,尺寸(Dimension) 值就会有所不同。

    IMGSequence_12.png

    播放器窗口底部的 图像缓存(Image Cache) 进度条反映的是内存中缓存的内容量(绿色表示完全就绪并已加载,黄色表示当前正在加载,灰色表示正在计划加载)。 根据系统硬件,缓存量和颜色可能有所不同。有关更多信息,请参阅媒体框架总览的“图像媒体”部分。

  14. 从主编辑器的 模式(Modes) 面板中的 基本(Basic) 下面,将 平面(Plane) 拖到关卡中并根据需要调节大小和位置。

    IMGSequence_14.png

    您可以使用变换工具根据需要来移动、旋转或伸缩平面。

  15. 内容浏览器,将 MyPlayer_Video 媒体纹理资源拖到关卡中的 平面(Plane) 上面。

    IMGSequence_14b.png

    这样将自动使用该媒体纹理创建 材质 并将其应用于关卡中的这个平面上,继而将用来播放我们的图像序列。

  16. 从主工具栏,单击 蓝图(Blueprints) 按钮,然后选择 打开关卡蓝图(Open Level Blueprint)

    IMGSequence_15.png

    在开始测试之前,将使用蓝图告诉我们的媒体播放器,在游戏开始时打开图像媒体源资源以便开始播放。

  17. 我的蓝图(MyBlueprint) 面板中,创建 媒体播放器引用(Media Player Reference) 类型的变量并命名为 MediaPlayer,然后将 MyPlayer 指定为 媒体播放器(Media Player)

    IMGSequence_16.png

    创建变量后,需要单击 编译(Compile) 来为 媒体播放器(Media Player) 指定 默认值(Default Value)

  18. 按住 Ctrl 键并将 媒体播放器(MediaPlayer) 变量拖到图形上,然后单击右键并创建 事件开始播放(Event Begin Play) 节点。

    IMGSequence_17.png

  19. 媒体播放器(Media Player) 变量拖出引线,使用 打开源(Open Source) 节点,将 媒体源(Media Source) 设置为 MyImageSequence 并按图所示进行连接。

    IMGSequence_18.png

  20. 编译(Compile)保存(Save),然后从主编辑器,单击 播放(Play) 按钮来在编辑器内部播放。

最终结果

在编辑器中播放后,图像序列将开始在关卡中的静态网格体播放并循环播放。

该示例使用的是PNG文件,但您可以使用图像媒体源中支持的文件类型的任何图像文件。

欢迎来到全新虚幻引擎4文档站!

我们正在努力开发新功能,包括反馈系统,以便您能对我们的工作作出评价。但它目前还未正式上线。如果您对此页面有任何意见与在使用中遭遇任何问题,请前往文档反馈论坛告知我们。

新系统上线运行后,我们会及时通知您的。

发表反馈意见