使用Unity加载外部视频

在Unity中加载外部视频


可能是Unity的一个官方BUG,在利用WWW记载视频文件的时候不能加载成功,提示 “MoviePlayback::LoadMovieData got NULL!
UnityEngine.WWW:get_movie()” 。 但是当build up后,运行exe文件便没有这样的问题。 


在这次的项目中,通过一个文件对话框选择一个视频文件后,利用WWW加载视频文件,视频文件的格式选用的是.ogv的,网上都说其他的不行,貌似是不行,没有试过,但是。


WWW www = new WWW ("file:///" + filename);

其中 “file:///”是不可少的,开始的时候我未加上它,视频文件没能加载成功,加上后,视频文件就能加载成功了。,当然是built up后运行exe文件的时候可以成功。

其中下面是我加载视频文件的函数


<span style="white-space:pre">	</span>IEnumerator WaitLoadVideo(string filename)
	{
		if(((MovieTexture)(videoObj.GetComponent<Renderer> ().material.mainTexture)).isPlaying)
			((MovieTexture)(videoObj.GetComponent<Renderer> ().material.mainTexture)).Stop ();
		
		WWW www = new WWW ("file:///" + filename);

		while (!www.isDone) {
			yield return null;
		}
		text.GetComponent<Text> ().text = "1-"+ DataManager.Instance.allVideos.Count.ToString();
		DataManager.Instance.allVideos.Add (www.movie);

		Renderer rend;
		rend = videoObj.GetComponent<Renderer> ();

		videoIndex = DataManager.Instance.allVideos.Count - 1;
		rend.material.SetTexture("_MainTex", DataManager.Instance.allVideos[videoIndex]);

		yield return new WaitForSeconds (1.0f);

	}


Unity是一款广泛用于游戏开发和多媒体应用程序的跨平台游戏引擎。在Unity加载外部VideoClip非常简单。 首先,我们需要确认视频文件的格式。Unity支持广泛的视频格式,如MP4、MOV、AVI等。确保视频文件的编码和分辨率与Unity兼容。 其次,我们需要将视频文件添加到Unity项目中。将视频文件拖放到Unity工程中的Assets文件夹内即可。确保视频文件已在Unity资源管理器中显示出来。 然后,在Unity的场景中创建一个物体,作为视频播放器的载体。可以是一个空物体或具有Mesh Renderer组件的3D物体。 接着,在Unity的脚本中添加代码来加载和播放视频使用VideoPlayer组件来加载和控制视频播放。首先,创建一个VideoPlayer对象并指定其视频源,这里是我们之前添加到项目中的VideoClip。然后,设置VideoPlayer的渲染目标为之前创建的载体物体,并将视频播放器启动。 最后,在Unity中运行游戏或应用程序,即可看到外部VideoClip被成功加载和播放了。 需要注意的是,Unity加载外部视频可能涉及到文件路径的设置、视频格式的兼容性等问题。如果遇到加载失败或不正常播放的情况,可以检查文件路径是否正确、视频格式是否兼容,或者尝试使用其他视频文件进行测试。 总结起来,Unity加载外部VideoClip可以通过将视频文件添加到项目中并使用VideoPlayer组件来实现。这样,我们就可以在Unity中方便地加载和播放外部视频了。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值