您的位置:首页 > 移动开发 > Unity3D

Unity3D之视频播放

2016-02-25 23:41 549 查看
近日接到公司通知,对公司想学Unity3D游戏引擎的同仁进行专业培训,老大就挑了一些项目中时常用到的知识点,分给我和另一个主程备课,定时进行培训,然后就有了现在的这篇文章了,有不足的地方还请大家指正,先谢谢啦!

本节讲解的是Unity3D中的视频播放功能:

在Unity3D中播放视频有两种方式:一中是在GUI上直接播放,另一种是以GameObject为载体播放。

一、GUI上直接播放视频的方式:

有脚本如下:GuiPlay.cs

public class GuiPlay : MonoBehaviour {
public MovieTexture g_MTMov;
void Start () {
//设置音频
audio.clip = g_MTMov.audioClip;
}
void OnGUI()
{
//绘制电影纹理
GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), g_MTMov, ScaleMode.StretchToFill);
if(GUILayout.Button("Play"))
{
if(!g_MTMov.isPlaying)
{
g_MTMov.Play();
audio.Play();
}
}
if (GUILayout.Button("Pause"))
{
if (g_MTMov.isPlaying)
{
g_MTMov.Pause();
audio.Pause();
}
}
if (GUILayout.Button("Stop"))
{
if (g_MTMov.isPlaying)
{
g_MTMov.Stop();
audio.Stop();
}
}
}
}


把此脚本直接拖到MainCamera上,然后拖入视频,如下图:



二、以GameObject为载体播放视频

修改GuiPlay.cs代码

public class GuiPlay : MonoBehaviour {
public MovieTexture g_MTMov;
void Start () {
//在对象中播放时设¦置材质¨
this.renderer.material.mainTexture = g_MTMov;
//设置音频
audio.clip = g_MTMov.audioClip;
}
void OnGUI()
{
if(GUILayout.Button("Play"))
{
if(!g_MTMov.isPlaying)
{
g_MTMov.Play();
audio.Play();
}
}
if (GUILayout.Button("Pause"))
{
if (g_MTMov.isPlaying)
{
g_MTMov.Pause();
audio.Pause();
}
}
if (GUILayout.Button("Stop"))
{
if (g_MTMov.isPlaying)
{
g_MTMov.Stop();
audio.Stop();
}
}
}
}

把此脚本直接拖到GameObject上,然后拖入视频,如下图:



三、注意事项:

1,Unity3D支持的视频格式有:.mov、.mpg、.mpeg、.mp4、.avi和.asf。

可以用格式工场转换视频。

2,Unity3D解码报错,如下图:



PC需要安装QuickTime,安装后重启电脑。

3,视频声音控制

需要添加AudioSource组件和AudioListener组件。

在控制视频播放时同时控制音频即可。

我的Unity3D 是4.3.3版本。

以上就是全部内容了,

如果我写的能帮到你,我将感到很开心,有不足的地方也请指出,我是 “破破”,谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: