Unity性能优化—声音优化
来源:互联网 发布:歌莉娅淘宝官方旗舰店 编辑:程序博客网 时间:2024/06/07 02:00
Unity性能优化—声音优化
发表于 2016-9-28 11:43:03|只看该作者|只看大图|倒序浏览|阅读模式
本帖最后由 manew_JR 于 2016-9-28 11:48 编辑
目标给你一个关于在Unity游戏中通过优化声音提高性能的建议
为什么我的游戏加载时间那么长?
为什么播放游戏声音时延迟那么长?
为什么声音文件占那么多的内存?
为什么我一播放声音游戏就那么卡?
难道是因为我在开发时对声音的处理有问题?
也许你在加载声音时都会出现以上的问题冲到你的脑门上!!
好吧,我知道这种感觉!!声音管理起来很棘手;当我开发第一个游戏的时候我也有遇到过相同的问题。我在网上任何地方都找不到原因和解决方案。所以我决定发布这篇文章,希望能帮助到你。
如果你是Unity初学者,首先需要弄清楚声音管理如何在Unity中工作的。
为此,你可以参照下面的链接,去了解一下Audio Clips、Audio Listeners、AudioSources的基本操作:https://unity3d.com/learn/tutorials/modules/beginner/audio/audio-sources-and-listeners
在Unity中的声音管理是非常简单和基本的,它是如何影响我的游戏呢?
· 是的,非常简单哦,但是它(声音管理)却能让你的游戏陷入困境!
· 让我们通过一个简单的案例去理解它吧。
步骤一:设置场景,如下所示:
创建一个Canvas,给它添加两个Button控件(一个名为Music-Button,另一个为Sound-Button)。
在Main Camera下创建一个空物体命名为AudioSources,且又在它下面再创建两个空物体分别命名为“BackgroundMusic”和“SFX-Sounds”。
然后创建一个空物体(Empty GameObject),并命名为“SoundManager”。(名字随你来)
在hierarchy中层次关系如下所示:
我的屏幕设置很简单,如下所示:
步骤二:创建一个脚本,如下所示:
[C#] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using
UnityEngine;
public
class
SoundManager : MonoBehaviour
{
#region BACKGROUND_MUSIC
public
AudioClip[] backgroundMusicClipsArray;
public
AudioSource backgroundMusicSource;
#endregion
#region SFX_SOUNDS
public
AudioClip[] SFXSounds;
public
AudioSource SFXAudioSource;
#endregion
#region PUBLIC_METHODS
public
void
PlayRandomMusic()
{
backgroundMusicSource.clip = backgroundMusicClipsArray[Random.Range(0, backgroundMusicClipsArray.Length)];
backgroundMusicSource.Play();
}
public
void
PlayRandomSFXSounds()
{
SFXAudioSource.PlayOneShot(SFXSounds[Random.Range(0, SFXSounds.Length)]);
}
#endregion
}
在这里,对于背景音乐和SFX声音(SFX声音就是一点短的音频剪辑,如跳跃的声音(Biu)等)我声明了两个Audio Clip的数组,名字分别为:backgroundMusicClipsArray和 SFXSounds(分别用来存放对应的声音资源)。
也声明了两个AudioSource类型的成员变量(就是对应的“BackgroundMusic”和“SFX-Sounds”,记得把他们拖到脚本上哦)。
这里有两个名为PlayRandomMusic() 和PlayRandomSFXSounds()的方法,用于在我们调用该方法时播放随机音乐/声音。然后为对应的Button添加对应的响应事件。把AudioClips的设置全设为默认即可。
现在测试它在编辑器是否能正常工作。
步骤三:把发布平台设置为安卓平台
生成 Build 的时候记得把 Development Build 和 Auto Connect Profiler 勾选上,如下图所示:
在你手机上开始游戏,你有发现到什么奇怪的事情吗?
加载游戏花了多少时间?
对于我,从Unity的默认界面加载到游戏界面我大约花了10-15秒,我的游戏中大概有15个背景音乐和40个SFX声音片段。
现在,查看一下Profiler,在Profiler中找到Audio模块。如下图所示(下面第一张图是我自己弄得,怕大伙们找不到Audio模块。。)
阅读全文
0 0
- Unity性能优化—声音优化
- Unity性能优化—声音优化
- Unity 声音资源优化
- Unity的优化系列2 - 优化声音
- unity性能优化(一)
- unity性能优化(二)
- unity性能优化总结
- Unity性能优化
- unity 代码性能优化
- unity 性能优化
- unity性能优化
- Unity性能优化
- Unity性能优化
- Unity性能优化
- Unity性能优化
- Unity-性能优化测试
- Unity 性能优化
- unity性能优化
- HDU 4370 0 or 1(最短路)
- pytest框架执行用例例子
- BadgeView
- 国内外物联网平台特点以及开发语言整理
- LInux:shell 命令:字符串截取
- Unity性能优化—声音优化
- Android——ARGB的透明度A的16进制参考表
- 使用mysql 自带的语句构建 多个更新条件 批量更新
- [BZOJ3377]geng4512膜你题1:子集
- lemon oa 自己学习
- PASCAL VOC2012目标检测权威评测夺冠之道
- AS下如何生成自定义的.jks签名文件, 以及如何生成数字签名
- [计数][容斥] LOJ#6065 || BZOJ4927 && 2017 山东一轮集训 Day3. 第一题
- 03. JVM性能监控&故障处理工具