Unity3D动态加载外部MovieTexture视频
来源:互联网 发布:java udp编程和 tcp 编辑:程序博客网 时间:2024/05/17 22:47
开场动画是每个游戏中必不可少的部分,像一般做测试的时候都用自己制作好的视频来代替。我们在Unity中播放视频的时候一般都是把视频直接拖到Asset目录下,然后播放实现!!!
但是在今天,教大家一个动态加载外部视频!在Unity中,我们一般都是将 *.mov *.mp4等格式拖拽进来,Unity会自动转换为MovieTexture,音频AudioClip在子节点可以直接找到。但有时候我们想动态加载?怎么办呢?
废话不多说,直接附上源码,可自行修改!!!
using UnityEngine; using System.Collections; using System.IO; //[RequireComponent(typeof(AudioSource))] public class MoviePlayer : MonoBehaviour { private MovieTexturemovieTexture;// private string movieDir = "/Data/Movie";//根目录下 private float movietime; privatestatic MoviePlayer instance; public static MoviePlayer Instance { get { return instance; } } void Start() { StartCoroutine(DownloadMovie()); Play(); instance = this; } public void Play() { audio.Play(); movieTexture.Play(); Debug.Log("Play"); } public void Pause() { audio.Pause(); movieTexture.Pause(); Debug.Log("Pause"); } public void Stop() { audio.Stop(); movieTexture.Stop(); Debug.Log("Stop"); } public bool IsPlaying() { return audio.isPlaying; } public float GetMovieTime() { return audio.time; } IEnumerator DownloadMovie() {//WWW www = new WWW("file:///D://Project//Movie/Data/Movie//movie.ogv"); string[] files = Directory.GetFiles(Directory.GetCurrentDirectory() +movieDir);//PC版,其他版本只需要修改视频文件读取方式 WWW www = new WWW("file:///" + files[0]); movieTexture = (MovieTexture)www.movie; while(!movieTexture.isReadyToPlay) yield return www; renderer.material.mainTexture = movieTexture;//视频纹理 audio.clip = movieTexture.audioClip;//音频 Play(); } }
以上就是通过IO流读取,然后再用WWW动态加载进来,然后进行播放!!!
大家不要谢我!我亲自测试过!!!直接Ctrl + C 到你的Unity中吧!!!
总结:
提醒一点的是,这是本地加载和网络加载,所以你本地视频如果换地址了记得一定要在这个脚本中把地址换成你的新地址,否则会找不到视频!!!
0 0
- Unity3D 动态加载外部MovieTexture视频
- Unity3D动态加载外部MovieTexture视频
- Unity3d MovieTexture 实现视频播放
- Unity3d 外部加载视频。
- Unity3d 调用外部视频
- Unity3d 调用外部视频
- Unity3D加载外部资源
- unity3d加载外部图片
- 视频播放--MovieTexture和VideoPlayer
- Unity3D载入外部视频脚本
- Unity3d加载外部图片文件
- Unity3d外部加载音频,视频,图片等资源 及根据路径获取制定格式的文件
- 动态加载外部脚本
- Unity3d 动态读取外部文件
- Unity3d 动态读取外部文件
- Unity3d 动态读取外部文件
- Unity3d 动态读取外部文件
- unity3d 动态加载 prefab
- 数据库版本管理工具Flyway
- 解决ubunto16 修改profile文件后,一直停留在登录界面
- VirtualBox + CentOS7 安装PHP运行环境(四)
- storm 入门原理介绍
- uva11754 Code Feat
- Unity3D动态加载外部MovieTexture视频
- 单位转换px-sp dp-px
- 单服务器监控神器netdata安装使用
- retrofit请求直接返回string
- 单片机串口通信中换行的两种方法
- 期末总结
- There is no getter for property named 'id' in 'class java.lang.Integer
- Ext4使用总结(十一) Grid的单元格的背景色和字体的处理
- 10实践项目2.2