【Unity】使用Video Player播放CG视频

news2025/1/12 18:58:06

1.在UI上新建一个Raw Image

在这里插入图片描述

2.添加Video Player

在这里插入图片描述

【参数详解】

  • Source:视频源类型,有Video Clip 和 URL两种
  • Video Clip:视频片段,当Source选择video clip生效
  • URL:视频路径,当Source选择URL生效
  • Play On Awake:启动时播放视频
  • Wait For First Frame:是否在第一帧加载完成后才播放,只有在 Play On Awake 被勾选时才会生效;
  • Loop:是否开启循环播放;
  • SkipOnDrop:是否允许VideoPlayer跳过帧以赶上当前时间
  • Playback Speed:播放速度;
  • Render Mode:渲染模式,主要有:
    ①Camera Far Plane(在相机远平面上播放,需要绑定到相机,此时其他物体都在视频前面)
    ②Came Near Plane(在相机近平面上播放,需要绑定到相机,此时其他物体都在视频后面)
    ③Render Texture(视频的每一帧输出到 Render Texture 文件中,可以使用 RayImage 显示 Render Texture,这样视频就可以在 RayImage 中播放)
    ④Material Override(需要绑定到一个 Renderer 对象,如 Cube 的 MeshRenderer,这样视频就可以在立方体表面播放)
  • Renderer:渲染器,当 Render Mode 选择为 Material Override 时才会有此选项
  • TargetTexture:渲染视频时要绘制的图形,当 Render Mode 选择为 Render Texture 时才会有此选项
  • Audio Output Mode:音频输出模式,主要有:
    ①None(不输出音频)
    ②AudioSource(用 AudioSource 播放)
    ③Direct(直接发送到音频输出硬件)

3.在工程里创建Render Texture,放入自己指定的文件夹下。

请添加图片描述

4.选择刚刚创建的Render Texture,改个名字,然后根据自己的需求调整大小

在这里插入图片描述

5.设置参数

①修改Source类型为URL
②Play On Awake去掉勾选,由程序控制。
在这里插入图片描述

6.StreamingAssets文件夹下加入要播放的cg视频

如果没有StreamingAssets文件夹,那么自己就新建一个。
在这里插入图片描述

7.新建一个VideoView.cs脚本,加入以下测试代码

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Video;

public class VideoView : MonoBehaviour
{
  	public RawImage mRawImage;
    public VideoPlayer mVideoPlayer;
    public RenderTexture rt;
    //跳过按钮
    public Button skipBtn;
    
    private bool bStop = false;
 
    void Start()
    {
        if (skipBtn != null)
        {
            skipBtn.onClick.AddListener(OnSkipBtn);
        }
        //视频播放结束事件
        mVideoPlayer.loopPointReached += OnMediaPlayerEvent;
      
    }

    public void OnMediaPlayerEvent(VideoPlayer source)
    {
        if (bStop) 
            return;
        Stop();
  
    }
 
    //播放视频
    public void Play(string videoPath)
    {
        bStop = false;    
        mRawImage.texture = rt;
        mVideoPlayer.url = Application.streamingAssetsPath + "/" + videoPath; ;
        mVideoPlayer.Play();
    }
    //暂停
    public void Pause()
    {
        mVideoPlayer.Pause();
    }

    //跳过
    void OnSkipBtn()
    {
        Stop();
    }
    //停止
    public void Stop()
    {
        if (bStop)
            return;
        bStop = true;
        mVideoPlayer.Stop();
 
      
    }

    private void OnDestroy()
    {
        mVideoPlayer.loopPointReached -= OnMediaPlayerEvent;
    }
}

8.把脚本挂到任意一个gameobject上,然后按照如图加入参数。

在这里插入图片描述

9.调用测试

在这里插入图片描述

10.如果播放的分辨率有问题,可以调整Aspect Ratio的模式

在这里插入图片描述

  • NoScaling:保留像素大小而不调整目标区域
  • FitVertically:按比例调整大小,使高度适合目标区域,按需进行裁剪或在每一侧添加黑条。
  • FitHorizontally:按比例调整大小,使宽度适合目标区域,按需进行裁剪或在上方和下方添加黑条。
  • FitInside:按比例调整大小,使内容适合目标区域,按需添加黑条。
  • FitOutside:按比例调整大小,使内容适合目标区域,按需进行裁剪。
  • Stretch:不按比例调整大小,以适应目标区域。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1471198.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

洛谷C++简单题小练习day21—梦境数数小程序

