|
5 | 5 | - windows上用visual studio安装最新的.Net8, mac请用homebrew安装.Net8跟powershell
|
6 | 6 | - 不支持VS,新人用VS搞出各种问题请不要来问我,我也没用过VS,后期搞熟了可以自己改用VS
|
7 | 7 |
|
8 |
| -2. 出现如下报错 [Package Manager Window] Error searching for packages. 不用处理,这是因为github package的注册表跟unity有些不兼容导致的,忽略即可 |
| 8 | +2. 出现如下报错 [Package Manager Window] Error searching for packages. 不用处理!!!!!! 这是因为github package的注册表跟unity有些不兼容导致的,忽略即可 |
9 | 9 |
|
10 | 10 | 3. 该分支必须使用Unity**2022.3.15**(初学者请在此版本用熟后再切换其他版本)
|
11 | 11 |
|
12 | 12 | 4. 整个过程请开启全局翻墙,否则各种unity包 nuget包下载不下来,报memerypack等错误
|
| 13 | + |
| 14 | +5. 注意一定要clone一个新的工程!clone一个新的工程!clone一个新的工程!重要的事情说三遍!!! |
13 | 15 |
|
14 |
| -5. 启动UnityHub,打开(Open) -> 选中'ET'文件夹所在目录后打开工程,特别注意,ET9的目录结构跟ET8.1完全不同,请全新下载整个工程,不要从老的工程切过来 |
| 16 | +6. 启动UnityHub,打开(Open) -> 选中'ET'文件夹所在目录后打开工程,特别注意,ET9的目录结构跟ET8.1完全不同,请全新下载整个工程 |
15 | 17 |
|
16 |
| -6. 打开工程后,点击Unity菜单 -> Edit -> Preferences -> External Tools,点击下拉框'External ScriptEditor'选择Rider,Generate .csproj files for要勾选前两个 |
| 18 | +7. 打开工程后,点击Unity菜单 -> Edit -> Preferences -> External Tools,点击下拉框'External ScriptEditor'选择Rider,Generate .csproj files for要勾选前两个 |
17 | 19 |
|
18 |
| -7. 在你的github中获取token,获取方法:打开 https://github.com/settings/tokens 选择tokens(classic),点击generate new token,下面全部勾选,点击确定,复制你的token保存 |
| 20 | +8. 在你的github中获取token,获取方法:打开 https://github.com/settings/tokens 选择tokens(classic),点击generate new token,下面全部勾选,点击确定,复制你的token保存 |
19 | 21 |
|
20 |
| -8. 打开菜单ET->Init->Manage scope registries, 点击ET-Packages Edit, 把你的github token粘贴到token里面 save,然后再看到User Credentials on this computer点+号, |
| 22 | +9. 打开菜单ET->Init->Manage scope registries, 点击ET-Packages Edit, 把你的github token粘贴到token里面 save,然后再看到User Credentials on this computer点+号, |
21 | 23 | Registry URL填入 https://npm.pkg.github.com/@ET-Packages
|
22 | 24 | token填入你的github token
|
23 | 25 | always auth 填 true
|
24 | 26 | 点击add
|
25 | 27 |
|
26 |
| -9. 在https://github.com/orgs/ET-Packages/packages 中选择一个demo包安装,目前有两个demo, cn.etetet.lockstep跟cn.etetet.statesync分别是帧同步跟状态同步(一个工程只能安装一个demo,不能同时装多个) |
| 28 | +10. 在https://github.com/orgs/ET-Packages/packages 中选择一个demo包安装,目前有两个demo, cn.etetet.lockstep跟cn.etetet.statesync分别是帧同步跟状态同步(一个工程只能安装一个demo,不能同时装多个) |
27 | 29 | 新手最好先选择状态同步,因为我都是先修改状态同步,偶尔会漏改了帧同步,等状态同步跑通再尝试帧同步
|
28 | 30 |
|
29 |
| -10. 两种安装包的方式,第一种,可以关闭Unity,打开Packages/manifest.json, 在dependencies中加上demo包跟版本号,例如"cn.etetet.lockstep": "0.0.36", 注意后面有个逗号,重启Unity,Unity就会自动下载依赖,并且会显示下载进度,该方案安装速度更快。第二种,打开Unity的菜单Windows->PackageManager,点击左上角加号,选择add package by name,输入包名,点击右边add,会把所有的依赖包下载。这种因为Unity有bug导致安装很慢。推荐使用第一种安装方式。 |
| 31 | +11. 两种安装包的方式,第一种,可以关闭Unity,打开Packages/manifest.json, 在dependencies中加上demo包跟版本号,例如"cn.etetet.lockstep": "0.0.36", 注意后面有个逗号,重启Unity,Unity就会自动下载依赖,并且会显示下载进度,该方案安装速度更快。第二种,打开Unity的菜单Windows->PackageManager,点击左上角加号,选择add package by name,输入包名,点击右边add,会把所有的依赖包下载。这种因为Unity有bug导致安装很慢。推荐使用第一种安装方式。 |
30 | 32 |
|
31 |
| -11. 如果没有出现日志git Dependencies are all installed,说明安装不完整,可以重新点击ET->Init->RepairDependencies修复,直到安装成功。注意,在PackageManager中观察一下,所有的ET开头的包都会是Custom包,这是因为安装后ET会把包挪到Packages目录,从而变成Custom包,如果有ET开头的包不是Custom,请重新点击ET->Init->RepairDependencies然后刷新Unity |
| 33 | +12. 注意,安装完成后,在PackageManager中观察一下,所有的ET开头的包都会是Custom包,这是因为安装后ET会把包挪到Packages目录,从而变成Custom包,如果有ET开头的包不是Custom,请重新点击ET->Init->RepairDependencies然后刷新Unity |
32 | 34 |
|
33 |
| -12. 运行Unity菜单 ET->StateSync->Init或者ET->LockStep->Init (这一步会导Excel 导Proto 生成assemlbyreference 添加INITED宏,并且自动链接demo中的ET.sln到根目录,并且把Loader包中的GlobalConfig中的SceneName设置成demo名) |
| 35 | +13. 运行Unity菜单 ET->StateSync->Init或者ET->LockStep->Init (这一步会导Excel 导Proto 生成assemlbyreference 添加INITED宏,并且自动链接demo中的ET.sln到根目录,并且把Loader包中的GlobalConfig中的SceneName设置成demo名) |
34 | 36 |
|
35 |
| -13. Unity中将Packages/ET.Loader/Resources/GlobalConfig中的CodeMode改成ClientServer,将SceneName设置成demo名StateSync或者LockStep(这个在上一步会自动设置,你这里检查一下名字是不是demo名), 这个选项是将服务端运行在Unity中,一体化运行。如果客户端单独打包的话,这里要使用Client |
36 |
| -14. Packages/ET.YooAssets/Resources/YooConfig中将EPlayMode修改为EditorSimulateMode(具体请看YooAssets的官方文档) |
| 37 | +14. Unity中将Packages/ET.Loader/Resources/GlobalConfig中的CodeMode改成ClientServer,将SceneName设置成demo名StateSync或者LockStep(这个在上一步会自动设置,你这里检查一下名字是不是demo名), 这个选项是将服务端运行在Unity中,一体化运行。如果客户端单独打包的话,这里要使用Client |
| 38 | +15. Packages/ET.YooAssets/Resources/YooConfig中将EPlayMode修改为EditorSimulateMode(具体请看YooAssets的官方文档) |
37 | 39 |
|
38 |
| -15. 点击Unity菜单 Assets->Open C# Project,这里由于修改了rider插件,会自动打开ET.sln |
| 40 | +16. 点击Unity菜单 Assets->Open C# Project,这里由于修改了rider插件,会自动打开ET.sln |
39 | 41 |
|
40 |
| -16. 编译整个ET.sln, 注意要翻墙,否则可能nuget包下载不下来,导致编译出错(翻墙后如果还有报错解决不了可以尝试先用VS打开ET.sln编译一次后再回到Rider重新编译一次) |
| 42 | +17. 编译整个ET.sln, 注意要翻墙,否则可能nuget包下载不下来,导致编译出错(翻墙后如果还有报错解决不了可以尝试先用VS打开ET.sln编译一次后再回到Rider重新编译一次) |
41 | 43 |
|
42 |
| -17. Unity中, 然后双击Packages/ET.Loader/Scenes/Init场景,点击Play(▶)即可运行 |
| 44 | +18. Unity中, 然后双击Packages/ET.Loader/Scenes/Init场景,点击Play(▶)即可运行 |
43 | 45 |
|
44 |
| -18. 帧同步默认是一个人匹配,如果需要多人匹配,修改**LSConstValue.cs**中的**MatchCount** 客户端服务端都要重新编译,都要重启即可 |
| 46 | +19. 帧同步默认是一个人匹配,如果需要多人匹配,修改**LSConstValue.cs**中的**MatchCount** 客户端服务端都要重新编译,都要重启即可 |
45 | 47 |
|
46 |
| -19. 注意要独立启动服务器,右键UnityHub,以管理员身份运行UnityHub,然后启动Unity(没有管理员启动是不行的,因为服务端要开启http服务,普通权限开不了), |
| 48 | +20. 注意要独立启动服务器,右键UnityHub,以管理员身份运行UnityHub,然后启动Unity(没有管理员启动是不行的,因为服务端要开启http服务,普通权限开不了), |
47 | 49 | 停止Unity Play,点开Unity菜单->ET->Server Tools->Start Server(Single Process),这样就单独启动了服务端。打开Unity菜单 -> ET -> BuildTool中CodeMode改成Client,点击Unity Play,登录。
|
48 | 50 | 如果还是连接不上报10037错误,注意看ET/Logs目录,看有没有Error日志。 如果要用rider启动服务器,rider也必须用管理员权限启动
|
49 | 51 | 注意一定要用 netsh http delete urlacl 命令删除掉所有自己添加的urlacl,具体使用方法请谷歌
|
50 | 52 | 客户端注意要打开cn.etetet.loader/Resources/GlobalConfig, 把CodeMode换成Client
|
51 | 53 |
|
52 |
| -20. 注意独立运行服务器的目录不再是Bin目录,而是Bin的上一层目录,也就是Unity目录,比如 dotnet.exe Bin/ET.App.dll --Console=1。用rider启动默认是在Bin目录,需要自己修改运行目录,去掉Bin |
| 54 | +21. 注意独立运行服务器的目录不再是Bin目录,而是Bin的上一层目录,也就是Unity目录,比如 dotnet.exe Bin/ET.App.dll --Console=1。用rider启动默认是在Bin目录,需要自己修改运行目录,去掉Bin |
53 | 55 |
|
54 |
| -21. 有问题请论坛提问,贴出服务端error log跟客户端error log,没有日志无法回复 |
| 56 | +22. 有问题请论坛提问,贴出服务端error log跟客户端error log,没有日志无法回复 |
55 | 57 |
|
56 | 58 | # 打包过程
|
57 | 59 | 1. 点击HybridCLR -> Installer,点击安装,等待安装完成
|
|
0 commit comments