Unity基础 视频组件VideoPlayer,视频的播放与控制

这篇具有很好参考价值的文章主要介绍了Unity基础 视频组件VideoPlayer,视频的播放与控制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在Unity中,视频播放功能具有广泛的应用,以下是一些视频播放在Unity中的常见用途:

      游戏引入和过场动画:使用视频播放可以在游戏开始或过场动画中添加引人注目的视频,为游戏制造氛围和引起玩家的兴趣。这种方式可以通过播放游戏故事、游戏背景介绍或重要情节的视频来增强游戏体验。

       游戏菜单和用户界面:通过在游戏菜单和用户界面中嵌入视频,可以提供更具吸引力和互动性的界面。例如,在游戏菜单中播放游戏预告片、特色片段或游戏玩法示例视频,以向玩家展示游戏的特点和玩法。

       教育和培训应用:视频播放在教育和培训应用中非常有用。通过在虚拟教室、培训模块或教育游戏中播放教学视频,可以提供生动直观的学习体验。视频可以用于展示实验操作、演示概念、解释复杂的过程或提供示范。

      交互式虚拟现实(VR)和增强现实(AR)体验:在VR和AR应用程序中,视频播放可以用于增强虚拟世界的真实感和交互性。例如,在虚拟旅游应用中,可以通过播放真实场景的视频来模拟旅游体验。在AR应用中,可以通过播放与现实环境相匹配的视频来实现虚拟内容的融合。

      用户反馈和游戏剧情推进:通过在游戏中播放特定的视频片段,可以提供有关游戏进展或任务完成的反馈。这可以包括奖励视频、任务完成动画或剧情推进的关键片段。这样,玩家可以获得即时的视觉和听觉反馈,增加游戏的沉浸感。

     总而言之,视频播放在Unity中扮演了许多重要的角色,从增强游戏体验到教育培训应用,以及为用户界面和交互式虚拟现实提供更多可能性。通过利用Unity的VideoPlayer组件,您可以轻松地在项目中实现视频播放功能,为用户带来更加丰富和多样化的体验。 

   首先我们先了解一下视频播放的组件VideoPlayer 

Unity基础 视频组件VideoPlayer,视频的播放与控制

:视频播放源,有视频剪辑和URL两个选项,视频剪辑可以直接选择视频片段,URL需要放入视频链接

唤醒时播放:当程序运行的时候是否直接播放,勾选后视频默认是播放的

等待第一帧:是否预先缓存一帧,默认勾选就行,如果不勾选在播放的时候没缓存会出现无视频等待情况

循环:视频播放完毕后重新播放

回放速度:视频播放速度

渲染模式:视频播放时候的渲染模式,默认使用渲染纹理(UI)和材质覆盖(场景中),使用渲染纹理需要右键新建渲染器纹理,材质覆盖需要渲染器纹理+材质球

音频输出模式:声音的输出模式,可以选择音频源(需要指定一个音频播放组件)或者直接(直接用视频的声音,默认这个就可以) 

渲染器纹理(Render Texture)也是在视频播放中不可或缺的

       渲染器纹理是一种特殊的纹理,它能够记录摄像机的渲染结果,并将其保存为图像。这种纹理可以被用于实时监视、后期特效、纹理抓取和多摄像机渲染等场景。它可以让我们实时查看摄像机拍摄到的画面,应用各种特效效果,捕获纹理并将其应用到其他物体上,实现动态纹理效果,以及支持多摄像机同时渲染不同场景。渲染器纹理为我们提供了更多的创造性和灵活性,增强了游戏和应用程序的视觉效果。

      当我们想要在游戏或应用中播放视频时,通常会使用VideoPlayer组件来加载和控制视频文件。然而,直接将视频渲染到屏幕上可能无法满足我们的需求,因为我们可能希望在游戏场景中的特定位置播放视频,或者将视频内容应用到游戏对象的表面上。

      这就是渲染器纹理发挥作用的地方。我们可以创建一个渲染器纹理,并将VideoPlayer组件的输出设置为该纹理,这样视频播放的内容就会被渲染到该纹理上。接着,我们可以将该纹理应用到游戏对象的材质上,或者在UI元素中显示该纹理,从而实现视频的播放效果。 

