{"id":16204380,"url":"https://github.com/mr-kelly/kengine","last_synced_at":"2025-04-05T02:11:24.564Z","repository":{"id":71271328,"uuid":"46027609","full_name":"mr-kelly/KEngine","owner":"mr-kelly","description":"A unity asset bundle framework with LGPL license","archived":false,"fork":false,"pushed_at":"2022-12-28T18:41:23.000Z","size":38298,"stargazers_count":447,"open_issues_count":3,"forks_count":146,"subscribers_count":63,"default_branch":"master","last_synced_at":"2025-03-29T01:13:04.291Z","etag":null,"topics":["assetbundle","framework","unity"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mr-kelly.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2015-11-12T03:44:45.000Z","updated_at":"2024-12-03T09:14:26.000Z","dependencies_parsed_at":"2024-01-14T14:31:39.665Z","dependency_job_id":"1bdda50c-28ca-47c4-bcd4-b169d0ba930b","html_url":"https://github.com/mr-kelly/KEngine","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mr-kelly%2FKEngine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mr-kelly%2FKEngine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mr-kelly%2FKEngine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mr-kelly%2FKEngine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mr-kelly","download_url":"https://codeload.github.com/mr-kelly/KEngine/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247276189,"owners_count":20912288,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["assetbundle","framework","unity"],"created_at":"2024-10-10T09:58:08.657Z","updated_at":"2025-04-05T02:11:24.543Z","avatar_url":"https://github.com/mr-kelly.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003e KEngine现已同时兼容Unity 4和Unity 5。默认资源AssetBundle使用Unity 5进行构建，在使用Unity 4打开工程后，Asset Bundle需要重新再打包。\n\u003e \n\u003e Unity 5建议直接使用[**KSFramework**](https://github.com/mr-kelly/KSFramework), 整合KEngine+SLua, 并移除一些Unity 4的支持模块。\n\n\n# KEngine\n\n[![Build status](https://ci.appveyor.com/api/projects/status/7x08hdfflwemq60h?svg=true)](https://ci.appveyor.com/project/mr-kelly/kengine)\n\nKEngine是一个用于Unity3D引擎的AssetBundle框架。\n\n她的核心，资源模块（ResourceModule）为AssetBundle的资源加载、打包提供完整的一套工程规范，减少在项目开发过程中踩坑的时间;\n同时基于资源模块，提供了UI模块（UIModule）、配置表模块（SettingModule），实现完整的项目协作工作流。\n\n\nAn **official fork** from CosmosEngine: https://github.com/mr-kelly/CosmosEngine\nCosmosEngine的官方改名、改进版\n\n# 特点 / Features\n\n* 代码精简, 运行时没有使用反射机制，高性能\n* 适用于PC/Android/IOS平台开发\n* 良好扩展性，支持资源的高清版、低清版\n* 两种异步风格的AssetBundle加载\n* 具备完整的策划-\u003e美术-\u003e程序工作流\n* [美术资源]包含AssetBundle的加载、打包\n* [美术资源]编辑器模式下AssetBundle的性能调试器\n* [UI界面]基于约定的、无配置式的UI模块\n* [策划配置]基于Excel进行编译，配置表可添加图表、注释、批注\n* [策划配置]配置表加载支持运行时**热重载**, 无需重启立即生效\n* [策划配置]自动生成文档完善的静态代码，大大便捷开发流程\n\n\n\n# 整体结构：模块插拔与三大基础模块\n\nKEngine本质上只是一个模块容器(Module Container)，它只为各个模块提供初始化管理。\n\n打个类比，计划开发一个住宅社区，KEngine是一块没有开垦的满是泥巴的地，资源模块(ResourceModule)就是为这块地铺上了水泥；UI模块就是这个社区的会所，配置表模块就是这个社区的物业公司，它们都以水泥地的铺设为前提。接着各式各样的楼房，就是各个不同的自定义模块了。\n\n框架中存在三大基础模块：\n\n* 资源模块 / ResourceModule（基础模块）\n* UI模块 / UIModule\n* 配置表模块 / SettingsModule\n\nAppEngine.Create函数可以传入继承IModule的类来实现模块添加。所有的IModule统一通过协程来进行初始化的。\n\n-----------------------\n\n# 快速入门DEMO\n\n**Unity打开Assets/KEngine.NGUI.Demo/KEngineNGUIDemo.unity**\n\n点击播放, 将会加载一个简单的基于UGUI的AssetBundle资源。\n\n\n------------\n\n# KEngine安装器\n\nKEngine.Installer安装器为现有项目嵌入KEngine提供方便的支持，可以以源码、DLL等不同形式导入。\n\n[使用KEngine.Installer安装器](Docs/Doc_Installer.md)\n\n\n# 开发人员使用指南\n\n* [代码约定/Convention](#)\n\t* [尽可能简单的代码](#)\n\t* [用代码生成机制取代泛型和反射](#)\n* [资源模块/ResourceModule](Docs/Doc_ResourceModule.md)\n\t* [简单资源版本控制/AssetVersionControl](Docs/Doc_AssetVersionControl.md)\n\t* 资源运行时调试工具/ResourceModuleDebuggers\n\t* ~~[依赖处理系统/AssetDep](Docs/Doc_AssetDep.md)~~\n* [UI模块/UIModule](Docs/Doc_UIModule.md)\n* [配置表模块/SettingModule](Docs/Doc_SettingModule.md)\n\t* 惰式初始化\n\t* 热重载\n\t* 扩展表头类型\n\n\n# 策划人员使用指南\n\n策划人员使用Excel文件的编辑，KEngine在运行过程中会监测Excel配置表目录，当发现有改动时将对Excel进行编译。\n\n编译出的纯文本文件交由程序读取，同时编译出的纯文本文件，方便在svn进行合并、比较。(另外像诸如Beyond Compare等工具，直接支持Excel文件的比较)\n\n![ExcelEdit](Docs/ExcelEdit.png)\n\u003e 使用编译模式的最大好处，策划人员可以在Excel上进行注释、图表、批注等附加工作，甚至可以把一些文字描述文档，放到Sheet2。让配置表与文档结合在一起。\n\n![ExcelOutput](Docs/ExcelOutput.png)\n\u003e Excel文件经过编译后变成CSV格式的表格，并且去掉了注释行。\n\n![SettingModule Confirm](Docs/SettingModule_Watcher.png)\n\u003e 在Unity打开情况下，修改Excel，将监测到改动，弹出提示框\n\n![SettingModule Tips](Docs/SettingModule_Log.png)\n\u003e 关闭或确定提示框后，将进行表编译工作\n\nPS: 如果在Unity未打开情况下进行Excel表的修改保存，将无法**自动监测**到改动。这时候，需要在打开Unity后通过菜单\"KEngine-\u003eSettings-\u003eForce compile settings\"进行手工编译。\n\n配置表支持**热重载**功能。在Unity播放状态时，修改Excel表并重新编译，运行中的配置表会自动重新加载。无需重启游戏。\n\n配置表支持多表合并（分表），如AppConfig+Skill.xlsx和AppConfig+Buff.xlsx，它们可以做成一样的表头结构； 对于策划来说，可以多个表之间填写数据；而对于程序来说，在加载和使用时会合并成AppConfig一个表。\n\n示例Excel文件: KEngine.UnityProject/Product/SettingSource/Example.xlsx（将被编译到KEngine.UnityProject/Assets/Resources/Example.bytes）\n\n\n# 美术人员使用指南\n在目录**_ResourcesBuild_**中依次建好产品化所需的目录，如UI、Effect、Audio目录，资源依序放入。\n\n程序需要根据项目需求，在构建系统写入适当的脚本对各个目录进行分别打包。\n\n# 基础配置/Config\n\nKEngine.UnityProject/Assets/Resources/KEngineConfig.txt为CSV格式配置文件，可拖入Excel打开编辑, 也可通过菜单KEngine-\u003eOptions进行配置\n\n# Demo\n\n![KEngineDemo](Docs/KEngineDemo.png)\n\u003e KEngine.UnityProject/Assets/KEngine.Demo/KEngineDemo.unity为Demo场景。使用了UI、配置表。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmr-kelly%2Fkengine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmr-kelly%2Fkengine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmr-kelly%2Fkengine/lists"}