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 ...
随机推荐
- JAVA学习Swing章节标签JLabel中图标的使用
package com.swing; import java.awt.Color; import java.awt.Component; import java.awt.Container; impo ...
- spark spark ziliao important
http://book.51cto.com/art/201408/448416.htm 一.如何实现多台机器的ssh无密码登录 当我们在配置多台计算,使之可以相互使用无密码登录-ssh,之前都是一台一 ...
- android: 调用摄像头拍照
很多应用程序都可能会使用到调用摄像头拍照的功能,比如说程序里需要上传一张图片 作为用户的头像,这时打开摄像头拍张照是最简单快捷的.下面就让我们通过一个例子来学 习一下,如何才能在应用程序里调用手机的摄 ...
- AngularJS和DataModel
通常,在AngularJS中使用JSON作为存储数据的模型.我们可能这样在controller中写model: app.controller('BookController',['$scope',fu ...
- Entity Framework 6.x Code Frist For Oracle 实践与注意点
Entity Framework 6.x Code Frist For Oracle 实践与注意点 开发环境 Visual Studio.net 2015/2017 Oracle 11g/12c 数据 ...
- C++矩阵运算库推荐
最近在几个地方都看到有人问C++下用什么矩阵运算库比较好,顺便做了个调查,做一些相关的推荐吧.主要针对稠密矩阵,有时间会再写一个稀疏矩阵的推荐. Armadillo:C++下的Matlab替代品 地址 ...
- U盘安装ubuntu,一直提示start booting from usb device…[转]
找到U盘中syslinux文件夹下的syslinux.cfg文件,在default vesamenu.c32前面加一个#号就可以了. 我的syslinux.cfg文件修改后如下,够简单吧!!!!建议用 ...
- 持续集成工具Hudson安装实例
安装maven 下载maven,解压 [root@localhost local]# pwd /usr/local [root@localhost local]# -bin.tar.gz [root@ ...
- 40页PPT勾画“互联网颠覆性思维”----诠释互联网思维
本文PPT内容涉及移动互联网的三个分支——移动电商.在线教育和新媒体. 不同领域一直是可以相互借鉴.相互渗透.相互学习的,在盈利模式和思维方式上有很多是共通的.
- RabbitMQ学习笔记5-简单的RPC调用
利用空的queue名字("")让rabbitMQ生成一个唯一的队列名称,同时指定队列是:临时的(auto-delete).私有的(exclusive). 在发送的RPC调用消息里设 ...