Unity基础框架学习
小渣渣在学习
这个作者很懒,什么都没留下…
展开
-
Unity基础框架学习--缓存池(最最实用的框架)
什么是 缓存池?缓存池是 我在游戏构件中 用的比较多的一个框架模型,基于以下几点原因。1、游戏性能的考虑。在unity里,我们有大量的 生成(Instantiate)和 销毁(Destroy)物体的操作,在我们内存中,Destroy 了一个物体后,他虽然消失了,但是内存里还有着他的引用。这样,当这样的操作不断进行,最后内存会越来越满,直接造成游戏卡顿等现象,这是十分不可取的。2、框架包装,简单方便的调用。如前几个模块一样, 缓存池包装 完毕后,也就是一两行代码,就能进行一个 小功能的 实现。3原创 2020-08-11 23:13:12 · 1747 阅读 · 1 评论 -
Unity基础框架学习--事件中心
事件中心模块模块是啥?事件中心模块主要是用于降低 各种 事件耦合度 的作用。他也可以说是 观察者模式 , 或 中介者(软件)。它处理什么 情形 呢?在游戏里有各种 事件触发,如某个机关、boss死亡、动画触发等等,我们当然可以调用 某个脚本引用,来实现我们的 事件需求,但是, 当各类事件交互 对象变得繁杂 起来,不利于我们后续的 开发和维护,所以我们 需要事件中心模块 来降低我们 事件的耦合度。我们用计算机 导论里 网状型 和 星型总线 来解释:所以我们的 事件中心,就是用中心的处理模块的原创 2020-08-11 21:26:41 · 832 阅读 · 0 评论 -
Unity基础框架学习--公共模块
**什么是公共模块呢?**公共模块主要是其辅助作用。首先,我们注意到在unity新建的脚本,都会默认继承自MonoBehaviour,这个里面是啥呢?我们选定他导航(F12)一下(有兴趣的同学可以继续查看他的父类的父类的父类的父类。。。)而如果有某个类很特殊,他需要继承自我们另外构建的类,这时候又想在这个类里调用MonoBehaviour的API,比如下图:Invoke、StartCoroutine、StopCoroutine等函数,我们就可以借用公共模块来给我们打辅助。Ex:前面我们的 资源模块 因原创 2020-08-11 19:36:30 · 520 阅读 · 0 评论 -
Unity基础框架学习--单例 + 资源加载模块
由于这两个模块比较基础,内容较少,就放到一起总结。先行知识(重点)1、c#泛型2、lambda表达式3、Unity.UnityEngine的协程(IEnumerator)单例 是游戏开发中经常使用的,他在面向对象编程中,类似于 静态类 的思想,我们可以直接通过类名调用内部的函数,而不用大费周折的去找他的引用。资源加载模块 也是常用的关于资源调动的api,我们在unity.engine官方api的基础上进行包装,满足我们基本需求:同步加载资源、异步加载资源。有关于同步、异步的区别: 很多场合都用原创 2020-08-07 22:14:24 · 370 阅读 · 0 评论 -
Unity基础框架学习--音效(5)-- 效果展示加扩展
接下来,我将带领大家展示搭好框架后,如何使用框架,还有如何灵活拓展框架的功能等等。一、AudioManager的使用1.将音效片段放入项目文件中注意位置和脚本里的位置对应,我的是放在Sounds/下面2.在 txt文档里 记录音效片段的名字注意txt文件的 名字 和 路径以及 txt文档里的格式(细节请看 AudioClip那篇博客)3.调用即可。`如果报错,是因为缺少引用脚本,我们直接选择 vs 自带的错误修正方式即可。`using Lemon.audio;using Sys原创 2020-08-06 23:20:10 · 380 阅读 · 0 评论 -
Unity基础框架学习--音效(4)
AudioManager最后是 AudioManager,前面我们把基础搭建完善,后面就是调用前面所构建的基础,来进一步搭建我们的Audio Manager。接下来开始:右键新建一个c#脚本,命名为AudioManager。首先,AudioManager只需挂载一个即可,我们把它做成单例。根据我们之前的需求分析,成员变量就是前两个类:AudioSourceManager、ClipsManager。 AudioSourceManager audioSourceManager; C原创 2020-08-06 22:09:35 · 286 阅读 · 5 评论 -
Unity基础框架学习--音效(3)
AudioClipManager本篇是AudioClip的管理。游戏加载时要将要用到的音效加载进内存,同时为了方便调用,需对其进行些许包装。接下来开始:一、SingleClip为了便于操作,我们先封装一个类来包装 AudioClip。右键创建c#脚本,命名为SingleClip。我们成员只有一个AudioClip:AudioClip myClip;构造函数: public SingleClip(AudioClip tempClip) { myCl原创 2020-08-06 21:39:49 · 431 阅读 · 0 评论 -
Unity基础框架学习--音效(2)
AudioSuorceManager本篇主要是AudioSource的管理,如上一篇所述,我们的目的是需要缓存几个 AudioSource组件,并合理管理这些组件,使得他的数量不多不少,刚好符合当前游戏音效数量的使用。接下来开始:首先我们希望在 某一个物体下面挂载我们需要管理的 AudioSource 组件,初始时可以将它设为 3 个。然后就是对 这些AudioSource 组件的管理:获取空闲AudioSource、释放多余AudioSource等。我们创建c#脚本,将它命名为 AudioSo原创 2020-08-06 19:53:08 · 416 阅读 · 1 评论 -
Unity基础框架学习--音效(1)
1.认识声音一个声音的产出,需要一个 播放器(AudioSource) 和一个接收器 (AudioLIstener)。通常 AudioListener 在附加在默认相机里面,且每个场景默认只能有一个接收器。我们的重点在 AudioSource 上:声音的播放,必须要有 声音片段(AudioClip),这里我们只关注AudioClip。剩下的功能有兴趣的同学可自行查阅,如Mute(bool,是否静音)、Volume(RangeOf(0,1),声音大小)、Pitch(RangeOf(-3,3),声音播原创 2020-08-06 19:11:23 · 713 阅读 · 0 评论