
在本文中,3D天堂将介绍如何在Unity3D中播放视频,将会了解到从资源文件夹加载视频以及加载本地视频路径或URL互联网路径。
首先需要将VideoPlayer组件添加到游戏对象,它支持多种视频文件格式导入Unity,不过不是所有的视频文件Unity都支持,可以在这里查看官方视频兼容文档。
在平面上播放视频
- 创建一个平面游戏对象,目标为游戏
对象菜单 → 3D对象 → 平面。 - 为其添加VideoPlayer组件。
- 将视频文件拖放到编辑器中的视频剪辑输入字段

运行时播放视频
默认情况下,视频将在有动作时播放,取消选中下面红色框框下的复选框,这样就可以在运行时播放视频。

使用以下脚本在运行时播放。
using UnityEngine;
using UnityEngine.Video;
public class PlayRuntime : MonoBehaviour
{
private VideoPlayer MyVideoPlayer;
private void Start()
{
MyVideoPlayer = GetComponent<VideoPlayer>();
// play video player
MyVideoPlayer.Play();
}
}
在画布元素上播放视频
- 在场景中创建一个Video Player游戏对象,目标菜单
为游戏对象 → 视频 → 视频播放器,像上面(在平面上播放视频)第3步一样,将视频拖放到视频剪辑字段。 - 在资源文件夹中创建渲染纹理,目标菜单为
资产 → 创建 → 渲染纹理,将此渲染纹理拖放到视频播放器组件的目标纹理字段中。 - 在场景中创建原始图像游戏对象,根据需要调整游戏对象的大小,将最后一步的渲染纹理拖放到它的纹理输入字段中。

下图展示的是上面的第三步。

此时运行Unity就可以查看结果了。

在运行时加载资源文件夹视频文件
using UnityEngine;
using UnityEngine.Video;
public class LoadVideoResources : MonoBehaviour
{
private VideoPlayer MyVideoPlayer;
private void Start()
{
//video player component
MyVideoPlayer = GetComponent<VideoPlayer>();
// assign video clip
MyVideoPlayer.clip = Resources.Load<VideoClip>("SampleVideo");
}
}
从URL加载视频文件
using UnityEngine;
using UnityEngine.Video;
public class LoadVideoLocalFolder : MonoBehaviour
{
private VideoPlayer MyVideoPlayer;
private string videoUrl;
private void Start()
{
videoUrl = "your url";
//video player component
MyVideoPlayer = GetComponent<VideoPlayer>();
//change video source to url
MyVideoPlayer.source = VideoSource.Url;
// assign video clip
MyVideoPlayer.url = videoUrl;
}
}
从本地文件路径加载视频文件
在本地路径前需要附加“file:///” + videoUrl。
//set your local video path
videoUrl = @"C:\i3dttVideo.mp4";
MyVideoPlayer.url = "file:///" + videoUrl;
…
以上是3D天堂关于在Unity中播放视频的全部内容,如果你有任何反馈,请随时在本页面下方留言。