前言
使用Unity做二维视频播放器相关项目时碰到,故记录如下
一、方法一:直接挂载脚本至相机
1.1 修改分辨率
首先将Game视口改为需要的分辨率,这里演示采用的是2048*1536分辨率
注:实际输出分辨率由ActiveDisplay脚本控制,这里其实只需要改成和视频素材相同的长宽比即可,具体操作参考这里
Unity实战(8):设置运行输出分辨率_proibell的博客-CSDN博客
1.2 新建一个脚本并挂载相机上
1.3 编写脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Video;public class VideoControl : MonoBehaviour
{
private static VideoPlayer videoPlayer;
// Start is called before the first frame update
void Start()
{
videoPlayer = this.gameObject.AddComponent<VideoPlayer>();
videoPlayer.url = "file:///D:/videoAssets/test.mp4";
videoPlayer.Play();
}// Update is called once per frame
void Update()
{
}
}
注意:添加using UnityEngine.Video;引用
本例url采用的是本地绝对路径,这样可以使视频和工程文件解耦,方便后续更改;也可以直接将视频文件放入Unity工程文件并使用videoClip的形式附上
1.4 说明事项
使用url调用加载本地视频时,由于是在启动时单独加载,因此若视频较大加载较慢,会导致播放开头呈现几秒相机原画面,此时可以将相机组件中改为显示固有色,一般选择黑色,减少加载缓慢时的突兀感
二、方法二:使用quad播放视频
有时在播放的视频中添加一些其他的物体等,此时可以使用quad播放视频,具体方法可以查看这一篇
Unity实战(5):如何使相机视口与一个面完美对齐_proibell的博客-CSDN博客
三、其他
此方法使用到的是unity自带的videoPlayer组件,相关组件每一项属性或方法可以参考官方说明文档,链接如下