
Unity流行框架UGF学习笔记
文章平均质量分 63
雨凛星星海
企鹅:843224210
展开
-
UGF结合demo的使用3--sound管理,设置窗口,过渡场景
Sound现在想要给游戏添加声音,在starforce工程里我们能找到各种音源文件,在config目录下能找到一个audio mixer 文件这个是对音源输出做些混响处理的,具体可以看看网上相关文档。再看下starforce上UGF预制体上的Sound节点是怎么设置的。在我的工程中也参照starforce设置了上面的 1 处 audio mixer 就是我根据音源文件在我的项目中手动创建的结构如下上面 2 处的是什么意思呢? 其实就是播放音源的代理 比如 我们的背景音...原创 2021-01-08 16:32:58 · 529 阅读 · 0 评论 -
UGF结合demo的使用2--UI制作,写UI逻辑,本地化语言相关
UI相关接着上篇文章继续进入菜单流程进入流程后打开菜单窗口成功打开菜单窗口后触发订阅的事件赋值m_MenuForm 为 菜单逻辑创建一个UI窗口会在这个窗口上添加两个脚本一个是这个窗口的自定义逻辑脚本,一个是UIform 的生命周期脚本再初始化UIform生命周期脚本时会获取这个UI上的逻辑脚本在每个周期阶段UIForm上执行的逻辑其实是需要调用逻辑脚本上的逻辑如上图我们在使用UI的时候只需要编写逻辑脚本就行了接着...原创 2021-01-08 16:18:20 · 590 阅读 · 0 评论 -
UGF结合demo的使用1--导入框架,数据表,配置,场景切换相关
再学习了基于UnityGameFrameWork的starForce后我想把UGF和我的demo做一个结合。同时也是学习的总结吧。首先在作者的github上下载UGF 这个工程 (ps:GF以动态库的形式存在于项目文件中的那个)这个工程中不需要再替换源码了避免使用者碰到不该碰到的东西。将框架从本地导入upm中接着构建几个基本的流程脚本实现一下初始化游戏并进入场景切换流程切换到菜单场景的操作。在上图中 1 的位置是我自定义的命名空间 在StarForce...原创 2021-01-07 00:50:00 · 1160 阅读 · 0 评论 -
10. 有限状态机使用
虽然gf的流程底层是有限状态机,但这篇文章是要把状态机类如果和游戏中的角色状态一起结合使用。我们已经知道流程其实是对有限状态机进行了一层封装这个流程的周期函数的第一个参数其实就是IFSM<IProcedureManager> 类型的既然流程是一种特殊的状态机而游戏的角色都需要属于他们自身的状态机那能不能是这样假设我们为hero01设计的状态机类名为Hero01State我们能不能模仿流程的方式设计我们的英雄状态Hero01...原创 2021-01-06 20:23:47 · 329 阅读 · 1 评论 -
9. UI和事件订阅
来菜单流程看看加载UI的逻辑再这里主要是有两个步骤要做1是订阅UI打开成功后的事件2是打开UI逻辑底层是由事件类型的hash码分类的方法这不是一般的字典是是作者处理过的字典 值都是由链表构成的如果没有要载入的ui则要更新要载入的ab资源,并调用回调函数。看一下这个m_LoadAssetCallbacks回调函数他由其余几个回调函数组成。发现了载入资源成功的回调,看下在哪里用到。在生成资源...原创 2021-01-06 17:57:16 · 209 阅读 · 0 评论 -
8. 实体相关
实体Entity,指的就是游戏中由我们创建的游戏物体。StarForce里面实体的数据和逻辑是分离的,通过组件的形式组装到实体身上看一段创建小行星的代码以上的代码是从数据表中读取小行星的横纵坐标的位置在游戏中实例化出来。我们看一下实例化实体的方法,这个是实体组件的拓展方法。AsteroidData 就是实体的数据类Asteroid 是实体的逻辑类他们就是这样被实体组件给组装起来的这个Asteroid的底层是entity继承自en...原创 2021-01-06 17:37:48 · 281 阅读 · 0 评论 -
7.UGF热更流程
初始化资源函数查找一下引用有个初始化资源的流程,查找一下所有切换流程的调用。发现只有一处调用。这个是单机模式走的流程而我们想要探索热更的话我们要进入checkversion流程。作者这里的splash流程的含义应该是个风岔流程的意思。进入checkversion的流程,先订阅webrequest任务请求的成功和失败事件。然后添加webrequest任务请求 追踪到最后实际是往任务池里面加。请求成功的时候就会把服务器返回回来的参数进行反...原创 2021-01-06 17:12:08 · 442 阅读 · 0 评论 -
6.starForce资源加载总结
资源加载最后都是要经过这个函数无论是打开ui,生成游戏物体,加载配置表,跟踪到最后都会经过这个函数的。这几个参数就是之前资源加载成功后把资源进行分类的资源组所以资源加载的流程实际上是 下载成功资源后会进行个资源映射分组真正要在游戏中生成的时候要去映射表里找相应的参数对照的资源。...原创 2021-01-06 16:57:54 · 266 阅读 · 0 评论 -
5.资源加载非编辑器模式
知识补充:StreamingAsset: https://blog.youkuaiyun.com/qq_31967569/article/details/82851367unitywebrequire: https://blog.youkuaiyun.com/linxinfa/article/details/94436027注:上图来自烟雨博客在非编辑器下获取到的m_resourceManager.cs不是辅助器而是 resourceManager.cs 这个在上一节已经验证了。如下是资源初始化的入口:原创 2021-01-06 16:52:51 · 143 阅读 · 0 评论 -
4.资源加载编辑器模式
在ProcedureSplash流程后如果是在编辑器模式下直接进行加载不需要热更新编辑器下的资源一般是最新的。首先在编辑器下模仿非编辑模式的时候要把这个勾去掉所以找资源加载相关的就要打开这个代码看看。找到相关引用处进去再找到应用到的代码段如上如果是 编辑器模式 就选择把 编辑器资源辅助器 作为 资源管理者 ,否则获取 资源管理者模块 作为 资源管理者。看看EditorResourceHel...原创 2021-01-06 16:40:50 · 223 阅读 · 0 评论 -
3.从流程和组件深入GF框架
早在我没有发现启动场景的时候,我先发现了gameframework的那个预制,我想启动游戏的时候首先遇到的一个问题就是流程,我已经在前文提到过。StarForce的启动场景中也有gameframwork这个预制只不过是已经经过作者加工组装之后的这点还是很好辨认出来的。builtin部分就是gameframework预制体了这是流程组件节点Procedure 进入代码看看就知道确实是继承gf的组件类的很明显这里勾选的是整个游戏启用的所有流程,entrance proc...原创 2021-01-06 01:21:14 · 1168 阅读 · 0 评论 -
2.从入口开始学习StarForce
在上一篇中在unity中导入了UGF包和GF源码解决了依赖引用的问题。那么入口在哪呢?我发现这个项目中唯二的两个scenes: Menu.unity和Main.unity单独运行这两个场景没什么区别只是两个空场景。也是毕竟场景中没有任何脚本,看起来平平无奇。我看了作者的官网发现在原来有个Example.unity的场景里面有有个gameframework的预制体。这个才是游戏的入口。这个预制体我是能在现在的UGF包里找到但是,Example场景没了。反正这个场景的组成很简单我就自己在a.原创 2021-01-06 00:55:39 · 452 阅读 · 0 评论 -
1.StarForce导入GF源码
StarForce项目由StarForce项目源码和UGF源码 构成的 。UGF中又包含有GF的dll,我所要做的就是把GF的dll换成GF源码好方便在StarForce项目中直接调试。官网qa处提供了替换教程我有选择困难症!到底该用那种方案呢?(ps:本着小心谨慎的原则我会选择第一种,当出于好奇心我也想使用一下unity在2017.3后加入的新特性ADF)我使用了第二种。首先拉取最新版本的StarForce,StarForce本身就把UGF当成是自身的子模块如果直接拉取..原创 2021-01-06 00:09:59 · 1171 阅读 · 2 评论