在场景中播放视频

     假如我们需要将视频播放在场景中播放,我们可以新建一个平面用来作为显示视频的载体,然后增加视频播放组件

Unity基础 视频组件VideoPlayer,视频的播放与控制

    之后我们右键-创建一个渲染器纹理,创建后直接将这个渲染器纹理拖到平面上 

Unity基础 视频组件VideoPlayer,视频的播放与控制

        这时候会自动生成一个材质球并且赋值给这个平面

Unity基础 视频组件VideoPlayer,视频的播放与控制

然后我们找到视频播放组件,将需要播放的视频赋值,可以看到视频播放组件的Renderer就是我们新建的Plane,然后点击运行就可以看到视频播放了(此时的模式是材质覆盖),当然我们也可以调整这个平面的缩放在调整正在播放视频的尺寸 

Unity基础 视频组件VideoPlayer,视频的播放与控制

在UI中播放视频

首先在层级面板右键-UI-原始图像(RawImage)

Unity基础 视频组件VideoPlayer,视频的播放与控制

创建后我们可以把刚才新建的渲染器纹理直接拖动到RawImage组件下面的纹理中

Unity基础 视频组件VideoPlayer,视频的播放与控制

然后我们添加视频播放组件(VideoPlayer),将视频指定,然后将渲染模式设置为渲染器纹理,将渲染器纹理赋值,点击运行就可以播放了 

Unity基础 视频组件VideoPlayer,视频的播放与控制

Unity基础 视频组件VideoPlayer,视频的播放与控制

下面我们看一下如何用代码对视频组件进行控制,先看一下常用的属性和方法 

//playOnAwake       唤醒时播放,程序运行时是否默认就播放视频
//isLooping         循环播放,播放完成后是否重复播放
//playbackSpeed     播放速度,默认从0-10
//waitForFirstFrame 等待第一帧
//isPlaying         当前是否在播放
//isPaused          当前是否暂停
//Stop()            停止播放,每次使用停止播放再次开始播放时候都会重新播放视频
//Pause()           暂停播放,只是咱停播放,再次开始播放时会从暂停的地方开始播放
//Play()            开始播放,使用停止或者暂停播放可以通过Play重新开始播放 

 以下代码是如何对视频播放组件的一些参数进行控制,以及控制视频的播放和停止文章来源地址https://www.toymoban.com/news/detail-497279.html

using UnityEngine;
using UnityEngine.Video;//需要引入视频组件的命名空间
public class VideoPlayerTest : MonoBehaviour
{

    //视频播放组件
    private VideoPlayer _videoplayer;

    void Awake()
    {
        //获取自身的视频播放组件
        _videoplayer = GetComponent<VideoPlayer>();
    }

    void Start()
    {
        //设置运行时播放
        _videoplayer.playOnAwake = true;
        //设置是否循环播放
        _videoplayer.isLooping = true;
        //设置视频倍速
        _videoplayer.playbackSpeed = 1.5f;
        //设置预先缓存一帧
        _videoplayer.waitForFirstFrame = true;
        //如果音频输出模式指定了音频组件可以通过代码控制
        //控制视频静音
        _videoplayer.GetTargetAudioSource(0).mute = false;
        //控制视频音量大小
        _videoplayer.GetTargetAudioSource(0).volume = 0.5f;
    }
    void Update()
    {
        //按下键盘P键来判断当前视频是否在播放,如果是播放状态就停止,如果是停止状态就开始播放
        if (Input.GetKeyDown(KeyCode.P))
        {
            if (_videoplayer.isPlaying)
            {
                _videoplayer.Stop();
            }
            else
            {
                _videoplayer.Play();
            }

        }
        //按下键盘A键来判断当前视频是否在暂停,如果是播暂停就播放,如果是播放就暂停
        if (Input.GetKeyDown(KeyCode.A))
        {
            if (_videoplayer.isPaused)
            {
                _videoplayer.Play();
            }
            else
            {
                _videoplayer.Pause();
            }

        }
    }
}

