public MovieTexture movTexture;
void Start() {
//设置当前对象的主纹理为电影纹理
renderer.material.mainTexture = movTexture;
//设置电影纹理播放模式为循环
movTexture.loop = true;
}
void OnGUI()
{
if(GUILayout.Button("播放/继续"))
{
//播放/继续播放视频
if(!movTexture.isPlaying)
{
movTexture.Play();
}
}
if(GUILayout.Button("暂停播放"))
{
//暂停播放
movTexture.Pause();
}
if(GUILayout.Button("停止播放"))
{
//停止播放
movTexture.Stop();
}
}
把这代码拖给一个压扁的cube,然后把MP4拖给这个脚本上的movTexture,运行,点击播放就可以了,不过你的电脑上必须安装quicktime播放器,视频才能转化成unity可以使用的,没有quicktime好像只能播放ogg的视频。上面是吧视频当作cube的纹理,下面是利用ui原理播放的,
//电影纹理
public MovieTexture movTexture;
void Start()
{
//设置电影纹理播放模式为循环
movTexture.loop = true;
}
void OnGUI()
{
//绘制电影纹理
GUI.DrawTexture (new Rect (0,0, Screen.width, Screen.height),movTexture,ScaleMode.StretchToFill);
if(GUILayout.Button("播放/继续"))
{
//播放/继续播放视频
if(!movTexture.isPlaying)
{
movTexture.Play();
}
}
if(GUILayout.Button("暂停播放"))
{
//暂停播放
movTexture.Pause();
}
if(GUILayout.Button("停止播放"))
{
//停止播放
movTexture.Stop();
}
}
把代码随便拖给一个物体,然后把视频拖给movTexture,运行,点播放就可以了,如果还不成功可以准问我,两个方法都需要电脑安装quicktime播放器