UnityVR--组件9--VideoPlayerAudioSource

news2024/11/21 2:34:07

目录

前言

视频组件VideoPlayer参数解释

RenderMode渲染方式

VideoPlayer类中的API

音频组件AudioSource参数解释

AudioSource类中的常见API&简单应用


前言

  在之前的VR场景中已经使用过VideoPlayer播放视频(Unity.UI的交互(6)-播放视频),不过在VR中设置是有些不同的,这里更详细地说明一下VideoPlayer组件的设置与使用,以及VideoPlayer类中常用的API。

  音频组件AudioSource在场景中用于播放声音片段,可通过音频监听器或者混音器播放。

视频组件VideoPlayer参数解释

  其中: Source——视频源,设置为VideoClip就可以选择Assets文件夹内的视频文件,也可以设置为URL,播放网络上的视频(需要用一些工具去获取视频源地址); 

  Audio Output Mode——声音的播放是通过视频,或是其他声音源

RenderMode渲染方式

  常用的是前4种:

  1. Camera Far Plane——基于摄像机的渲染,渲染在摄像机的远平面上,这时候视频在最远的地方播放:

  2. Camera Near Plane——基于摄像机的渲染,渲染在摄像机的近平面上,这时候视频会将所有画面都覆盖了:

选择以上两种时,都需要选择相应的摄像机。

  3. RenderTexture——将视频画面保存在RenderTexture上,用来做基于UGUI的播放器(就是使用UI组件播放),详见在VR中的应用播放视频,这里不再赘述;

  4. Material Override——将视频画面复制给所选Render的Material,比如可以附着在场景内的任何物体上,建立一个球Sphere,将球拖到Renderer内,它就在球上播放:

  

VideoPlayer类中的API

  在使用VideoPlayer类之前,需要引入命名空间UnityEngine.Video,代码中可以通过getCompoment<VideoPlayer>()获取组件,并修改其参数:

  clip——视频片段

  frameCount——视频的总帧数

  frameRate——视频的帧率

  time——视频当前播放的时间

  Play()——播放

  Paurse()——暂停

音频组件AudioSource参数解释

  (参照Unity手册:音频源 - Unity 手册 (unity3d.com))

   

  说明:1. 声音片段AudioClip支持mp3、ogg、wav、aiff等格式声音文件,mp3和ogg格式适合较长音频;

  2. Output可以输出到AudioListener音频监听器,相当于代替人的耳朵。每个场景中只能有一个AudioListener,一般加载在主摄像机MainCamera上,因此如果加入其他的Camera时,需要将AudioListener移除。

  3. AudioSource可以挂在场上任何地方,当然作为项目管理来说,需要进行规划和同一管理。

AudioSource类中的常见API&简单应用

void Play()  //播放音频源中的音效
void Pause() //播放暂定
void UnPause() //继续播放
void PlayOneShot(AudioClip clip) //播放音频剪辑
void PlayClipAtPoint(AudioClip clip, Vector3 position)
//在某位置上播放音频剪辑

   简单使用时,可以设置如下,在AudioSource中设置一个声音片段:

  写一个简单的测试脚本,当按下T按键时,播放该音频:

public class TestAudio : MonoBehaviour
{
    // 播放音频
    private AudioSource m_AudioSource;
    void Start()
    {
        m_AudioSource= GetComponent<AudioSource>();
    }

    void Update()
    {
        if(Input.GetKeyDown(KeyCode.T))
        {
            m_AudioSource.Play();
        }
    }
}

 在一个工程项目中,会有很多的声音文件,播放的时间和条件也不相同,因此在实际制作中,需要集中管理,详见(管理阶层-AudioManager)

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

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

相关文章

chatgpt赋能python:Python怎么快速读取一组图片的RGB值?

Python怎么快速读取一组图片的RGB值&#xff1f; 简介 Python是一种非常流行的程序设计语言&#xff0c;它具有易于学习、简洁明了的语法和强大的功能。Python被广泛应用于数据分析、人工智能、科学计算、Web开发、游戏开发等领域。在这篇文章中&#xff0c;我们将介绍如何使…

chatgpt赋能python:Python快速缩进技巧与优化提升

Python快速缩进技巧与优化提升 介绍 在Python中&#xff0c;缩进是代码块的唯一标识符。这种缩进机制使得Python代码看起来更加清晰和易于阅读。同时&#xff0c;正确的缩进也是Python程序能否正常运行的重要因素。然而&#xff0c;大量的缩进可能会导致程序员的效率降低&…

Android系统Handler详解

目录 一&#xff0c;背景介绍 1.1 简介 1.2 核心概念 1.3 Handler 背后的生产者-消费者模型 二&#xff0c;Handler机制原理 2.1 消息模型 2.2 Handler原理概述 2.3 Handler与管道通信 三&#xff0c;实战 3.1 创建 Handler 3.2 子线程向主线程 3.3 主线程向子线程…

C/C++爱心代码“你把握不住的,让哥来~”祝你找到另一半

目录 第一种心形 加点好玩的 最后一忠心形&#xff08;会变色的爱心&#xff09; 618多得图书活动来啦 第一种心形 这次需要用到头文件#include<windows.h> #include<stdio.h> #include<windows.h> 以下是完整代码 #include<stdio.h> #include<…

chatgpt赋能python:Python中如何使用Math库进行数学计算

Python中如何使用Math库进行数学计算 Python是一种功能强大的编程语言&#xff0c;但对于许多数字计算、三角函数和其他复杂的数学问题&#xff0c;Python本身并不提供内置支持。为了解决这些问题&#xff0c;Python提供了一个名为Math的库。本文将介绍如何引入Math库&#xf…

