Tengine基本使用(fantasy分支)
2024.07.29:由于Fantasy框架近期即将更新,所以TEngine该分支可能会有变动。故本文只做上手的参考文档,可以关注后续更新
为什么使用Tengine?
优点
1.Tengine是一款优秀的unity框架解决方案,该框架整合了GameFramework、fantasy、HybridCLR等优秀框架或解决方案为一体,使双端开发都变得简单友好。
2.框架也有商业项目正在使用,是经过验证的可靠方案,足以满足基本的商业需求。
3.社群活跃,一个长期使用的项目来说,活跃的社群或社区是很重要的。
Tengine目录结构
TEngineFantasy目录结构
1 |
|
Asset目录结构
1 |
|
Tengine双端测试[1]
1.在Tengine–gitee官网clone一份项目库,切换到fantasy分支,然后在Unity2021.3以上的版本中,打开Tengine文件夹。
需要注意的是,unity需要提前安装IL2cpp模块才能使用YooAsset、Hybridclr等功能
2.在EditorMode下运行network-demo场景
3.在luban文件夹里,运行gen_code_bin_to_server,生成一下服务端代码
4.在Donet文件夹里开启server解决方案,运行启动项目
(1)vs可能会生成解决方案失败,一般原因是由于ThirdParty的MongoDb.Driver包版本落后导致,将其更新为一致的版本。
(2)生成解决方案之后,也可以运行start_develop来更方便的开启服务端,这个bat文件已经填好了运行需要的参数,可以自行更改。
5.进行双端的消息传输测试
Tengine热更测试
准备工作
在热更之前,需求做一些准备工作来确保环境正常
1.确保安装了Hybridclr,且环境配置正确
如果Hybridclr Enable未开启,需要开启Hybridclr/Define Symbols/Enable Hybridclr,来在Tengine逻辑里打开预编译常量
2.确认Tengine的设置是你想要的
3.打开main场景,确保其中的ResourceModule模块中,ResourceMode设置为联机运行模式(最好将运行模式也改为联机运行模式)
4.运行菜单 HybridCLR/Generate/All 进行必要的生成操作。这一步不可遗漏!!!
5.运行菜单 HybridCLR/Build/BuildAssets And CopyTo AssemblyPath,生成热更新dll并copy到热更程序集中。
6.第一次先设置YooAsset/AssetBundle Builder为SBP
然后运行菜单 TEngine/QuickBuild/一键打包AssetBandle 构建AB
7.打开Build Settings对话框,点击Build,打包热更新示例工程。
文件服务器开启
1.安装node.js,配置好npm环境变量(网上自己查)
2.打开文件服务器目录,运行install.bat进行npm安装
3.新建AssetsRoot文件夹,在里面放入AB包生成的文件和GameScripts\Main\Launcher\Resources\AssetLoad\UpdataData.json文件
UpdataData.json文件可以改变热更新的服务器地址和热更新显示方式,这样可以通过配置这个文件来实时更新配置
4.运行start.bat开启文件服务器
打包验证
1.首次打包可以发现在框架内置debug窗口里可以看到下图内容
2.我们可以给输出日志增加一条来验证热更是否成功。在GameLogic文件夹里的GameApp.cs文件中添加一句打印日志的代码。
1 |
|
3.运行菜单 HybridCLR/Generate/All 重新生成dll,然后再运行菜单 BuildAssets And CopyTo AssemblyPath。
4.重新构建AB,然后再把更新后的AB包上传到文件服务器里。
5.打开之前打包的工程,查看是否处于热更模式,且代码更新成功参考