day21--梦境数数--2.25 习题概述 题目背景 Bessie 处于半梦半醒的状态。过了一会儿,她意识到她在数数,不能入睡。 题目描述 Bessie 的大脑反应灵敏,仿佛真实地看到了她数过的一个又一个数。她开始注意每一个数码(0…9&#x…

在IDEA中创建vue hello-world项目

工作中最近在接触vue前端项目,记录一下从0搭建一个vue hello world项目的步骤 1、本地电脑安装配置node、npm D:\Project\vue\hello-world>node -v v14.21.3 D:\Project\vue\hello-world>npm -v 6.14.18 D:\Project\vue\hello-world> 2、设置npm国内淘…

GPU over IP/IB:趋动OrionX产品的创新之路

在数字化转型的浪潮中,GPU over IP/IB技术正成为数据中心和云计算领域的一股新兴力量。这种技术通过将物理GPU资源虚拟化,实现了跨网络的高效利用,为AI、机器学习、科学计算等高性能计算任务提供了前所未有的灵活性和扩展性。 本文将深入探讨…

【管理咨询宝藏资料25】某能源集团五年发展战略报告

本报告首发于公号“管理咨询宝藏”,如需阅读完整版报告内容,请查阅公号“管理咨询宝藏”。 【管理咨询宝藏资料25】某能源集团五年发展战略报告 【关键词】战略规划、五年战略、管理咨询 【文件核心观点】 - LL应以快速做大做强为目标,专注…

VUE3环境搭建开发准备

VUE3 Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vu…

常用实验室器皿耐硝酸盐酸进口PFA材质容量瓶螺纹盖密封效果好

PFA容量瓶规格参考:10ml、25ml、50ml、100ml、250ml、500ml、1000ml。 别名可溶性聚四氟乙烯容量瓶、特氟龙容量瓶。常用于ICP-MS、ICP-OES等痕量分析以及同位素分析等实验,也可在地质、电子化学品、半导体分析测试、疾控中心、制药厂、环境检测中心等机…

在autodl搭建stable-diffusion-webui+sadTalker

本文介绍在autodl.com搭建gpu服务器,实现stable-diffusion-webuisadTalker功能,图片音频 可生成视频。 autodl租GPU 自己本地部署SD环境会遇到各种问题,网络问题(比如huggingface是无法访问),所以最好的方…

Java/Python/Go不同开发语言基础数据结构和相关操作总结-GC篇

Java/Python/Go不同开发语言基础数据结构和相关操作总结 1. 常见gc方式1.1 gc判断对象是否存活1.2 引用计数法1.2 标记-清除算法1.3 复制算法1.4 标记-压缩算法1.5 分代收集算法 2. java的gc方式以及垃圾回收器2.1 gc方式2.1 gc回收器2.1.1 Serial收集器2.1.2 ParNew收集器2.1.…

11:日志分析系统ELK|Elasticsearch|kibana

日志分析系统ELK|Elasticsearch|kibana 日志分析系统ELKELK概述Elasticsearch安装Elasticsearch部署Elasticsearch集群Elasticsearch插件 熟悉Elasticsearch的API调用_cat API创建 tedu 索引使用 PUT 方式增加数据查询数据修改数据删除数据 KibanaKibana…

VS连接MySQL以及找不到libmysql.dll的解决方法

VS连接数据库需要在项目中进行配置,具体可见 https://blog.csdn.net/weixin_40582034/article/details/115562097?ops_request_misc%257B%2522request%255Fid%2522%253A%2522170891897216800213058288%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522…

Java基于微信小程序的校园二手物品交易系统,附源码

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

Sora:引领AI视频创作新时代(浅聊)

目录 一. 技术基础与发展二. 潜力与应用Sora的技术特点1. 高度智能的图像识别与生成能力2. 强大的语音识别与生成能力3. 创新的交互式视频编辑体验4. 高效的视频处理能力 Sora的应用场景1. 影视制作2. 教育培训3. 娱乐与游戏4. 商业广告 三. 面临的挑战四. 未来展望1. 结论2. 那…

【设计模式】5种创建型模式详解

创建型模式提供创建对象的机制,能够提升已有代码的灵活性和复用性。 常用的有:单例模式、工厂模式(工厂方法和抽象工厂)、建造者模式。不常用的有:原型模式。一、单例模式 1.1 单例模式介绍 1 ) 定义 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一,此模…

选择 Python IDE(VSCode、Spyder、Visual Studio 2022和 PyCharm)

前言 当选择 Python 开发工具时,你需要考虑自己的需求、偏好和项目类型。下面是对VSCode、Spyder、Visual Studio 2022和 PyCharm的对比推荐总结: 结论 1、如果你专注于“数据科学”,选择SpyDer没错。 内容 Visual Studio Code (VS Code)…

视频和音频使用ffmpeg进行合并

1.下载ffmpeg 官网地址:https://ffmpeg.org/download.html 2.配置环境变量 此电脑右键点击 属性 - 高级系统配置 -高级 -环境变量 - 系统变量 path 新增 文件的bin路径 3.验证配置成功 ffmpeg -version 返回版本信息说明配置成功4.执行合并 ffmpeg -i 武家坡20…

淘宝镜像地址停止运行了 安装插件是失败如果解决

由于淘宝镜像目前已经停止更新运营了,所以导致在使用npm install安装无法成功 先查看一下安装镜像 npm config get registry //查看当前是不是淘宝镜像如果是新的淘宝镜像 重新安装新的淘宝镜像 npm config set registry https://registry.npmmirror.com/ 再次查看…

鸿蒙开发【WebGL】简单了解

WebGL的全称为Web Graphic Library(网页图形库),主要用于交互式渲染2D图形和3D图形。目前HarmonyOS中使用的WebGL是基于OpenGL裁剪的OpenGL ES,可以在HTML5的canvas元素对象中使用,无需使用插件,支持跨平台。WebGL程序是由JavaScr…

Linux7.9环境源码编译安装ffmpeg6.x

1.官网ffmpeg下载源码 https://ffmpeg.org/download.html#build-windows 2.未安装x264库则先安装配置 可以先查询x264库: whereis libx264 安装编译工具和依赖库: sudo yum install gcc make cmake mercurial git yasm pkgconfig autoconf automake libtool sudo…

【服务器数据恢复】ext3文件系统下硬盘坏道掉线的数据恢复案例

服务器数据恢复环境: 一台IBM某型号服务器上有16块FC硬盘组建RAID阵列。上层linux操作系统,ext3文件系统,部署有oracle数据库。 服务器故障&检测: 服务器上跑的业务突然崩溃,管理员发现服务器上有2块磁盘的指示灯…

力扣链表篇

以下刷题思路来自代码随想录以及官方题解 文章目录 203.移除链表元素707.设计链表206.反转链表24.两两交换链表中的节点19.删除链表的倒数第N个节点面试题 02.07. 链表相交142.环形链表II 203.移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链…