Unity添加视频的四种方式
两种 方式需要的前期准备时间较长,后两种 方式前期不需要准备只需要添加一个Unity内置的脚本,其中各有优劣
前两种性能消耗较低
后两种性能消耗较高
前两种需要的时间较长
后两种需要的时间较短
(1).第一种方式:
http://dl.pconline.com.cn/download/460355.html
解压上面的文件,然后将要进行转换的 视频文件拖拽到打开的软件里面去:
然后在Unity场景中创建一个脚本(如下):
public class TestUseless : MonoBehaviour { ///电影纹理 public MovieTexture movTexture; void Start() { //设置电影纹理播放模式为循环 movTexture.loop = true; } void OnGUI() { // 基于GUI播放视频 GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), movTexture, ScaleMode.StretchToFill); if (GUILayout.Button("播放/继续")) { //播放/继续播放视频 if (!movTexture.isPlaying) { movTexture.Play(); } } if (GUILayout.Button("暂停播放")) { //暂停播放 movTexture.Pause(); } if (GUILayout.Button("停止播放")) { //停止播放 movTexture.Stop(); } } }
然后将其挂在一个Unity中的GameObject物体上(如下图):
然后将上面进行转换的视频拖拽到Unity工程中去(如下图):
选中将其的视频格式改为:
然后将上面转换后的视频拖拽进去
就能够实现视频的播放了,但是视频中缺少声音,所以我们就需要往GameObject物体身上添加一个AudioSource组件,然后将刚才进行转换的视频下面的声音拖拽进去,(就完成了第一种方法的创建)
(2).第二种方式:
按照第一种创建.org视频的方式首先创建出一个视频:
然后在工程中创建一个脚本和一个刮油Mesh Renderer组件的Plan面板
public class PlayVideoSctips : MonoBehaviour { //电影纹理 public MovieTexture movTexture; void Start() { //设置当前对象的主纹理为电影纹理 transform.GetComponent<MeshRenderer>().material.mainTexture = movTexture; //设置电影纹理播放模式为循环 movTexture.loop = true; } void OnGUI() { if (GUILayout.Button("播放/继续")) { //播放/继续播放视频 if (!movTexture.isPlaying) { movTexture.Play(); } } if (GUILayout.Button("暂停播放")) { //暂停播放 movTexture.Pause(); } if (GUILayout.Button("停止播放")) { //停止播放 movTexture.Stop(); } } }
然后按照如图方式,进行添加:(这样就完成了第二种方式)
(3).第三种方式:
(这种方式能够识别任何类型的视频,这种方式相对消耗的性能较高(推测))
首先创建一个空物体,在上面添加脚本
需要注意的是往自身身上添加AudioSource不会产生效果 需要的操作是:
然后将其添加到脚本中去!!!!!!
(4).第四种方式:
这种方式能够固定相应的大小进行设置,这种方式你可以设置播放的屏幕的大小
1.首先创建出一个RenderTexture
2.然后创建一个空物体,往其中添加脚本,往其中添加入相应的物体:
注意点:其中关于AudioSource的创建方式,必须如第三种情况一样进行创建
3.然后创建一个UI的RawImage组件,像其中添加相应的物体
这样控制RawImage的大小就能控制播放视频的大小
以上就是Unity添加视频的四种方式,大家可以选择自己喜欢的方式和特定的情况进行选择,希望能帮助到大家,大家有不懂得或者我错的,欢迎在下方评论区进行评论,大家一起学习,谢谢!!!!!