UE4学习笔记:如何在场景中播放视频
播放单个视频为例,需要的资源有:
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目录下的媒体文件在打包之后会一起复制到打包目录下,如果在其他目录要额外设置。
创建一个FileMediaSource,命名为VideoSource
创建一个FileMediaSource,命名为VideoSource
FilePath引用到Demo.mp4
创建MediaPlayer,命名为VideoPlayer
创建MediaPlayer时会弹出对话框,对话框中勾选Video output Media Texture asset项可以同时创建对应的MediaTexture,如果未勾选也可以自行创建
双击打开VideoPlayer,在左下角能看到所有的MediaSource列表,双击任何一个就可以播放该视频,在右下角的Details面板有一些设置项,可将鼠标悬停查看说明
创建MediaTexture,命名为TVTexture,如果上面已经创建直接重命名就可以了
打开TVTexture,将MediaPlayer属性值引用到VideoPlayer
在内容浏览器中TVTexture资源上右键CreateMaterial创建材质,命名为TVMaterial
打开关卡蓝图,创建一个MediaPlayer类型的变量,默认值设置为上面创建的VideoPlayer
在关卡蓝图中添加空格按键键事件,蓝图代码如下
OpenSource用于打开视频源,在Play之前至少调用一次,停止播放的函数为Close,还可以增加一个关闭视频功能
在关卡中加入一个平面作为视频播放屏幕(电视机屏幕),调整位置大小和方向,完成以上步骤后运行,按下空格键控制视频的播放和暂停,退格键关闭视频
MediaPlayer还有很多其他的函数用于控制视频的播放
相关文章
- 神经网络与机器学习 笔记—核方法和径向基函数网络(下)
- 【学习笔记02】JavaScript的变量和命名规范
- 《从零開始学Swift》学习笔记(Day 46)——下标重写
- keil mdk编译器学习笔记(5)——如何确保某一段程序不被优化掉 使用keil判断ARM的冷启动和热启动的方法
- 数据库,计算机网络、操作系统刷题笔记28
- 机器学习笔记之生成对抗网络(一)逻辑介绍
- 机器学习笔记之线性回归——从概率密度函数角度认识最小二乘法
- 厉害了!GitHub 大神的 K8S+SpringCloud 笔记,从基础到进阶都很细致
- 尚硅谷大厂面试第二季学习笔记周阳老师主讲
- Javascript 笔记与总结(2-2)Javascript 变量
- 【Oracle学习笔记】where、group by、 having和order by如何连用
- tensorflow学习笔记二:入门基础
- OS笔记047代理传值和block传值
- SwiftUI进阶之 16 软件开发如何控制复杂性? (《SICP》学习笔记)
- SQLite学习笔记之类和对象如何存储到数据中
- WWDC2016 Session笔记 – Xcode 8 Auto Layout新特性
- cocos2dx+lua学习笔记:事件派发器CCEventDispatcher
- Tensorflow入门与实战学习笔记(三)--Tensorflow tf.data 模块
- 计算机视觉经典论文阅读---AlexNet论文阅读笔记
- 【Java】Java学习笔记-对象和类
- 【C++快速上手】二十、explicit(显式)关键字学习笔记(待完善)
- 安卓开发学习笔记(二):如何用Android Stuidio在res资源下创建xml视图文件
- Linux学习笔记(5)磁盘分区(parted)
- 传感器技术—电容式传感器的测量转换电路(学习笔记七 补充)
- 【数据库学习笔记】——cursor游标对象
- Linux下汇编语言学习笔记25 ---
- Linux下汇编语言学习笔记20 ---
- Arduino学习笔记73
- 《ADVENT:Adversarial Entropy Minimization for Domain Adaptation in Semantic Segmentation》论文笔记
- sql注入学习笔记,什么是sql注入,如何预防sql注入,如何寻找sql注入漏洞,如何注入sql攻击 (原)