当前位置:网站首页>UE 在场景或UMG中播放视频
UE 在场景或UMG中播放视频
2022-07-29 04:30:00 【Sakuya__】
在虚幻中,我们有时候会想在场景或者UMG中播放一段视频,这里记录一下如何实现以及中间遇到的坑。
安装插件和导入资源
使用官方的插件Electra Player,使用这个插件可以支持DX12,勾选上后重启编辑器启用。

首先在Content目录下创建一个Movies的文件夹,然后把你要播放的视频放到这个文件目录下并导入到项目中(因为打包的时候只会把这个文件夹下的MP4文件打包进项目,如果放到别的文件夹下打包后会播放不了视频)。

右键选择Media->MediaPlayer创建媒体播放器,在弹出的对话框中这个Video output MediaTexture asset 要勾选上,会自动帮我们创建一个Media Texture。



打开我们创建的这个NewMediaPlayer,就可以在下面的列表中发现我们一开始导入的视频文件,双击可以播放。在播放选项里把解码器设置为我们刚才导入的插件——Electra Player。

在场景中播放视频
选择刚才创建出来的Media Texture,右键选择Create Material,创建一个材质,默认命名为NewMediaPlayer_Video_Mat。想要在场景中播放,首先要创建一个能放在场景中的actor,把它命名为BP_VideoScreen。然后给它添加一个Cube组件,并把它拉伸成我们想要的播放器的样子,最后把刚才创建的材质赋给Cube,编译保存。


为了让播放的视频的视频有声音,还需要给它添加一个MediaSound组件,并把它的MediaPlayer设置为一开始创建的NewMediaPlayer。

创建好之后,把创建的这个BP_VideoScreen拖入场景中,再打开关卡蓝图。创建一个MediaPlayer类型的变量命名为MediaPlayer,并把它的默认值设成我们一开始创建的NewMediaPlayer。

然后在BeginPlay事件中调用MediaPlayer的OpenSource和Play方法,参数MediaSource设置为一开始导入的视频资源。想要循环播放的话,调用MediaPlayer的SetLooping方法,并把参数Looping勾选上。

回到场景中运行游戏,就可以看到我们拖入场景的BP_VideoScreen在播放视频了。

在UMG上播放视频
同样右键Media Texture创建一个材质,命名为UI_MediaPlayer。把材质输出节点的材质类型改为User Interface,把它改为UI的输出形式,再选择材质模板的材质设置为一开始创建的Media Texture,设置完后保存。


接着创建一个用来播放视频的UMG,添加一个图片填充满画布,把图片的材质设置成刚才创建的UI_MediaPlayer。

在UMG的构造函数里播放视频,节点和在场景中播放视频是一样的。

最后我们只需要设置按键显示出我们的UMG并播放视频就可以了,在关卡蓝图里这样通过按Tab键把UMG添加到视口中。
播放好几个视频
右键选择Media->Media Playlist创建,打开后设置要播放的几个视频。


其他地方都是一样的,只要在关卡蓝图里调用的方法改成OpenPlaylist,并把In Playlist参数设置成创建的NewMediaPlaylist就行了。

边栏推荐
- Mongo Shell交互式命令窗口
- 14. Haproxy+kept load balancing and high availability
- Christmas tree web page and Christmas tree application
- [material delivery UAV] record (ROS + Px4 + yolov5 + esp8266 + steering gear)
- 不会就坚持61天吧 最短的单词编码
- 你真的会写Restful API吗?
- Whether the modification of import and export values by ES6 and commonjs affects the original module
- Won't you insist on 71 days? List sorting
- Use of construction methods
- It won't last for 70 days. The k-largest number in the array
猜你喜欢

论pyscript使用感想(实现office预览)

Star a pathfinding in LAYA

String, array, generalized table (detailed)

Dasctf2022.07 empowerment competition

15.federation

Christmas tree web page and Christmas tree application

Tower of Hanoi classic recursion problem (C language implementation)

TypeError: Cannot read properties of undefined (reading ‘then‘)

【Express连接MySQL数据库】

Record the Niua packaging deployment project
随机推荐
It won't last for 65 days. It only appears once
Shell string segmentation
Classes and objects (I)
Multi card training in pytorch
Pyqt5 learning pit encounter and pit drainage (1) unable to open designer.exe
Don't stick to it for 68 days. Baboons eat bananas
9. Delay queue
On quotation
On the use of pyscript (realizing office preview)
Kotlin's list, map, set and other collection classes do not specify types
Deploy Jenkins using containers
Pytorch GPU and CPU models load each other
MySQL - 聚簇索引和辅助索引
Mongo Shell交互式命令窗口
Pyscript cannot import package
Visio draw grid
es6和commonjs对导入导出的值修改是否影响原模块
pyscript无法引入包
不会就坚持58天吧 实现前缀树
VScode 一键编译和调试