两种 方式需要的前期准备时间较长,后两种 方式前期不需要准备只需要添加一个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
//设置电影纹理播放模式为循环
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添加视频的四种方式,大家可以选择自己喜欢的方式和特定的情况进行选择,希望能帮助到大家,大家有不懂得或者我错的,欢迎在下方评论区进行评论,大家一起学习,谢谢!!!!!
文章转自:https://www.cnblogs.com/baosong/p/9538111.html