KSFramework:集成U3D热重载框架 - README

简介:



KSFramework

Build status

KEngine + SLuaFramework = KSFramework

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

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

安装

从产品包安装

你可以从KSFramework Release页面下载最新版本的产品包。

解压后直接用Unity打开KSFramework目录,或直接双击场景KSFramework/Assets/Game.unity。

从源码安装

获取到源码后,需要通过git submodule命令获取KEngine和SLua

git submodule init
git submodule update

拉取submodule后,Windows下双击执行源码Install.bat进行安装,把KEngine和SLua相关代码链接到KSFramework各目录,然后用Unity打开

教程

结构组成

[KSFramework由KEngine和SLua结合组成]

View on ProcessOn

功能特性

资源模块

  • Unity 5中一键打包Asset Bundle
  • AssetBundle加载器,加载时自动处理依赖关系
  • 资源路径约定,含热更新资源机制
  • 手动的、引用计数的资源释放策略
  • 资源运行时重载(减引用计数)

配置表模块

  • 自动编译Excel,支持在表中添加注释
  • Excel表头,可设置数据类型(如int, array的声明)
  • 自动生成配置表读取代码
  • 支持惰式加载,无初始化的时间消耗
  • 支持热重载,运行时修改配置表无需重启

UI模块

  • 约定优于配置式的UI框架
  • 快速导出当前编辑的UI
  • 支持热重载,运行时修改UI脚本无需重启

脚本模块

  • 路径约定,通过import函数进行加载
  • 缓存机制配合import函数,可实现所有脚本的热重载
  • Lua新增using函数类似于C#中的using,暴露使用table中的属性为全局使用
  • 可以在编辑器非运行模式下执行Lua脚本,支持简单Lua单元测试

多语言模块

  • 基于配置表模块
  • 约定好多语言字符串的机制
  • 多语言字符串收集器

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。

版权说明

KSFramework

Author:kelly(我的主程)
Email: 23110388@qq.com
Github:https://github.com/mr-kelly/KSFramework

欢迎大家到 github提issues

KSFramework(集成U3D热重载)README

KSFramework:Unity3D开发框架快速入门

Slua

Github:https://github.com/pangweiwei/slua
Github:https://github.com/mr-kelly/slua


本文转自赵青青博客园博客,原文链接:http://www.cnblogs.com/zhaoqingqing/p/5658437.html,如需转载请自行联系原作者

相关文章
|
17天前
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
31 2
|
2月前
|
Java 程序员 API
Android|集成 slf4j + logback 作为日志框架
做个简单改造,统一 Android APP 和 Java 后端项目打印日志的体验。
114 1
|
3月前
|
算法 API Apache
Flink CDC:新一代实时数据集成框架
本文源自阿里云实时计算团队 Apache Flink Committer 任庆盛在 Apache Asia CommunityOverCode 2024 的分享,涵盖 Flink CDC 的概念、版本历程、内部实现及社区未来规划。Flink CDC 是一种基于数据库日志的 CDC 技术实现的数据集成框架,能高效完成全量和增量数据的实时同步。自 2020 年以来,Flink CDC 经过多次迭代,已成为功能强大的实时数据集成工具,支持多种数据库和数据湖仓系统。未来将进一步扩展生态并提升稳定性。
650 2
Flink CDC:新一代实时数据集成框架
|
2月前
|
开发框架 监控 搜索推荐
GoFly快速开发框架集成ZincSearch全文搜索引擎 - Elasticsearch轻量级替代为ZincSearch全文搜索引擎
本文介绍了在项目开发中使用ZincSearch作为全文搜索引擎的优势,包括其轻量级、易于安装和使用、资源占用低等特点,以及如何在GoFly快速开发框架中集成和使用ZincSearch,提供了详细的开发文档和实例代码,帮助开发者高效地实现搜索功能。
170 0
|
4月前
|
存储 消息中间件 前端开发
Web2py框架下的神秘力量:如何轻松集成第三方API,让你的应用不再孤单!
【8月更文挑战第31天】在开发现代Web应用时,常需集成第三方服务如支付网关、数据存储等。本文将指导你使用Web2py框架无缝接入第三方API。通过实例演示从注册获取API密钥、创建控制器、发送HTTP请求到处理响应的全过程。利用`requests`库与Web2py的内置功能,轻松实现API交互。文章详细介绍了如何编写RESTful控制器,处理API请求及响应,确保数据安全传输。通过本教程,你将学会如何高效整合第三方服务,拓展应用功能。欢迎留言交流心得与建议。
52 1
|
5月前
|
开发框架 前端开发 JavaScript
ABP框架中短信发送处理,包括阿里云短信和普通短信商的短信发送集成
ABP框架中短信发送处理,包括阿里云短信和普通短信商的短信发送集成
ABP框架中短信发送处理,包括阿里云短信和普通短信商的短信发送集成
|
5月前
|
关系型数据库 API Apache
Flink CDC:基于 Apache Flink 的流式数据集成框架
本文整理自阿里云 Flink SQL 团队研发工程师于喜千(yux)在 SECon 全球软件工程技术大会中数据集成专场沙龙的分享。
18353 11
Flink CDC:基于 Apache Flink 的流式数据集成框架
|
4月前
|
人工智能
LLama+Mistral+…+Yi=? 免训练异构大模型集成学习框架DeePEn来了
【8月更文挑战第6天】DeePEn是一种免训练异构大模型集成学习框架,旨在通过融合多个不同架构和参数的大模型输出概率分布,提升整体性能。它首先将各模型输出映射至统一概率空间,然后进行聚合,并最终反转回单一模型空间以生成输出。实验证明,在知识问答和推理任务上,DeePEn相比单一大模型如LLaMA和Mistral有显著提升,但其效果受模型质量和数量影响,并且计算成本较高。[论文: https://arxiv.org/abs/2404.12715]
45 1
|
4月前
|
测试技术 Java Spring
Spring 框架中的测试之道:揭秘单元测试与集成测试的双重保障,你的应用真的安全了吗?
【8月更文挑战第31天】本文以问答形式深入探讨了Spring框架中的测试策略,包括单元测试与集成测试的有效编写方法,及其对提升代码质量和可靠性的重要性。通过具体示例,展示了如何使用`@MockBean`、`@SpringBootTest`等注解来进行服务和控制器的测试,同时介绍了Spring Boot提供的测试工具,如`@DataJpaTest`,以简化数据库测试流程。合理运用这些测试策略和工具,将助力开发者构建更为稳健的软件系统。
61 0
|
4月前
|
测试技术 持续交付 开发者
Xamarin 高效移动应用测试最佳实践大揭秘,从框架选择到持续集成,让你的应用质量无敌!
【8月更文挑战第31天】竞争激烈的移动应用市场,Xamarin 作为一款优秀的跨平台开发工具,提供了包括单元测试、集成测试及 UI 测试在内的全面测试方案。借助 Xamarin.UITest 框架,开发者能便捷地用 C# 编写测试案例,如登录功能测试;通过 Xamarin 模拟框架,则可在无需真实设备的情况下模拟各种环境测试应用表现;Xamarin.TestCloud 则支持在真实设备上执行自动化测试,确保应用兼容性。结合持续集成与部署策略,进一步提升测试效率与应用质量。掌握 Xamarin 的测试最佳实践,对确保应用稳定性和优化用户体验至关重要。
66 0