You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

3.1 KiB

运行步骤

  1. visual studio用户须知:

    • 版本:
      • Win10及以上用户,使用.net6, VS 版本,必须使用2022及以上。注意,VS 2019 不支持 .net6,不能使用。
      • Win7 用户,无法安装 VS 2022,需要使用 .net 5 和 VS 2019,但注意需要额外设置以支持ET编译。
    • 依赖:
      • 需要安装"使用Unity的游戏开发"扩展。
      • 需要在"工具-选项-适用于Unity的工具-常规"里,把杂项里的禁止完整生成项目改为False,否则导致你Codes目录里的代码报错。
  2. 使用Rider2021.2.2(更新到最新版), 需要安装以下内容:

    • Rider的Unity插件
    • 安装 .net6
    • 2021.2.2 会报".NET SDK 6.0.101 is not fully supported in Rider",但实际不影响编译(2021.12.21)
    • 2021.3.x 完全支持 .net6
  3. master分支需要unity2020.3版(用到了C#8的语法)

  4. 启动Unity, 菜单 File -> Open Project... -> Open 选中ET/Unity文件夹,点击选择文件夹按钮。

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

  6. 运行Unity菜单上的 Tools->BuildCode,这一步将编译客户端代码

  7. 用Rider打开 ET/Client-Server.sln 编译(一定要全部工程编译,右键VS解决方案,全部编译) 这里报红发现引用错误,是因为Unity的库还没编译到Unity/Temp/Debug目录下面,一般不用管,必须保证Unity是开启的,然后只需要直接编译Client-Server即可, Client-Server会编译Unity.Mono。Unity.Mono会把自己依赖的Unity的库复制到Unity/Temp/Debug中。Unity.Model Unity.Hotfix Unity.ModelView UnityHotfix.View都会依赖Unity/Temp/Debug下的库。如果还是爆红,关闭vs或者rider,先打开unity,再打开Client-Server.sln,再 编译Client-Server

  8. 导表工具,编译完成后命令行进入 Bin 目录,执行 dotnet Tools.dll --AppType=ExcelExporter

  9. 导出协议工具,编译完成后进入 Bin 目录,执行 dotnet Tools.dll --AppType=Proto2CS

  10. 启动服务器: dotnet Server.dll --Process=1 --Console=1

  11. Unity中双击Scenes目录中的Init场景,点击Play即可运行

测试状态同步demo

  1. 想修改配置就进入 Excel 目录修改对应的表格,做运行步骤的第6步,然后重新运行 Server.App工程来启动服务端。

  2. Unity->tools菜单->打包工具,选择PC,勾选是否打包exe,点击开始打包,打出一个PC包在Release目录下。

  3. 运行Unity 登录 进入大厅 进入场景

  4. 运行PC包 登录 进入大厅

  5. 点击鼠标右键即可移动人物

注意事项:

一. 出错原因都是:

  1. 中文目录。
  2. VS 版本低
  3. Rider没有安装相关组件
  4. 没安装 .net6
  5. 没编译服务端所有工程
  6. Rider要更新到最新版本
  7. Unity版本太低
  8. Win7 用户,没有特别设置
  9. *编译过程中如果出现依赖问题,也有可能是 Unity - External Tools - Generate .csproj files for: 当中勾选了
    1. Registry packages
    2. Build-in packages
  10. *如果打包报错缺少"StreamingAsset",自己在 ET\Unity\Assets 下新建一个 StreamingAsset 文件夹即可。