Unity3D之视频播放
2016-02-25 23:41
549 查看
近日接到公司通知,对公司想学Unity3D游戏引擎的同仁进行专业培训,老大就挑了一些项目中时常用到的知识点,分给我和另一个主程备课,定时进行培训,然后就有了现在的这篇文章了,有不足的地方还请大家指正,先谢谢啦!
本节讲解的是Unity3D中的视频播放功能:
在Unity3D中播放视频有两种方式:一中是在GUI上直接播放,另一种是以GameObject为载体播放。
一、GUI上直接播放视频的方式:
有脚本如下:GuiPlay.cs
把此脚本直接拖到MainCamera上,然后拖入视频,如下图:
二、以GameObject为载体播放视频
修改GuiPlay.cs代码
把此脚本直接拖到GameObject上,然后拖入视频,如下图:
三、注意事项:
1,Unity3D支持的视频格式有:.mov、.mpg、.mpeg、.mp4、.avi和.asf。
可以用格式工场转换视频。
2,Unity3D解码报错,如下图:
PC需要安装QuickTime,安装后重启电脑。
3,视频声音控制
需要添加AudioSource组件和AudioListener组件。
在控制视频播放时同时控制音频即可。
我的Unity3D 是4.3.3版本。
以上就是全部内容了,
如果我写的能帮到你,我将感到很开心,有不足的地方也请指出,我是 “破破”,谢谢!
本节讲解的是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版本。
以上就是全部内容了,
如果我写的能帮到你,我将感到很开心,有不足的地方也请指出,我是 “破破”,谢谢!
相关文章推荐
- Unity3D游戏开发入门(一)
- Unity3D Shader官方教程翻译(一)
- Unity5.3 不改变原代码,将ModifyVertices换成ModifyMesh的一个方法
- 项目记录23--unity-tolua框架MediatorManager
- Unity 5.x 导入教学Demo
- Unity3D占用内存太大的解决方法
- Protobuf-net 在Unity3D中使用的小技巧 (解决JIT错误)
- Unity C# 脚本教程
- C# 基础教程(结合Unity)
- Unity3d中关于Awake()、Start()、OnEnable()等的执行顺序关系
- Unity3D 合并模型 个人理解
- Unity性能优化
- Unity3D内置着色器
- Unity MeshFilter导出OBJ文件
- Unity 偏振3D左右格式画面制作
- Unity 实现倒计时 协程
- Unity调用Android保存图片到相册
- Unity移动端播放视频
- Unity保存录音文件到本地(2)
- Chrome无法使用Unity Web Player的解决方案