KSFrameworkUnity3D 开发框架/工具集

联合创作 · 2023-09-27 18:26

KEngine + SLua+ Framework = KSFramework


KSFramework是一个整合KEngine、SLua的Unity 5开发框架,并为程序、美术、策划、运营提供辅助工具集。


热重载是KSFramework的开发重点——在不重启游戏的前提下,重载代码、配置表可立刻看到修改效果,最大限度的提升开发、调试的速度,方便运营阶段热更新。


结构组成:



功能特性


资源模块



  • Unity 5中一键打包Asset Bundle


  • AssetBundle加载器,加载时自动处理依赖关系


  • 资源路径约定,含热更新资源机制


  • 手动的、引用计数的资源释放策略


  • 资源运行时重载(减引用计数)



配置表模块



  • 自动编译Excel,支持在表中添加注释


  • Excel表头,可设置数据类型(如int, array的声明)


  • 自动生成配置表读取代码


  • 支持惰式加载,无初始化的时间消耗


  • 支持热重载,运行时修改配置表无需重启



UI模块



  • 约定优于配置式的UI框架


  • 快速导出当前编辑的UI


  • 支持热重载,运行时修改UI脚本无需重启



脚本模块



  • 路径约定,通过import函数进行加载


  • 缓存机制配合import函数,可实现所有脚本的热重载


  • Lua新增using函数类似于C#中的using,暴露使用table中的属性为全局使用



多语言模块



  • 基于配置表模块


  • 约定好多语言字符串的机制


  • 多语言字符串收集器



Unity编辑器强化



  • 编辑代码后,返回正在运行的游戏,强制停到正在运行的游戏,避免崩溃的出现


  • 封装Unity编辑器的各种事件,如编译前、播放前、暂停时等



工程建议


建议创建两个Unity工程:code和art,一个用于代码编辑,一个用于美术编辑并导出AssetBundle。 这样code的Unity工程,只带了代码和AssetBundle,没有资源加载的缓慢过程,让Unity开发更畅快;同时也对代码部分做了保密,防止其他人员外泄。


键盘快捷键



  • Ctrl+Alt+E: 在编辑UI场景时,导出UI成AssetBundle


  • Ctrl+Alt+R: 在运行时,热重载所有LuaUIController


  • Ctrl+Alt+Shift+R: 在运行时,热重载所有LuaUIController,并且把所有打开状态UI关闭后重新开启


  • Ctrl+Alt+I: 在编辑器,打开Game.unity主运行场景


  • Ctrl+Alt+O: 在编辑器,打开Ctrl+Alt+I前的一个场景



KEngine和KSFramework


定位不一样


KEngine:为了减低Unity 4.x中AssetBundle的加载、打包复杂度;


KSFramework:一站式的开发框架,可以开箱即用,整合KEngine和SLua。只支持Unity 5。


提供的模块不同


KEngine: 提供基础的资源加载(ResourceModule)功能,并以之为基础,增加配置表(SettingModule)、UI模块(UIModule)这两个核心模块;另外还有针对Unity 4.x的资源依赖打包模块。


KSFramework:基于KEngine的资源、UI、配置表模块,实现更直接的、面向具体项目的常用功能模块,并搭配SLua。

浏览 24
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报