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 ...
随机推荐
- android eclipse关联源码,以及源码(代码)以及jar查看软件
1.eclipse关联源码 步骤一:自已百度下载相应版本的源码,我这里是4.2也就是API=17的版本. 步骤二:找到你安装sdk的目录, G:\Program Files\adt-bundle-wi ...
- Oracle操作语言分类
Oracle数据库语言总的来说分为三类:DDL,DML,DCL 1.DML(Data Manipulation Language,数据操作语言):用于检索或者修改数据. DML包括: SELECT:用 ...
- PHP类与面向对象(二)
构造函数和析构函数 构造函数PHP 5 允行开发者在一个类中定义一个方法作为构造函数.具有构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作.如果子类中定义了构造 ...
- Linux下面使用rpm命令
RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种 ...
- 转: sql server2008 字段类型详解
bit 整型 bit数据类型是整型,其值只能是0.1或空值.这种数据类型用于存储只有两种可能值的数据,如Yes 或No.True 或False .On 或Off. 注意:很省空间的一种数据类型,如果能 ...
- .NET错误The 'targetFramework' attribute in the <compilation> element of the Web.config file is used only to target version 4.0 and later of the .NET Framework
错误描述: The 'targetFramework' attribute in the <compilation> element of the Web.config file is u ...
- [Lua]50行代码的解释器,用来演示lambda calculus
嗯,来写写经过: 在知乎上看见用Belleve牛用javascript写了一个精简的lisp解释器 => 我也想写一个,用lua写,能多简单呢? => 写了一个阉割的scheme解释器,包 ...
- 构造函数和:this()的应用
一.构造函数和:this()的应用 //本实例演示构造函数和:this()的应用 public class ClsA { public string A{set;get;} public string ...
- how to use javap command
SYNOPSIS javap [options] classes DESCRIPTION The javap command is called "disassembler" be ...
- 在 Visual Studio 中打开编辑 cshtml 文件时出现错误:未能完成该操作 无效指针 的解决方法
第一步:关闭 Visual Studio: 第二步:删除 %LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache 下的所有文件: ...