【王道·操作系统】第三章 内存管理【未完】

一、内存管理 1.1 内存的基础知识 内存可存放数据&#xff0c;程序执行前需要先放到内存中才能被CPU处理——缓和CPU与硬盘之间的速度矛盾内存地址从0开始&#xff0c;每个地址对应一个存储单元 按字节编址&#xff1a;每个存储单元大小为1字节(B)&#xff0c;即8个二进制位按…

OJ Prime Gap

目录 1.题目 2.中文翻译 3.题意 4.代码 5.知识点 range的倒序处理&#xff1a; 1.题目 Prime Gap Description The sequence of n − 1 consecutive composite numbers (positive integers that are not prime and not equal to 1) lying between two successive prime…

软考A计划-2023系统架构师-知识点集锦(3/4)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

DAY20:二叉树(十)最大二叉树+合并二叉树

文章目录 654.最大二叉树思路遍历顺序 完整版变量作用域的问题 修改后的完整版递归进一步理解关于终止条件 优化时间复杂度和空间复杂度的优化补充&#xff1a;二叉树的高度logn 617.合并二叉树思路完整版定义新二叉树的写法 654.最大二叉树 本题做的时候也卡了一些问题&#…

Gitlab CI/CD概述

前言 CI/CD 是一种持续开发软件的方法&#xff0c;可以不断的进行构建、测试和部署代码迭代更改。这种迭代有助于减少基于错误或失败的版本进行开发新代码的可能性。使用这种方法&#xff0c;从新代码开发到部署&#xff0c;可以减少人工干预甚至不用干预。 达到持续的方法主要…

Python实例属性和实例方法_类对象、类属性、类方法、静态方法

一、实例属性 实例属性是从属于实例对象的属性&#xff0c;也称为“实例变量”。他的使用有如下几个要点&#xff1a; 实例属性一般在__init__()方法中通过如下代码定义&#xff1a; self.实例属性名 初始值 在本类的其他实例方法中&#xff0c;也是通过self进行访问&#x…

QGIS下载天地图瓦片数据

说明 介绍利用QGIS下载天地图瓦片数据。 关键字:window、QGIS、天地图 环境准备 QGIS版本为3.28.3 基本步骤 一、在Browser面板中找到XYZ Tiles 二、New Connection 参数设置 天地图参数 name:如"天地图影像"url :https://t5.tianditu.gov.cn/DataServer?T=…

U-Mail邮件系统:严防数据泄露 保障企业数据安全

在数字经济时代&#xff0c;数据已经成为企业的核心生产要素&#xff0c;也由此滋生了牟取暴利的黑色产业链&#xff0c;企业数据泄露事件有增无减。根据IdentifyTheft Research Center中心的数据显示&#xff0c;2022年世界范围内的数据泄露事件比2021年增长了14%。其中&#…

chatgpt赋能python:Python如何得出结果:从基础语法到高级算法

Python如何得出结果&#xff1a;从基础语法到高级算法 作为一种流行的编程语言&#xff0c;Python被广泛应用于数据分析、人工智能、Web开发等领域。但是&#xff0c;Python也是一种非常值得学习的SEO工具&#xff0c;它可以帮助你得出有关网站排名、竞争对手分析、关键词选择…

JavaScript-Vue

2 Vue 2.1 Vue概述 通过我们学习的htmlcssjs已经能够开发美观的页面了&#xff0c;但是开发的效率还有待提高&#xff0c;那么如何提高呢&#xff1f;我们先来分析下页面的组成。一个完整的html页面包括了视图和数据&#xff0c;数据是通过请求 从后台获取的&#xff0c;那么…

游览器获取用户位置信息,不同游览器获取位置信息不一致

问题 游览器获取用户位置信息&#xff0c;不同游览器获取位置信息不一致 详细问题 对于下述代码 <!DOCTYPE html> <html> <head><title>获取用户经纬度</title><script>function getLocation() {if (navigator.geolocation) {navigato…

数据库原理

做应用开发的同学常常觉得数据库由DBA运维&#xff0c;自己会写SQL就可以了&#xff0c;数据库原理不需要学习。其实即使是写SQL也需要了解数据库原理&#xff0c;比如我们都知道&#xff0c;SQL的查询条件尽量包含索引字段&#xff0c;但是为什么呢&#xff1f;这样做有什么好…

第三章Java锁—基础

文章目录 乐观锁和悲观锁悲观锁悲观锁的实现方式 乐观锁乐观锁的实现方式版本号实现的大致流程 8锁案例弄清synchronized锁了什么3个体现同步方法和同步块&#xff0c;哪个是更好的选择 字节码角度分析synchronized实现文件反编译技巧synchronized同步代码块synchronized普通同…

pikachu靶场-Over Permission

Over Permission&#xff08;越权&#xff09; 用户A 的权限小于用户B 的权限&#xff0c;此时用用户 A 的权限去操作用户 B 的数据&#xff0c;如果能够操作成功&#xff0c;就称之为越权操作。 越权漏洞一般容易出现在权限页面&#xff08;需要登录的页面&#xff09;增、删…

文件系统原理

文件及硬盘管理是计算机操作系统的重要组成部分&#xff0c;让微软走上成功之路的正是微软最早推出的个人电脑PC操作系统&#xff0c;这个操作系统就叫DOS&#xff0c;即Disk Operating System&#xff0c;硬盘操作系统。我们每天使用电脑都离不开硬盘&#xff0c;硬盘既有大小…