Unity3d 音效模块相关
关于Unity的音效方面,主要关注以下3个类:
Audio Clip : audio data,导入到unity中的音频文件都是audio clip。
Audio Sources : 挂载这audio clip的Object,相当于是一个音频控制器,可以用它来控制音频的播放、停止、以及设置一些播放参数等。
Audio Listener : 音效的监听者,注意一个scene同时只能有一个listener,一般挂载到main camera上或者主角身上,具体挂哪儿根据需求来定。
另外还有一些音频相关的类:
Audio Effect: Unity自带的一些声音效果,通过挂载脚本到Audio Source或Audio Listener上实现
音频低通滤波器(Audio Low Pass Filter ):
声音的传播在不同的环境是不同的。例如表达一个可视化的雾效果就是添加低通滤波器到音频侦听器。
从门后发出的声音的高频率,不会达到侦听器。为了模拟这个,简单地在开门时改变截止频率(Cutoff Frequency)
音频高通滤波器Audio High Pass Filter :
只留下高频率的音频。
音频失真滤波器 Audio Distortion Filter :
应用音频失真滤波器(Audio Distortion Filter)来模拟一个低质量的无线电发射的声音。
Reverb Zones : 混响区
混响区(Reverb Zones)获取音频剪辑(Audio Clip)并且根据音频侦听器所在的混响区进行失真处理。它们当你想逐步从一个没有环境影响的点变化到有环境影响的地方时被使用。例如,当你进入一个洞穴。
Microphone : 麦克风
音频属性设置:
Audio Format:
Native: 效果好,适合较短音效;
Compressed:有压缩,适合较长的音效。
Load Type:
Decompress on load: 可以避免运行时开销,但内存消耗很大,适用于较小的压缩声音;
Compressed in memory: 保持声音在内存中是压缩的并在播放时解压缩,有轻微的性能开销,适用于较大文件。
Gapless looping : 无缝循环,对于loop音频,有可能由于压缩导致破坏循环,这种情况下可以通过设置这个变量来解决。
音轨模块:.xm, .mod, .it, 和 .s3m
根据一般经验,像背景音乐这样的长音频适合用压缩音频,而音效适合用不压缩的。
在移动平台上,audio都会自动按照MP3格式进行压缩,以降低CPU的解压缩压力。
在IOS上,可以使用Apple硬件解码的功能来得到更好的效率。在Audio Importer中勾上"Hardware Decoding"即可。
音效的播放:AudioSource.Play/Pause/Stop
public class AudioComponent : MonoBehaviour
{
public void PlayAudioClip(AudioClip clip)
{
if (clip == null)
return;
AudioSource source = (AudioSource)gameObject.GetComponent("AudioSource");
if (source == null)
source = (AudioSource)gameObject.AddComponent("AudioSource");
source.clip = clip;
source.minDistance=1.0f;
source.maxDistance=50;
source.rolloffMode=AudioRolloffMode.Linear;
source.transform.position = transform.position;
}
}
Unity3d 音效模块相关的更多相关文章
- 第一章-第二题Unity3D游戏引擎相关--By林培文
1) 此类软件是什么时候开始出现的, 这些软件是怎么说服你(陌生人)成为他们的用户的? 他们的目标都是盈利么? 他们的目标都是赚取用户的现金么?还是别的? 2004年,Unity3D诞生于丹麦哥本 ...
- Nginx日志和http模块相关变量
$arg_PARAMETER #HTTP 请求中某个参数的值,如/index.php?site=www.ttlsa.com,可以用$arg_site 取得 www.ttlsa.com 这个值. $ar ...
- MM-采购模块相关业务
采购模块主要业务流程: 1.收集采购需求(采购申请单),系统采购申请单单据可以由需求部门手工产生,也可以由系统的MRP(物料需求计划)来产生. 2,货源确定,用来确定所申请的物料,通过何种方式向供应商 ...
- Unity3D 之 iTween 相关
有过 Flash 开发经验的朋友,对这个 iTween 应该感到非常熟悉吧,在 Flash 平台有一款功能几乎一样的插件 TweenLite,至于哪个先哪个后,有没有相互借鉴之类的就不在讨论范围了. ...
- 【iCore2 模块相关资料】iM_LAN 100M 以太网模块UDP例程
============================== 技术论坛:http://www.eeschool.org 博客地址:http://xiaomagee.cnblogs.com 官方网店:h ...
- nginx反向代理proxy模块相关参数
http_proxy_module Proxy_pass proxy_pass指令属于ngx_http_proxy_module模块,此模块可以将请求转发到另一台服务器:官方说明:http://ngi ...
- 【iCore2 模块相关资料】发布模块DEMO 代码包,目前支持 iM_TFT30、 iM_LAN和 iM_RGB 三个模块
iCore2 模块底板 和部分模块发布了,所以我们做了一个 DEMO 代码包,此代码包现在有以下功能: 1.支持 iM_TFT30 3寸触摸液晶模块(硬件已发布): 2.支持 iM_LAN 100M以 ...
- Python小知识点(4)--模块相关
1.模块: 定义:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是以.py结尾的python文件(文件名:test.py,对应的模块名:test). 包:用来从逻辑上组 ...
- H3C光模块相关命令和检测方法
<Sysname> dis transceiver interface GigabitEthernet 1/0/28 查看 GigabitEthernet1/0/28 transcei ...
随机推荐
- JDK版本不兼容问题之:一台机器安装多个版本的JDK
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://guojie.blog.51cto.com/59049/45964 我的机器上最开 ...
- Leetcode 19 Remove Nth Node From End of List 链表
删除从后往前数的第n个节点 我的做法是将两个指针first,second 先将first指向第n-1个,然后让first和second一起指向他们的next,直到first->next-> ...
- BeginInvoke与EndInvoke方法解决多线程接收委托返回值问题
BeginInvoke与EndInvoke方法解决多线程接收委托返回值问题 原文:http://www.sufeinet.com/thread-3707-1-1.html 大家可以先看看我上 ...
- react native TypeError network request failed
如果使用fetch获取数据,用的是POST方法,注意headers要添加请求头.当请求为GET时不能用body,当为POST时必须包含body,设置头部之后就一切正常了. fetch(&q ...
- 深入理解Openstack自动化部署
前言 说实话,看到自己在博客园的排名感到惭愧,因为自己最近两年没有持续地在博客园上写技术博客了,有人私下问我是不是荒废了?翻翻15年和16年的博客,真的是少的可怜.一方面的确由于岗位的变化,导致了工作 ...
- hibernate spring annotation setup
First step setup for the pom.xml with hibernate dependency , hibernate dependency need to before the ...
- NGUI 减少drawcall规则
前置说明一: Unity中的drawcall定义: 每次引擎准备数据并通知GPU的过程称为一次Draw Call. Unity(或者说基本所有图形引擎)生成一帧画面的处理过程大致可以这样简化描述:引擎 ...
- COM是一个更好的C++
昨天看了<COM本质论>的第一章”COM是一个更好的C++”,觉得很有必要做一些笔记,于是整理成这篇文章,我相信你值得拥有. 这篇文章主要讲的内容是:一个实现了快速查找功能的类FastSt ...
- jackson json转实体 允许特殊字符和转义字符 单引号
//允许出现特殊字符和转义符 mapper.configure(Feature.ALLOW_UNQUOTED_CONTROL_CHARS, true) ; //允许出现单引号 mapper.confi ...
- 通过Web.config实现301重定向
通过Web.config实现301重定向 IIS7以上可以通过修改Web.config实现IIS设置 现在我们通过Web.config实现301重定向 <system.webServer> ...