23 Star 192 Fork 47

yimengfan / BDFramework.Core

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

logo.png

作者寄语(Introduction)

Simple! Easy! Professional! This‘s a powerful Unity3d game workflow!
BDFramework的设计理念永远是:工业化、流水线化、专业化!
永远致力于打造高效的商业游戏工作流.
BDFramework大部分功能开发都是围绕一整条工作流,以Pipeline的形式放出.
如:BuildPipeline、PublishPipeline、DevOps 等...
对于第三方库使用也都是为了Pipeline深度定制,很多时候为了一些使用体验优化会编写大量的Editor编码.
这也是BDFramework的设计理念之一:
能编辑器解决的,就不要业务层解决!能自动化的,就不要手动!
BDFramework没有什么看上去很酷炫的功能,大都是一点一滴的积累,一点点的增加自动化,一点点的增加业务编码的体验.也正是因为有这样的坚持,才会有这套框架的出现.
更多的是做一些商业技术方案的分享和讨论.
因为一些特殊原因,只能放出一些游戏基建方案Pipeline的实现,
不会有对具体业务逻辑的解决方案,所以整套workflow更像是一套游戏开发脚手架.
望理解!
最后,
虽然该框架能开箱即用,但我个人建议且鼓励 :进行自己的思考,并为自己项目进行改造!
有任何疑问也欢迎讨论~

社区(Community)

在线discussions 点击

第九第十艺术交流:184111890 (QQ Group:184111890) 点击加群

If you find a bug or have some suggestions,please make issue! I'll get back to you!
任何问题直接提issue,24小时内必解决 (有时候邮件抽风,没收到,需要在群里at下我~)
github地址: https://github.com/yimengfan/BDFramework.Core
gitee地址: https://gitee.com/yimengfan/BDFramework.Core (国内比较快)

文档(Document)

中文 Wiki

English Wiki

视频教程(video)

博客(Blog)

发布(Publish)

Release版本

注:所有bug修复和新特性加入会先提交到Master分支。待审核期通过,稳定则会发布Release版本

Unity3d支持(Unity3d Support )

Unity2018 - ObsoleteBranch

Unity2019 - Master (推荐)

Unity2020 - TestBranch

Unity2021 - TestBranch

版本开发流程:
=》修改、Fixed bug、新功能加入 基于Master(目前为Unity2019)
=》Merge to Unity2020 、Unity2021测试

V2.1版本:

-增加BuildPipeline!

-增加PublishPipeline!

-增加HotfixPipeline!

-全面支持DevOps工作流.

V2版本:

1.全面升级为UPM管理: urp版本安装引导

2.全面适配URP管线工作流

3.全面定制Unity Editor环境,升级编辑器操作。更便捷、人性化的开发体验

4.全面优化框架启动速度,重构部分远古代码。

5.UFlux UI工作流全面升级:更智能的值绑定、更简单的工作流、更方便的自定义扩展、DI等...

6.更全面的文档

7.商业级的Demo加入,后续会开放免费商业级项目开发教程

V1版本:

C#热更(C# hotfix):

  • 自定义编译服务
  • 可选工程剥离(热更可以不拆工程)
  • 一键打包热更DLL
  • 兼容DevOps、CI、CD.

表格管理(Table Manage):

  • Excel一键生成Class
  • Excel一键生成Sqlite、Json、Xml等
  • 服务器、本地表格分开导出.
  • 自定义配置保留字段、单条记录等.
  • SQLite ORM工具(兼容热更)
  • 自定义表格逻辑检测.
  • 兼容DevOps、CI、CD.

资源管理(Assets Manage):

  • 重新定制目录管理规范、指导管理.
  • 一套API自动切换AB和Editor模式,保留Resources.load习惯.
  • 可视化连线打包逻辑、0冗余打包.
  • 可扩展打包规则
  • 分包机制.
  • 打包逻辑纠错机制.
  • 内置增量打包机制,防止不同机器、工程打包AB不同情况.
  • 自动图集管理.
  • 自动搜集Shader Keyword.
  • 可寻址加载系统.
  • Assetbundle混淆机制,一定程度下防破解资源.
  • Assetbundle 同、异步加载校验.
  • Assetbundle 加载性能测试.
  • Editor下完整支持
  • 兼容DevOps、CI、CD.

一键版本发布(Publish):

  • 代码、资源、表格一键打包,版本管理自动下载.
  • 内置本机文件服务器
  • 兼容DevOps、CI、CD.

UI工作流(UFlux):

  • 提供一套Flux ui管理机制(类似MVI)
  • 完善的UI管理,可配合任意NGUI、UGUI、FairyGUI等使用
  • 完整的UI抽象:Windows、Component、State、Props...
  • 支持UI管理、值绑定、数据监听、数据流、状态管理等
  • 支持DI依赖注入.

业务管理(Logic Manage):

  • 管理器和被管理类自动注册
  • 在此之上BD实现了ScreenviewManger,UIManager,EventManager...等一些管理器.使用者根据自己的需求可以实现其他的管理器.
  • Editor下完整支持.

导航机制(Navication):

  • 模块、用户Timeline等导航机制.
  • 方便做模块调度、划分等逻辑...

全面定制Editor:

  • 提供完整的编辑器生命周期,方便可定制、拓展.
  • 完整的测试用例,保证框架的稳定.
  • 所有功能全面兼容DevOps、CI、CD等工具.
  • 其他大量的定制Editor,以保证使用体验...(太多了统计不过来)

有很多细枝末节的系统就不列举了...

安装使用(Start)

OpenUPM(强烈推荐):

链接

Release版:

使用Open UPM更新框架:
Step:

  • open Edit/Project Settings/Package Manager
  • add a new Scoped Registry (or edit the existing OpenUPM entry)
  • click Save (or Apply)

Then open the "Package Manger" editor windows. Switch menuitem to "My Registries ". You can see the BDFramework ,you can select the new version.

Master版(紧急修复bug or 自行修改版):

手动将框架放置在Package目录下
image.png
ps:只移动com.popo.bdframework文件夹到自己项目Package目录即可

项目实践流程:

image.png

Demo:

九宫棋(带一套精简的技能系统):https://gitee.com/yimengfan/TheCatChess

贡献者名单

@gaojiexx
@ricashao
@瞎哥
如果需要项目方案定制、企业支持,可以联系 QQ:755737878
也随时欢迎交流各种技术.

如果您有好的修改或者拓展,也随时欢迎讨论和提PR.

Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

简介

Simple and powerful Unity3d game workflow! 简单、高效、高度工业化的商业级unity3d 工作流。 展开 收起
C# 等 4 种语言
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C#
1
https://gitee.com/yimengfan/BDFramework.Core.git
git@gitee.com:yimengfan/BDFramework.Core.git
yimengfan
BDFramework.Core
BDFramework.Core
master

搜索帮助