unity3d研究之视频播放

写在前面:

首先需要安装qucktime 播放器,并升级至专业版,注册码请找度娘。安装完之后,如果发现unity还是无法解析视频文件至movietexture,可以尝试重启电脑,重新导入视频文件。导入操作可能会导致unity无响应,需要等待几分钟。如果导入成功,untiy会自动解析出视频的纹理和音频。如图:


Unity支持的播放视频格式有.mov、.mpg、.mpeg、.mp4、.avi和.asf。

开始正题:

Unity中播放游戏视频的原理很简单,使用视频解码器将视频按照渲染引擎的模式逐帧转换成texture,然后将texture附着到一个摄像机能看到的render对象的材质球上,等untiy更新render的时候就可以看到了。

网上主流的做法是两种,第一种是在游戏对象中播放,比如在游戏世界中创建一个Plane面对象,替换plane的renderer.material.mainTexture。这个plane可以是任何一个具有render的场景对象。这种方式可以用来实现游戏内场景模型播放视频,比如场景中的电视机模型播放视频等。

第二种是在GUI层面上播放视频,就是将movietexture当做一个纹理丢给gui。这种方式可以用来播放游戏CG,过场视频等,也可以用来在UI上播放视频等。

方法1的核心代码:

void Start()下添加

renderer.material.mainTexture = m_MovieTexture;

m_MovieTexture.Play();

方法2的核心代码:

void Start()下添加

m_MovieTexture.Play();

void OnGUI()下添加

GUI.DrawTexture(new Rect(0,0,Screen.width,Screen.height),m_MovieTexture,ScaleMode.ScaleToFit);


有关movietexture的其他参数设置 以及audio的设置请参考脚本手册,这里不累赘了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值