unity-声音与声效OLD

声音与声效

    • 基本概念
      • audio clip
      • audio listener
      • audio source
    • 基本操作
      • 如何创建音频源(背景音乐)
      • 如何在测试的时候关闭声音
    • 常用代码
      • 一般流程
      • 如何在一个物体上播放多个音效
      • 如何在代码中延时播放多个声音
      • 如何在代码中停止音频的播放
      • 如何判断当前是否在播放音频资源

基本概念

支持格式mp3、ogg、wve等

audio clip

如下图
在这里插入图片描述

调试播放,选中声音,属性栏中下侧可以播放声音

audio listener

选择摄像机,然后属性面板中会默认挂载audio listener组件。如果没有audio listener的话,运行游戏就会报错。
一个游戏中只有一个audio listener,否则会报错
它是音频监听器
在这里插入图片描述
在这里插入图片描述

audio source

主要是用来播放声音的,audio listener是接受音乐的
一个游戏物体可以挂载多个audio source组件的

在这里插入图片描述
在这里插入图片描述

1是必须要勾选
2根据是否循环播放勾选
3 调整音量大小
4 是设置3d音或是2d音,3d主要是根据摄像头远近

基本操作

如何创建音频源(背景音乐)

需要在层级中创建
先创建一个空的游戏物体
在这里插入图片描述

然后在属性面板中添加一个组件audio source
在这里插入图片描述

再设置playe on awake选择,循环播放loop设置取消或是勾选
在这里插入图片描述

添加后场景中会出现一个喇叭一样的图标
在这里插入图片描述

最后赋值拖拽audio clip到audio source中
在这里插入图片描述

运行游戏即可播放声音

如何在测试的时候关闭声音

在这里插入图片描述

常用代码

总的来讲,就是Audio Source调用PlayOneShot,播放audio clip

一般流程

1.设置变量
private AudioSource audioSource;
2.在start方法中获取该组件
audioSource=GetComponent();
3.在游戏物体上增加audio source组件,取消play on awake
在这里插入图片描述

播放音频的方法PlaySound
public void PlaySound (AudioClip audioClip)
{
audioSource.PlayOneShot(audioClip);
}

其他游戏物体调用playSound播放声音
1.脚本上设置一个public的变量,意味着会从资源中拖拽audio clip到界面上
在这里插入图片描述
在这里插入图片描述

2.调用rubyController定义好的playsound方法播放即可

在这里插入图片描述

如何在一个物体上播放多个音效

比如要在一个物体上播放多个音效,可以在其脚本上定义多个AudioClip
在这里插入图片描述

然后在属性面板的脚本组件拖拽对应的资源audio clip到指定的地方
在这里插入图片描述

通过audiosource的playoneshot方法播放声音

如何在代码中延时播放多个声音

就是使用invoke函数延时播放
audioSource.PlayOneShot (hitSounds[randomNum]);
Invoke(“PlayFixedSound” ,0.1f);

private void PlayF ixedSound()
{
audioSource.PlayOneShot (fixedSound)
Invoke(“StopAudioSoucePlay”,0.1f);
}

private void StopAudioSoucePlay()
{
audioSource. Stop();
}

如何在代码中停止音频的播放

audioSource.Stop()

与playonshot功能相同的方法
audioSource.Play();
audioSource.clip = walkSound;

如何判断当前是否在播放音频资源

if(!audioSource. isPlaying)
{
audioSource.clip = walkSound;
audioSource.Play();
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型 RAG 面试篇

1.LLMs 存在模型幻觉问题,请问如何处理? 检索LLM。 先用问题在领域数据库里检索到候选答案,再用LLM对答案进行加工。 2.基于LLM向量库的文档对话 思路是怎么样? 加载文件读取文本文本分割文本向量化问句向量化在文本向量中匹配…

基于深度学习的车牌识别(YOLOv5和CNN)

基于深度学习的车牌识别(YOLOv5和CNN) 目录 一、综述 二、车牌检测 一、综述 本篇文章是面向的是小白,想要学习深度学习上的应用,本文中目前应用了YOLO v5和CNN来对车牌进行处理,最终形成一个完整的车牌信息记录,…

路飞项目--02

补充:axios封装 # 普通使用:安装 ,导入使用 const filmListreactive({result:[]}) axios.get().then() async function load(){let responseawait axios.get()filmList.resultresponse.data.results } # 封装示例:请求发出去之前…

AP5101C 高压线性 LED恒流驱动器 DFN2*2 LED灯汽车雾灯转向灯

产品描述 AP5101C 是一款高压线性 LED 恒流芯片 , 简单 、 内置功率管 , 适用于6- 100V 输入的高精度降压 LED 恒流驱动芯片。电流2.0A。AP5101C 可实现内置MOS 做 2.0A,外置 MOS 可做 3.0A 的。AP5101C 内置温度保护功能 ,温度保护点为 130 …

linux编译源码,安装valgrind

目录 1 下载源码 2 在虚拟机上解压 3 进入解压的目录,执行make 4 安装 5 检查安装是否成功 本文参考了内存检查工具valgrind介绍、安装与使用-CSDN博客 1 下载源码 我到Valgrind: Current Releases 下载了valgrind 3.22.0源码 2 在虚拟机上解压 我使用的虚…

Leetcode 用队列实现栈

题目: 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void push(int x) 将元素 x 压入栈顶。 int pop() 移除并…

脱离于ASP.NET 和Visual Studio编辑Razor脚本

Razor Pad是一个编辑Razor脚本的工具,脱离于ASP.NET 和Visual Studio。 github地址:GitHub - RazorPad/RazorPad: RazorPad is a quick and simple stand-alone editing environment that allows anyone (even non-developers) to author Razor templat…

智慧工地解决方案及案例:PPT全文26页,附下载

关键词:智慧工地解决方案,智慧工地建设,智慧工地整体架构,数字化工地,智慧工程 一、智慧工地建设对传统建筑业的影响 1、提高了施工效率和质量:智慧工地建设采用了先进的信息技术和管理方法,可…

统计学-R语言-4.6

文章目录 前言列联表条形图及其变种---单式条形图条形图及其变种---帕累托图条形图及其变种---复式条形图条形图及其变种---脊形图条形图及其变种---马赛克图饼图及其变种---饼图饼图及其变种---扇形图直方图茎叶图箱线图小提琴图气泡图总结 前言 本篇文章是对数据可视化的补充…

Linux下安装docker

1、查看系统版本 Docker支持64位版本的CentOS 7和CentOS 8及更高版本,它要求Linux内核版本不低于3.10。查看Linux版本的命令这里推荐两种:lsb_release -a或cat /etc/redhat-release。 显然,当前Linux系统为CentOS7。再查一下内核版本是否不低…

【vite】找不到模块“vite”或其相应的类型声明

今天在用vite搭建项目时,在vite.config.ts文件中 ts报错找不到模块“vitejs/plugin-vue”或其相应的类型声明。 原因:项目中缺少了相应的依赖包或 TypeScript 类型声明。可以按照以下步骤进行检查: 1. 确保安装了相应的依赖包 如果在pack…

KubeSphere 核心实战之二【在kubesphere平台上部署redis】(实操篇 2/4)

文章目录 1、登录kubesphere平台2、redis部署分析3、redis容器启动代码4、kubesphere平台部署redis4.1、创建redis配置集4.2、创建redis工作负载4.3、创建redis服务 5、测试连接redis 在kubesphere平台上部署redis应用都是基于redis镜像进行部署的,所以所有的部署操…