unity开发小贴士之八 Audio使用心得

1. AudioSource pitch 倍速播放 默认=1 战斗有2倍速 3倍速 对应的 技能音效也有同步倍速播放的需求。

2.场景切换 背景音乐有渐变需求,借助DOTWEEN插件,需要注意的是DOFade()之前需要volume=0

audioSource.volume = 0
audioSource:DOFade(self.musicVolume,2.5)

3.背景音乐比较大,每一个文件单独命名为一个assetBundle是明智之选,在场景切换时把上一个背景音乐卸载

4.Load Type

Decompress On Load
音频文件一经加载就会被解压缩。 对较小的压缩声音使用此选项可以避免即时解压缩的性能开销。 请注意,在加载时解压缩Vorbis编码的声音比使用它压缩大约多十倍的内存(对于ADPCM编码大约是3.5倍),所以不要将此选项用于大文件。适用于音效文件
Compressed In Memory
保持声音在内存中压缩并在播放时解压缩,节省内存。 这个选项有一个小的性能开销(尤其是对于Ogg / Vorbis压缩文件),所以只能用于较大的文件,例如背景音乐。 
Streaming
动态解码声音。 此方法使用最小量的内存来缓冲从磁盘逐渐读取并在运行中解码的压缩数据。 
注意:即使没有加载任何音频数据,流式片段也会有大约200KB的过载。所以比较适合较大的文件,例如背景音乐。

原文地址:https://www.cnblogs.com/Hyhom/p/9047481.html

时间: 2024-10-31 10:03:31

unity开发小贴士之八 Audio使用心得的相关文章

unity开发小贴士之三 UGUI-Lua Component回收

ugui tolua local test = {} test.b = gameobjecttest.c = gameobject:GetComponent(typeof(UnityEngine.UI.Button)) 首先调用UnityEngine.GameObject.Destroy(test.b)如果test这个table也被ToLuaUnRef回收之后,发现test.c这个引用c#中的Button对象并未从ObjectTranslator.objectsBackMap中释放出来 Obje

iOS开发小功能之八:手势的简单使用(6种)以及代理方法

代码: 1 #import "ViewController.h" 2 @interface ViewController () <UIGestureRecognizerDelegate> 4 @property (weak, nonatomic) IBOutlet UIImageView *imageView; 5 @end 7 @implementation ViewController 8 - (void)viewDidLoad { 9 [super viewDidLo

web移动开发小贴士

1.判断手机类型 var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 2.iphone及ipad下输入框默认内阴影 Element{ -webkit-appearance: none; } 3.ios和and

Unity开发实战探讨-资源的加载释放最佳策略简要心得

Unity开发实战探讨-资源的加载释放最佳策略简要心得 看过我另外一篇关于Unity资源释放随笔<Unity开发实战探讨-资源的加载释放最佳策略>如果觉得略微复杂,那么下面是一些比较简要的心得体会: 概括 常用资源加载的方法有三种:静态,Resources内部资源,AssetBundle外部资源 资源释放的方式 有二种:立刻释放和统一释放. 静态 静态就是资源直接放场景,静态资源无法立刻释放,但场景关闭由引擎统一释放,开发者无法干预,所以最为无脑. 但静态过于死板,除了整个场景生命周期中必须使

Unity 开发心得(1)

C#与JS用于unity开发的区别: C#中定义函数必须声明函数类型(void等),但是JS中可以未知函数类型直接定义(function) 注意 C#脚本在Rect前有个new JS脚本没有. 例:在unity中创建GUI控件 在unity中使用脚本都需要绑定游戏对象.例如GUI需要绑定在camera对象中才能在Game界面中显示出来.具体的操作是,选中游戏对象(例如camera),点击右边Inspector中的"Add Component"并选择需要绑定的脚本. C#脚本: void

Git 中级用户的25个小贴士

原文链接:25 Tips for Intermediate Git Users 作者:Andy Jeffries 时间:2009年11月1日 更新:这篇文章最初是在 2009年11月 发布到我的博客,它一直没有更新--不过有许多人发现这篇文章很有用,所以我想保持下去.请不要评论说"这些已经不再是中级小贴士了". 我使用 git 大约 18 个月了,以为自己已经比较了解 git 了.但当我们请 GitHub 的 Scott Chacon 来 LVS 公司(博彩/游戏软件开发商)做一些培训

Android应用开发-小巫CSDN博客客户端之集成友盟社会化分享组件

Android应用开发-小巫CSDN博客客户端之集成友盟社会化分享组件 上一篇博客给大家介绍了如何分析网页并且使用jsoup这个库对html代码进行解析,本篇博客继续给大家介绍如何集成友盟社会化组件,如何使用SDK提供的API轻松实现多平台的社会化分享,官网的文档和Demo看起来很头疼的有木有,小巫在集成这个社会化的组件也有点烦躁,所以也需要各位耐心看下面的博文把友盟社会化组件集成到你的应用中去.为什么要选择友盟呢,这里也是答应了小喵的,要帮忙集成他们的服务,所以也顺带帮他们写一篇这样的博文,千

unity 开发入门

---恢复内容开始--- 使用Unity开发一个打飞机的初级入门小游戏. 实现功能: 一.界面UI:3个界面:1开始界面,2游戏界面,3解释界面. 1.开始界面: 主要代码: using UnityEngine;using System.Collections; public class projectile : MonoBehaviour { private Transform m_projectile; private Rigidbody goprojectile; void Start (

性能小贴士

性能小贴士 本文主要介绍一些代码优化方面的小贴士,结合起来使用能整体性的提升应用性能.但是,这些技巧不可能带来戏剧性的性能改变.合适的算法和数据结构是解决性能的首选考虑(还有程序的执行流程优化),但这已经脱离了本文的范畴. 本文介绍的小贴士是每个有追求的程序员应有的编码习惯. 关于如何写出高效的代码,这里有两个基本的原则: Don't do work that you don't need to do Don't allocate memory if you can avoid it 面临的现状