【ET8】1.ET8入门-运行指南

2023-12-13 04:25:40

主要学习网址

论坛地址为:https://et-framework.cn

Git地址为:GitHub - egametang/ET: Unity3D Client And C# Server Framework

官方QQ群 : 474643097

多线程多进程框架设计-01预告_哔哩哔哩_bilibili

项目检出

检出项目切换到release8.0分支

GitHub地址:GitHub - egametang/ET: Unity3D Client And C# Server Framework

码云地址:(更新可能不及时,我发文章时,最新的版本是7.2的,最好用GitHub的吧)ET: ET是一个开源的游戏客户端(基于unity3d)服务端双端框架,服务端是使用C# .net core开发的分布式游戏服务端,其特点是开发效率高,性能强,双端共享逻辑代码,客户端服务端热更机制完善,同时支持可靠udp tcp websocket协议,支持服务端3D recast寻路等icon-default.png?t=N7T8https://gitee.com/egametang/ET

运行指南

打卡目录下的ET\Book\1.1运行指南.md?文件

运行步骤

  1. IDE安装

    使用Rider2023.2(更新到最新版),需要安装以下内容:

    • 安装.Net7,不要用.Net8,目前并不支持.Net8
    • 不支持VS,新人用VS搞出各种问题请不要来问我,我也没用过VS,后期搞熟了可以自己改用VS
  2. master分支必须使用Unity2021.3.29(初学者请在此版本用熟后再切换其他版本)

  3. 启动UnityHub,打开(Open) -> 选中'ET/Unity'文件夹所在目录后打开工程

  4. 打开工程后,点击Unity菜单 -> Edit -> Preferences -> External Tools 在下拉框'External ScriptEditor'中Rider,Generate .csproj files for全部不要勾选(□)

  5. 点击Unity菜单 -> Assets -> Open C# Project 启动IDE

  6. 在Project视图中选中'Assets/Resources/GlobalConfig',把AppType选择成'Demo(状态同步)'或者'LockStep(帧同步)'

  7. 打开Unity菜单 -> ET -> BuildTool,CodeMode选择Client Server,然后点击ReGenerateProjectFiles

  8. 打开ET.sln,编译整个ET.sln,注意要翻墙,否则可能nuget包下载不下来,导致编译出错

  9. Unity中双击'Assets/Scenes'目录中的Init场景,点击Play(?)即可运行

  10. 帧同步默认是一个人匹配,如果需要多人匹配,修改LSConstValue.cs中的MatchCount即可

打包过程

  1. 点击HybridCLR -> Installer,点击安装,等待安装完成

  2. 用Rider或VS,编译好Unity.AllHotfix

  3. 点击HybridCLR -> Generate -> All

  4. 点击HybridCLR -> CopyAotDlls,这一步会把需要补充元数据的dll复制到'Assets/Bundles/AotDlls'目录

  5. 打开YooAsset菜单 -> 点击AssetBundle Builder -> 点击下拉框'Copy Buildin File Option' -> 选择'Clear And Copy All' -> 点击'构建'

  6. 打开Unity菜单 -> ET -> BuildTool 点击'BuildPackage',Windows下生成的exe在'ET/Release'里面

另:请自行研究YooAsset包管理库的使用方式(YooAsset官网),若需要升级请自行替换'ET/Unity/Packages/YooAsset'

ENABLE_DLL模式

  1. 该模式用于逻辑全热更新,还有热重载,默认就是使用该模式
  2. 在Unity菜单 -> ET -> ChangeDefines -> Remove ENABLE_DLL(关闭) 或 Add ENABLE_DLL(开启)
  3. 逻辑打成了一个Model.dllHotfix.dll,开启该模式时游戏运行是通过加载dll运行,但这样Unity Editor将无法引用逻辑代码。所以如果有Editor代码需要用到逻辑代码,可以关闭ENABLE_DLL模式
  4. 若需要体验热重载,需要在Unity菜单 -> Edit -> Preferences -> General窗口的ScriptChangesWhilePlaying 中 选择 'RecompileAfterFinishedPlaying',运行后修改Hotfix代码然后用Rider或VS编译好Unity.AllHotfix工程,再在状态同步Demo中按'R'键

注意事项:

一、常见出错原因:

  1. 中文目录
  2. Rider或VS没有更新到最新版本
  3. Rider或VS没有安装相关组件
  4. 没安装.Net7
  5. 没编译服务端所有工程
  6. Unity版本不兼容
  7. Win7用户,没有特别设置
  8. 编译过程中如果出现依赖问题,也有可能是'Unity菜单 -> Edit -> Preferences -> External Tools -> Generate .csproj files for': 当中勾选了:'Registry packages' 或 'Build-in packages', 请记得都不要勾选(□)
  9. 如果打包报错缺少"StreamingAsset",自己在 'ET/Unity/Assets' 下新建一个 StreamingAsset 文件夹即可

个人总结

前面先不要用dll模式,先用vs2022跑起来,后面用dll模式时一定要用Rider生成解决方案

vs2022配置

必须安装的包:.net桌面开发、使用Unity的游戏开发、使用C++的游戏开发

必须安装的单个包组件:.net7.0运行时、.net8.0运行时

文章来源:https://blog.csdn.net/yhx956058885/article/details/134877305
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。