74 lines
4.2 KiB
Markdown
74 lines
4.2 KiB
Markdown
# 运行步骤
|
||
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'选择Rider,Generate .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 |