K Engine by mr-kelly - 2

Frameworks

A unity asset bundle framework with LGPL license

Unknown VersionGNU Lesser General Public License v3.0Updated 229 days agoCreated on November 12th, 2015
Go to source

KEngine现已同时兼容Unity 4和Unity 5。默认资源AssetBundle使用Unity 5进行构建,在使用Unity 4打开工程后,Asset Bundle需要重新再打包。

Unity 5建议直接使用KSFramework, 整合KEngine+SLua, 并移除一些Unity 4的支持模块。

KEngine

Build status

KEngine是一个用于Unity3D引擎的AssetBundle框架。

她的核心,资源模块(ResourceModule)为AssetBundle的资源加载、打包提供完整的一套工程规范,减少在项目开发过程中踩坑的时间; 同时基于资源模块,提供了UI模块(UIModule)、配置表模块(SettingModule),实现完整的项目协作工作流。

An official fork from CosmosEngine: https://github.com/mr-kelly/CosmosEngine CosmosEngine的官方改名、改进版

特点 / Features

  • 代码精简, 运行时没有使用反射机制,高性能
  • 适用于PC/Android/IOS平台开发
  • 良好扩展性,支持资源的高清版、低清版
  • 两种异步风格的AssetBundle加载
  • 具备完整的策划->美术->程序工作流
  • [美术资源]包含AssetBundle的加载、打包
  • [美术资源]编辑器模式下AssetBundle的性能调试器
  • [UI界面]基于约定的、无配置式的UI模块
  • [策划配置]基于Excel进行编译,配置表可添加图表、注释、批注
  • [策划配置]配置表加载支持运行时热重载, 无需重启立即生效
  • [策划配置]自动生成文档完善的静态代码,大大便捷开发流程

整体结构:模块插拔与三大基础模块

KEngine本质上只是一个模块容器(Module Container),它只为各个模块提供初始化管理。

打个类比,计划开发一个住宅社区,KEngine是一块没有开垦的满是泥巴的地,资源模块(ResourceModule)就是为这块地铺上了水泥;UI模块就是这个社区的会所,配置表模块就是这个社区的物业公司,它们都以水泥地的铺设为前提。接着各式各样的楼房,就是各个不同的自定义模块了。

框架中存在三大基础模块:

  • 资源模块 / ResourceModule(基础模块)
  • UI模块 / UIModule
  • 配置表模块 / SettingsModule

AppEngine.Create函数可以传入继承IModule的类来实现模块添加。所有的IModule统一通过协程来进行初始化的。


快速入门DEMO

Unity打开Assets/KEngine.NGUI.Demo/KEngineNGUIDemo.unity

点击播放, 将会加载一个简单的基于UGUI的AssetBundle资源。


KEngine安装器

KEngine.Installer安装器为现有项目嵌入KEngine提供方便的支持,可以以源码、DLL等不同形式导入。

使用KEngine.Installer安装器

开发人员使用指南

策划人员使用指南

策划人员使用Excel文件的编辑,KEngine在运行过程中会监测Excel配置表目录,当发现有改动时将对Excel进行编译。

编译出的纯文本文件交由程序读取,同时编译出的纯文本文件,方便在svn进行合并、比较。(另外像诸如Beyond Compare等工具,直接支持Excel文件的比较)

ExcelEdit

使用编译模式的最大好处,策划人员可以在Excel上进行注释、图表、批注等附加工作,甚至可以把一些文字描述文档,放到Sheet2。让配置表与文档结合在一起。

ExcelOutput

Excel文件经过编译后变成CSV格式的表格,并且去掉了注释行。

SettingModule Confirm

在Unity打开情况下,修改Excel,将监测到改动,弹出提示框

SettingModule Tips

关闭或确定提示框后,将进行表编译工作

PS: 如果在Unity未打开情况下进行Excel表的修改保存,将无法自动监测到改动。这时候,需要在打开Unity后通过菜单"KEngine->Settings->Force compile settings"进行手工编译。

配置表支持热重载功能。在Unity播放状态时,修改Excel表并重新编译,运行中的配置表会自动重新加载。无需重启游戏。

配置表支持多表合并(分表),如AppConfig+Skill.xlsx和AppConfig+Buff.xlsx,它们可以做成一样的表头结构; 对于策划来说,可以多个表之间填写数据;而对于程序来说,在加载和使用时会合并成AppConfig一个表。

示例Excel文件: KEngine.UnityProject/Product/SettingSource/Example.xlsx(将被编译到KEngine.UnityProject/Assets/Resources/Example.bytes)

美术人员使用指南

在目录**ResourcesBuild**中依次建好产品化所需的目录,如UI、Effect、Audio目录,资源依序放入。

程序需要根据项目需求,在构建系统写入适当的脚本对各个目录进行分别打包。

基础配置/Config

KEngine.UnityProject/Assets/Resources/KEngineConfig.txt为CSV格式配置文件,可拖入Excel打开编辑, 也可通过菜单KEngine->Options进行配置

Demo

KEngineDemo

KEngine.UnityProject/Assets/KEngine.Demo/KEngineDemo.unity为Demo场景。使用了UI、配置表。

Show all projects by mr-kelly