KSFramework:集成U3D熱重載框架 - README


KSFramework

Build status

KEngine + SLua+ Framework = 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM