纳金网
标题:
Unity3d基础教程11—视频元素(MovieTexture)
[打印本页]
作者:
paopao
时间:
2013-1-21 13:09
标题:
Unity3d基础教程11—视频元素(MovieTexture)
在unity3d中,我们需要MovieTexture(电影纹理)来添加游戏视频。MovieTexture对象继承自纹理对象,所以其用法与纹理基本一样。(注:使用MovieTexture是,要确保计算机已经正确安装了quicktime player,还有就是只有pro的才支持MovieTexture)Unity3D中播放游戏视频的方式有两种,第一种是在游戏对象中播放,就好比在游戏世界中创建一个Plane面对象,摄像机直直的照射在这个面上。第二种是在GUI层面上播放视频。我们先来看第一种方式:打开unity3d,新建一个工程,在hierarchy视图中新建一个Plane。调整Plane与摄像机的位置,如图即可:
然后将一个视频文件拖入到Project视图中,系统会自动自动生成对应的电影纹理。
又侧位视频文件的属性面版。创建一个c#脚本,命名为movie1。编写代码如下,public class movie1 : MonoBehaviour { //定义一个电影纹理 public MovieTexture MOV1; // Use this for initialization void Start () { //设置主纹理为电影纹理 renderer.material.mainTexture=MOV1; MOV1.Play(); } // Update is called once per frame void Update () { }}将代码拖放到我们新建的面片上:
然后将我们的视频文件拖放到我们的脚本变量MOV1上:
运行游戏。发现视频开始播放。如果我们导入视频是带有声音的,会发现声音并没有播放,下面就看下怎么把声音加上呢。首先我们要给我们的物体添加一个音频组件,
下面有两种方法来的到这个声音,1:将视屏文件下的音频文件拖入
将Play On Awake勾掉。然后打开刚才的脚本,在Start()函数中加入以下代码。audio.Play();方法2:用脚本读取音频文件,音频组件添加完成后。打开脚本文件。在Start()函数中加入以下代码。:audio.clip=MOV1.audioClip;audio.Play();运行游戏,视频和音频也会同步播放。我们现在可以播放了,下面看下怎么暂停和停止视频播放。在脚本movie1中添加如下代码void OnGUI(){ if(GUILayout.Button("play")) { if(!MOV1.isPlaying) { //播放音频和视频 MOV1.Play(); audio.Play(); } } if(GUILayout.Button("pause")) { //暂停音频和视频 MOV1.Pause(); audio.Pause(); } if(GUILayout.Button("stop")) { //停止音频和视频 MOV1.Stop(); audio.Stop(); } }运行游戏。得到如图所示画面。
点击play、pause、stop按钮,视频开始播放,暂停,和停止。下面我们来看第二种方法,怎么在中添加电影纹理。首先将plane的
勾取消,这样plane将不在被渲染,代码也不在执行。这样做是为了不和我们下面做的效果重合。然后新建一个c#脚本,命名为movGUI。然后在movGUI脚本中编写如下代码:public class movGUI : MonoBehaviour { public MovieTexture MOV1; void Start () { //设置纹理循环播放 audio.clip=MOV1.audioClip; MOV1.loop=***e; } void OnGUI() { //绘制电影纹理 GUI.DrawTexture(new Rect(0,0,Screen.width,Screen.height),MOV1,ScaleMode.StretchToFill); if(GUILayout.Button("play")) { if(!MOV1.isPlaying) { //播放音频和视频 MOV1.Play(); audio.Play(); } } if(GUILayout.Button("pause")) { //暂停音频和视频 MOV1.Pause(); audio.Pause(); } if(GUILayout.Button("stop")) { //停止音频和视频 MOV1.Stop(); audio.Stop(); } } }然后新建一个GameObject,将脚本添加到GameObject上面。在将视屏文件拖到变量MOV1上面。
最后不要忘了给GameObject游戏物体添加一个音频组件,不然回去报错。都添加完成后,运行游戏。
点击play、pause、stop按钮,视频开始播放,暂停,和停止。
作者:
雅雅
时间:
2013-1-22 02:26
本帖最后由 艾西格亚 于 2013-5-11 18:35 编辑
不错,刚好需要这个教程
作者:
狂风大尉
时间:
2013-1-29 17:17
希望更多的朋友分享制作经验
作者:
雅雅
时间:
2013-1-29 17:41
本帖最后由 艾西格亚 于 2013-5-11 18:35 编辑
试了一下,有的movie导入会有问题,不知是不是格式有影响
作者:
atunet
时间:
2013-1-30 18:29
很好的教程,多谢楼主!学习学习!
作者:
libufan
时间:
2014-7-13 20:04
谢谢楼主分享经验,mobile上总是不正常显示
作者:
HIDEOKOJIMA
时间:
2014-7-13 21:26
THanks for sharing this one!
作者:
yangjianhui6
时间:
2014-7-16 16:01
需要这个教程
作者:
maya130
时间:
2015-1-5 14:38
只有pro是什么意思啊?
作者:
maya130
时间:
2015-1-5 14:38
只有pro是什么意思?
欢迎光临 纳金网 (http://old.narkii.com/club/)
Powered by Discuz! X2.5