unity-声音与声效OLD

2024-01-20 10:12
文章标签 unity 声音 old 声效

本文主要是介绍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();
}

这篇关于unity-声音与声效OLD的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/625663

相关文章

树莓派5_opencv笔记27:Opencv录制视频(无声音)

今日继续学习树莓派5 8G:(Raspberry Pi,简称RPi或RasPi)  本人所用树莓派5 装载的系统与版本如下:  版本可用命令 (lsb_release -a) 查询: Opencv 与 python 版本如下: 今天就水一篇文章,用树莓派摄像头,Opencv录制一段视频保存在指定目录... 文章提供测试代码讲解,整体代码贴出、测试效果图 目录 阶段一:录制一段

Unity Post Process Unity后处理学习日志

Unity Post Process Unity后处理学习日志 在现代游戏开发中,后处理(Post Processing)技术已经成为提升游戏画面质量的关键工具。Unity的后处理栈(Post Processing Stack)是一个强大的插件,它允许开发者为游戏场景添加各种视觉效果,如景深、色彩校正、辉光、模糊等。这些效果不仅能够增强游戏的视觉吸引力,还能帮助传达特定的情感和氛围。 文档

Unity协程搭配队列开发Tips弹窗模块

概述 在Unity游戏开发过程中,提示系统是提升用户体验的重要组成部分。一个设计良好的提示窗口不仅能及时传达信息给玩家,还应当做到不干扰游戏流程。本文将探讨如何使用Unity的协程(Coroutine)配合队列(Queue)数据结构来构建一个高效且可扩展的Tips弹窗模块。 技术模块介绍 1. Unity协程(Coroutines) 协程是Unity中的一种特殊函数类型,允许异步操作的实现

Unity 资源 之 Super Confetti FX:点亮项目的璀璨粒子之光

Unity 资源 之 Super Confetti FX:点亮项目的璀璨粒子之光 一,前言二,资源包内容三,免费获取资源包 一,前言 在创意的世界里,每一个细节都能决定一个项目的独特魅力。今天,要向大家介绍一款令人惊艳的粒子效果包 ——Super Confetti FX。 二,资源包内容 💥充满活力与动态,是 Super Confetti FX 最显著的标签。它宛如一位

Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(4)

本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​​ Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(3)-CSDN博客  这节就是真正的存储数据了   理清一下思路: 1.存储路径并检查 //2进制文件类存储private static string Data_Binary_Pa

Unity Adressables 使用说明(一)概述

使用 Adressables 组织管理 Asset Addressables 包基于 Unity 的 AssetBundles 系统,并提供了一个用户界面来管理您的 AssetBundles。当您使一个资源可寻址(Addressable)时,您可以使用该资源的地址从任何地方加载它。无论资源是在本地应用程序中可用还是存储在远程内容分发网络上,Addressable 系统都会定位并返回该资源。 您

Unity Adressables 使用说明(六)加载(Load) Addressable Assets

【概述】Load Addressable Assets Addressables类提供了加载 Addressable assets 的方法。你可以一次加载一个资源或批量加载资源。为了识别要加载的资源,你需要向加载方法传递一个键或键列表。键可以是以下对象之一: Address:包含你分配给资源的地址的字符串。Label:包含分配给一个或多个资源的标签的字符串。AssetReference Obj

在Unity环境中使用UTF-8编码

为什么要讨论这个问题         为了避免乱码和更好的跨平台         我刚开始开发时是使用VS开发,Unity自身默认使用UTF-8 without BOM格式,但是在Unity中创建一个脚本,使用VS打开,VS自身默认使用GB2312(它应该是对应了你电脑的window版本默认选取了国标编码,或者是因为一些其他的原因)读取脚本,默认是看不到在VS中的编码格式,下面我介绍一种简单快

Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(3)

本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​​ Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(2) (*****生成数据结构类的方式特别有趣****)-CSDN博客 做完了数据结构类,该做一个存储类了,也就是生成一个字典类(只是声明)  实现和上一节的数据结构类的方式大同小异,所

【Unity小技巧】URP管线遮挡高亮效果

前言 在URP渲染管线环境下实现物体遮挡高亮显示效果,效果如下: Unity URP遮挡高亮 实现步骤 创建层级,为需要显示高亮效果的物体添加层级,比如Player 创建一个材质球,也就是高亮效果显示的材质球找到Universal Renderer Data Assets 4.在Assets上添加两个Render Objects组件 第一个做如下三处设置 指定遮挡层级指