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 ...
随机推荐
- 64-bit Tips
终究还是来了.Apple下发了支持64位的最后通牒: As we announced in October, beginning February 1, 2015 new iOS apps submi ...
- HTML+CSS提升小实战
1 <html> 2 <head> 3 <meta http-equiv="Content-Type" content="text/html ...
- MySQL的几种连接 join/inner join/cross join/逗号/left join/right join/natural join
转载请注明出处!! 之前数据表连接操作多使用逗号或者join,对几种连接的概念一直浑浑噩噩,最近研究了一波,把这些连接的区别搞明白了. 连接:A xjoin B(主表 操作 关联表) selec ...
- Hadoop MapReduce例子-新版API多表连接Join之模仿订单配货
文章为作者原创,未经许可,禁止转载. -Sun Yat-sen University 冯兴伟 一. 项目简介: 电子商务的发展以及电商平台的多样化,类似于京东和天猫这种拥有过亿用户的在线购 ...
- protocol buffer
下载与说明:https://github.com/google/protobuf Google Protocol Buffer 的使用和原理:http://www.ibm.com/developerw ...
- mysql5.5 uuid做主键与int做主键的性能实测
数据库:mysql5.5 表类型:InnoDB 数据量:100W条 第一种情况: 主键采用uuid 32位. 运行查询语句1:SELECT COUNT(id) FROM test_varchar; 运 ...
- BootStrap安装
1. 安装Node.js http://nodejs.org/download/ 2. 加速NPM安装 npm install -g cnpm --registry=http://r.cn ...
- c++标准库
Technical Report 1不是正式的库只是一个草案,作为C++ 2003标准的附加库被大多数编译器厂商所支持,它是个过渡性质的库,其实现将会作为C++11标准的一部分.很多编译器对C++11 ...
- js事件之event.preventDefault()与event.stopPropagation()用法区别
event.preventDefault()用法介绍 该方法将通知 Web 浏览器不要执行与事件关联的默认动作(如果存在这样的动作).例如,如果 type 属性是 "submit" ...
- hive中grouping sets的使用
hive中grouping sets 数量较多时如何处理? 可以使用如下设置来 set hive.new.job.grouping.set.cardinality = 30; 这条设置的意义在于 ...