UE4的媒体框架(https://docs.unrealengine.com/en-US/Engine/MediaFramework/index.html)可用于播放本地视频、视频流以及图片序列。可以利用这些功能实现在场景中播放视频,例如在场景中有一个电视机模型,可以通过按键交互控制电视画面的播放、暂停以及关闭。
以播放单个视频为例,需要的资源有:
1、视频文件:将MediaPlayer支持的视频格式文件放到Content/Movies目录下
2、视频源:FileMediaSource或者StreamMediaSource,本地视频就是视频文件路径,视频流就是URL(官方Demo:https://docs.unrealengine.com/Attachments/Engine/MediaFramework/HowTo/StreamMediaSource/Infiltrator%20Demo.mp4)
3、视频播放器:MediaPlayer,可用于播放视频源
4、视频帧贴图:MediaTexture,MediaPlayer只能用于播放视频源,不能显示在场景中,但是可以将视频帧渲染到MediaTexture中,再通过MediaTexture创建材质赋予模型
5、视频帧材质:Material,将MediaTexture作为纹理贴图,从而显示到模型表面
下面是具体的实现步骤。
将Demo.mp4文件放到Content/Movies目录下,Movies目录下的媒体文件在打包之后会一起复制到打包目录下,如果在其他目录要额外设置。
创建一个FileMedia