到了这里,关于Unity基础 视频组件VideoPlayer,视频的播放与控制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity的VideoPlayer视频播放结束触发逻辑

    我在之前的项目中,有许多项目用到了VideoPlayer视频播放组件,其中有很多需求都是视频播放结束后调用一个方法,比如说跳转场景、转换视频等等。我使用的Unity2017的版本都是在Update检测视频的帧数,在视频播放结束是触发方法,但是这种方法貌似在2017以上的版本就不太好

    2024年02月12日
    浏览(47)
  • Unity 视频组件 VideoPlayer

            在自己定义的组件下(例如:Panel) 点击 Inspector 面板中的 AddComponent ,输入“VideoPlayer”。 这里 视频资源有两种形式,第一种是 VideoClip ,需要将视频文件拖拽到该属性字段中,便可播放。第二种是URL,需要输入视频的网络地址,如HTTP或RTSP,便可。 Render Mode:

    2024年04月12日
    浏览(33)
  • Unity3DWEBGL播放本地视频用(VideoPlayer)

    大家好,本篇记录一下webgl播放视频,用的是videoPlayer组件, 不定时更新unity开发技巧,觉得有用记得一键三连哦。 接下来就一步步实现吧 unity播放本地视频 在Hierarchy面板右键创建VideoPlayer组件 到此UI就设置完成了 注意: 1.设置宽高,这个最好与视频的宽高匹配,或者同比例缩放

    2024年04月26日
    浏览(27)
  • Unity 视频播放器,基于VideoPlayer,实现滑动进度条,显示视频时长,全屏显示,音量调节

    unity播放视频的方式有很多种,但即轻量又好用的,还是unity自带的VideoPlayer,但没有视频基础操作的UI组件,本篇带大家对视频的播放,以及UI组件的实现 效果展示: Unity带UI操作,视频播放器   DEMO下载: https://gitee.com/jacobkay/videoplayer 一、安装方式 1、下载文件 2、将文件拖

    2024年02月02日
    浏览(49)
  • 关于Unity VideoPlayer组件 视频切换第一帧卡顿

    2.原因: 因为VideoPlay视频的最后一针会停留在 Render Texture上,所以要在视频结束时去除Render Texture上的画面。 3.解决方法: 在视频切换前释放视频缓存,加上这句代码

    2024年02月13日
    浏览(33)
  • Unity VideoPlayer使用url方式,Android平台下无法播放http链接的视频(黑屏、无反应、无报错、无log输出)...

    以下内容基于 Unity 2019.4.28f1c1,未来可能有变化 (以下 Other Settings 供参考,未必影响) Edit - Project Settings - Player - Android平台 - Other Settings :设置如下 Rendering Auto Graphics API: true Configuration Scripting Backend: IL2CPP Install Location: Prefer External Internet Access: Auto 主要原因: 默认情况下,不允

    2023年04月18日
    浏览(38)
  • Unity零基础到进阶 ☀️| 视频播放器 Video Player组件 详解

    🎬 博客主页:

    2024年02月13日
    浏览(43)
  • SwiftUI 视频教程之 快速播放本地视频,URL 播放视频,自动播放视频,视频结束通知VideoPlayer (iOS 14 +)

    iOS 14引入了viewAVKit的世界。显示实例的内容。在框架内部定义,让我们可以在本地播放视频,而无需从.SwiftUIVideoPlayerVideoPlayerAVPlayerViewAVKitSwiftUIUIKit VideoPlayer以 player 作为初始化参数,是 AVPlayer 的一个实例。 通过 URL 播放视频 带叠加层的视频播放器 自动播放视频 视频结束通

    2024年02月06日
    浏览(109)
  • 【Unity声音与视频播放】播放声音视频、代码控制、UI播放视频

    闲谈: 游戏开发比普通软件开发难也是有原因的,第一 游戏功能需求变化多样内部逻辑交错纵横, 而软件相对固定,无非也就是点击跳转、数据存储 第二,游戏需要很多3D数学知识、物理知识,最起码得有高中物理的基础,力、向量、射线,除了这些数据存储一样不少 但是

    2024年02月19日
    浏览(36)
  • 【Unity】代码控制视频的播放(视频播放器-更新)

     结果如上图,之前写过一个使用代码控制视频播放器的Demo,但是好多小伙伴说我附带的链接没法下载,这次我直接做一个完整版的,不用下载,照着一步一步做就能做出来。 之前写了如何设置RawImage进行自动播放,大家可以看一下基础操作这篇文章:,大佬勿怪。 【Unity】

    2024年02月09日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包