Unity添加视频的四种方式

摘要:
两种 方式需要的前期准备时间较长,后两种 方式前期不需要准备只需要添加一个Unity内置的脚本,其中各有优劣前两种性能消耗较低后两种性能消耗较高前两种需要的时间较长后两种需要的时间较短(1).第一种方式:http://dl.pconline.com.cn/download/460355.html解压上面的文件,然后将要进行转换的 视频文件拖拽到打开的软件里面去:然后在Unity场景中创建一个脚本(如下):public class TestUseless :&nbsp

两种 方式需要的前期准备时间较长,后两种 方式前期不需要准备只需要添加一个Unity内置的脚本,其中各有优劣

前两种性能消耗较低

后两种性能消耗较高

前两种需要的时间较长

后两种需要的时间较短

(1).第一种方式:

http://dl.pconline.com.cn/download/460355.html

解压上面的文件,然后将要进行转换的 视频文件拖拽到打开的软件里面去:

Unity添加视频的四种方式第1张

然后在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添加视频的四种方式第4张

然后将上面进行转换的视频拖拽到Unity工程中去(如下图):

Unity添加视频的四种方式第5张

选中将其的视频格式改为:

Unity添加视频的四种方式第6张

然后将上面转换后的视频拖拽进去

Unity添加视频的四种方式第7张

就能够实现视频的播放了,但是视频中缺少声音,所以我们就需要往GameObject物体身上添加一个AudioSource组件,然后将刚才进行转换的视频下面的声音拖拽进去,(就完成了第一种方法的创建)

Unity添加视频的四种方式第8张

Unity添加视频的四种方式第9张

(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();
        }
    }
}
复制代码

然后按照如图方式,进行添加:(这样就完成了第二种方式)

Unity添加视频的四种方式第12张

(3).第三种方式:

(这种方式能够识别任何类型的视频,这种方式相对消耗的性能较高(推测))

首先创建一个空物体,在上面添加脚本

Unity添加视频的四种方式第13张

需要注意的是往自身身上添加AudioSource不会产生效果 需要的操作是:

 Unity添加视频的四种方式第14张

然后将其添加到脚本中去!!!!!!

(4).第四种方式:

这种方式能够固定相应的大小进行设置,这种方式你可以设置播放的屏幕的大小

1.首先创建出一个RenderTexture

Unity添加视频的四种方式第15张

2.然后创建一个空物体,往其中添加脚本,往其中添加入相应的物体:

Unity添加视频的四种方式第16张

注意点:其中关于AudioSource的创建方式,必须如第三种情况一样进行创建

3.然后创建一个UI的RawImage组件,像其中添加相应的物体

Unity添加视频的四种方式第17张

这样控制RawImage的大小就能控制播放视频的大小

 

以上就是Unity添加视频的四种方式,大家可以选择自己喜欢的方式和特定的情况进行选择,希望能帮助到大家,大家有不懂得或者我错的,欢迎在下方评论区进行评论,大家一起学习,谢谢!!!!!

文章转自:https://www.cnblogs.com/baosong/p/9538111.html

免责声明:文章转载自《Unity添加视频的四种方式》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ffmpeg文档22-混合器(复用器)debugging tools for windows 10下载安装问题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python接口自动化(三)post请求四种传送正文方式

HTTP协议规定POST提交的数据必须放在消息主题(entity-body)中,但协议并没有规定数据必须使用什么编码方式。 浏览器行为:Form表单提交 Http协议行为:Http1.1协议   我们知道,HTTP协议是以ASCII码传输,建立在TCP/IP协议之上的应用层规范。规范把HTTP请求分为三个部分:状态行、请求头、消息主体。 <meth...

从屏幕刷新频率到Unity VSync

显示器有一个属性叫屏幕刷新频率,它是指每秒刷新屏幕的次数,单位为Hz,一般设置为60Hz。 什么是刷新屏幕呢?我们屏幕是由像素矩阵组成的,其(CRT)显示图像的原理是靠电子束从左到右、从上到下逐行激发屏幕内表面的荧光粉单元(像素)来实现的。电子束一次水平方向的扫描叫行扫描,一次完整的扫描就是刷新屏幕,形成的图像就是一帧。因此60Hz的刷新率也就是每秒60...

videojs中文文档详解

官方网站下载最新版videojs 入门使用查看DEMO | DEMO下载 引入video.js和video-js.css<link href="https://cdnjs.cloudflare.com/ajax/libs/video.js/7.3.0/video-js.min.css" rel="stylesheet"><script s...

c# ffmpeg常用参数

c#  ffmpeg常用参数   转换文件格式的同时抓缩微图: ffmpeg -i "test.avi" -y -f image2 -ss 8 -t 0.001 -s 350x240 'test.jpg' 对已有flv抓图: ffmpeg -i "test.flv" -y -f image2 -ss 8 -t 0.001 -s 350x240 'test....

unity优化一些总结 (长期更新)

unity优化一些总结 (长期更新) UI: 1:尽量不要使用动态文本 2: 使用更多画布 拆分画布 ​ 我开始使用3幅画布。一个用于我的背景图像,一个用于我的主要UI元素,另一个用于需要放置在其他所有元素顶部的元素。 我了解到,每当画布中的某些内容发生变化时,整个画布都会被重新评估并重新绘制。因此,除了最简单的UI之外,将UI分成多个画布的好处可能非常重...

字节跳动基于Apache Hudi构建EB级数据湖实践

来自字节跳动的管梓越同学一篇关于Apache Hudi在字节跳动推荐系统中EB级数据量实践的分享。 接下来将分为场景需求、设计选型、功能支持、性能调优、未来展望五部分介绍Hudi在字节跳动推荐系统中的实践。 在推荐系统中,我们在两个场景下使用数据湖 我们使用BigTable作为整个系统近线处理的数据存储,这是一个公司自研的组件TBase,提供了...