TH1/Book/1.1运行指南.md
2025-07-17 18:26:28 +08:00

74 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 运行步骤
1. IDE安装
**使用[Rider2023.3](https://www.jetbrains.com/zh-cn/rider/)**(更新到最新版),需要安装以下内容:
- 安装.Net8
- 不支持VS新人用VS搞出各种问题请不要来问我我也没用过VS后期搞熟了可以自己改用VS
2. 该分支必须使用Unity**2022.3.15**(初学者请在此版本用熟后再切换其他版本)
3. 整个过程请开启全局翻墙否则各种unity包 nuget包下载不下来报memerypack等错误
4. 启动UnityHub打开(Open) -> 选中'ET/Unity'文件夹所在目录后打开工程
5. 打开工程后点击Unity菜单 -> Edit -> Preferences -> External Tools点击下拉框'External ScriptEditor'选择RiderGenerate .csproj files for全部不要勾选
6. 在Project视图中选中'Assets/Resources/GlobalConfig'把AppType选择成'**Demo(状态同步)**'或者'**LockStep(帧同步)**'
7. Assets/Resources/GlobalConfig CodeMode选择**Client Server** Unity BuildSettings切换到Windows平台其它平台不支持ClientServer模式, 点击Unity菜单 -> ET -> Compile(或按快捷键**F6**)进行编译
8. 打开ET.sln**编译整个ET.sln**注意要翻墙否则可能nuget包下载不下来导致编译出错(翻墙后如果还有报错解决不了可以尝试先用VS打开ET.sln编译一次后再回到Rider重新编译一次)
9. Unity中双击'Assets/Scenes'目录中的**Init**场景点击Play(▶)即可运行
10. 帧同步默认是一个人匹配,如果需要多人匹配,修改**LSConstValue.cs**中的**MatchCount** 客户端服务端重启即可
11. 注意要独立启动服务器右键UnityHub以管理员身份运行UnityHub然后启动Unity没有管理员启动是不行的因为服务端要开启http服务普通权限开不了
停止Unity Play点开Unity菜单->ET->Server Tools->Start Server(Single Process)这样就单独启动了服务端。打开Unity菜单 -> ET -> BuildTool中CodeMode改成Client点击Unity Play登录。
如果还是连接不上报10037错误注意看ET/Logs目录看有没有Error日志。 如果要用rider启动服务器rider也必须用管理员权限启动
注意一定要用 netsh http delete urlacl 命令删除掉所有自己添加的urlacl具体使用方法请谷歌
12. 有问题请论坛提问贴出服务端error log跟客户端error log没有日志无法回复
# 打包过程
1. 点击HybridCLR -> Installer点击安装等待安装完成
2. 点击Unity菜单 -> ET -> Compile(或按快捷键**F6**)进行编译
3. 点击HybridCLR -> Generate -> All
4. 点击HybridCLR -> CopyAotDlls这一步会把需要补充元数据的dll复制到'Assets/Bundles/AotDlls'目录
5. 打开YooAsset -> AssetBundle Builder窗口按照以下步骤操作:
①BuildPipeline : '**ScriptableBuildPipeline**'
②BuildMode : '**IncrementalBuild**'
③CopyBuildinFileOption : '**ClearAndCopyAll**'
④点击'**Click Build**'
6. Assets/Resources/GlobalConfig EPlayMode选择'HostPlayMode', 打开Unity菜单 -> ET -> BuildTool点击'BuildPackage'Windows下生成的exe在'ET/Release'里面
另:**请自行研究**YooAsset包管理库的使用方式([YooAsset官网](https://www.yooasset.com/))
# 热重载
1. 若需要体验此功能需要在Unity菜单 -> Edit -> Preferences -> General窗口的 'ScriptChangesWhilePlaying' 中 选择 '**RecompileAfterFinishedPlaying**'
2. 运行后修改并编译代码点击Unity菜单 -> ET -> Reload(或按快捷键**F7**)即可
# 注意事项:
一、常见出错原因:
1. 中文目录
2. Rider或VS没有更新到最新版本
3. Rider或VS没有安装相关组件
4. 没安装.Net8
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 文件夹即可
10. 如果F6编译报错 请安装IL2CPP扩展 原因是Unity2022 编译api PlayerBuildInterface.CompilePlayerScripts有bug