查看: 10083|回复: 9
打印 上一主题 下一主题

[教程] Unity3d基础教程11—视频元素(MovieTexture)

[复制链接]

25

主题

5

听众

358

积分

设计实习生

Rank: 2

纳金币
300
精华
0

最佳新人

跳转到指定楼层
楼主
发表于 2013-1-21 13:09:06 |只看该作者 |倒序浏览
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按钮,视频开始播放,暂停,和停止。
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

733

主题

5

听众

1万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
6520
精华
14

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2013-1-22 02:26:13 |只看该作者
本帖最后由 艾西格亚 于 2013-5-11 18:35 编辑

不错,刚好需要这个教程
回复

使用道具 举报

2722

主题

42

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
38268
精华
111

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2013-1-29 17:17:07 |只看该作者
希望更多的朋友分享制作经验

回复

使用道具 举报

733

主题

5

听众

1万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
6520
精华
14

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2013-1-29 17:41:30 |只看该作者
本帖最后由 艾西格亚 于 2013-5-11 18:35 编辑

试了一下,有的movie导入会有问题,不知是不是格式有影响
回复

使用道具 举报

0

主题

1

听众

19

积分

设计初学者

Rank: 1

纳金币
7
精华
0

活跃会员 灌水之王

5#
发表于 2013-1-30 18:29:05 |只看该作者
很好的教程,多谢楼主!学习学习!
回复

使用道具 举报

40

主题

0

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
279
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

6#
发表于 2014-7-13 20:04:46 |只看该作者
谢谢楼主分享经验,mobile上总是不正常显示
回复

使用道具 举报

115

主题

3

听众

5676

积分

高级设计师

Rank: 6Rank: 6

纳金币
7268
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

7#
发表于 2014-7-13 21:26:42 |只看该作者
THanks for sharing this one!
回复

使用道具 举报

16

主题

5

听众

4304

积分

中级设计师

Rank: 5Rank: 5

纳金币
1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

8#
发表于 2014-7-16 16:01:13 |只看该作者
需要这个教程
回复

使用道具 举报

0

主题

0

听众

36

积分

设计初学者

Rank: 1

纳金币
2
精华
0
9#
发表于 2015-1-5 14:38:00 |只看该作者
只有pro是什么意思啊?
回复

使用道具 举报

0

主题

0

听众

36

积分

设计初学者

Rank: 1

纳金币
2
精华
0
10#
发表于 2015-1-5 14:38:50 |只看该作者
只有pro是什么意思?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-23 22:32 , Processed in 0.100251 second(s), 36 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部