ET框架-03 ET框架-Demo工程的编译与运行

学习目标:

ET框架-Demo工程的编译与运行


学习内容:

1.Unity工程代码编辑器的设置
2.服务器配置
3.运行Server.App
4.手动去编译Unity客户端代码
5.运行客户端
6.打包客户端(以及打包BUG解决)
7.运行测试


学习时间:

2022.2.19


学习产出:

1.Unity工程代码编辑器的设置

打开Edit-Preferences
在这里插入图片描述
我们将代码编辑器设置为我们之前安装的VS2022
在这里插入图片描述
在Unity下面使用VS2022打开一次项目
在这里插入图片描述

2.服务器配置

进入目录,打开Client-Server.sln
在这里插入图片描述
需要在"工具-选项-适用于Unity的工具-常规"里,把杂项里的禁止完整生成项目改为False
在这里插入图片描述
然后我们选择Client下面的Mono,右键
在这里插入图片描述
点击重新生成
在这里插入图片描述
然后我们选择解决方案,然后右键
在这里插入图片描述
我们重新生成解决方案
在这里插入图片描述
现在我们ET框架所有的源代码都被编译完成了

3.运行Server.App

点击即可运行
在这里插入图片描述
然后我们就开启了黑窗口
在这里插入图片描述
但是我们的黑窗口并没有任何的日志输出,我们并不知道是否启动成功,或者是否报错,那我们应该在哪去查看呢?
答案是,在Logs文件夹下面
这两个文件,就是我们的log文件
在这里插入图片描述
这里我们不免会好奇,为什么我们我们的日志不在控制台的黑窗口输出呢?为何要多此一举生成一个文件,每一次还得打开log文件去查看?
原因有二:

  1. 首先我们的服务器如果出现问题,exe文件崩溃,那么日志文件就会全部消失,我们根本无法去定位我们的错误在哪,这也是为什么我们需要将log文件保留下来的重要原因
  2. 我们是没办法在正式服务器程序去查看这个黑窗口

打开日志文件,发现Server启动成功
在这里插入图片描述

4.手动去编译Unity客户端代码

我们的代码并不是放在Assets文件夹下面,而是与Assets文件夹同级的Codes文件夹下面,这样做的好处就是方便热更新,我们并不需要Unity自动的去帮我们编译代码,反而,我们可以随时进行修改,然后随时进行编译,这是很方便同时也很有意义的一件事。
这也是ET框架最大的优点之一
在这里插入图片描述
在Unity–Tools–BuildCodeDebug点击
在这里插入图片描述
编译完成
在这里插入图片描述

5.运行客户端

我们打开场景Init,然后将代码Init的CodeMode从IL Runtime热更新模式变为Mono模式,来保证我们游戏运行的一个正确性
在这里插入图片描述
我们直接点击登录
在这里插入图片描述
然后进入地图
在这里插入图片描述
我们鼠标右键对应位置,小人会跟随移动
在这里插入图片描述
如果出现了全部爆红的情况,可能是材质丢失
在这里插入图片描述

我们选择对应的物体,然后将Shader改为Unity自带的默认的Shader即可解决
在这里插入图片描述

6.打包客户端(以及打包BUG解决)

我们发现,这里只有一个小人在移动
既然是网络游戏,那是不是应该来多个小人一起才有意思呢?
好主意,那我们就去Build我们的项目

首先我们进入ProjectSettings
将其设置为窗口显示
在这里插入图片描述
然后我们进入Tools点击打包工具
在这里插入图片描述
勾选三个之后,点击打包
在这里插入图片描述
这里出现了bug
显示我们没有StreamingAssets文件夹
在这里插入图片描述
那我们就自己创建一个
在这里插入图片描述
又出现了一个bug
IL2CPP is not installed
在这里插入图片描述
这里我们进入UnityHub
添加一个模块,名为Windows Build Support(IL2CPP)在这里插入图片描述
然后我们重启项目,然后进入Tools打包

打包完成之后,我们进入Release文件夹
在这里插入图片描述
打包完成

7.运行测试

我们重新启动我们的服务器,也就是
在这里插入图片描述
然后我们打开两个以上的客户端
在这里插入图片描述
我们发现,两个客户端的玩家位置会同时进行同步
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_48781656/article/details/123022319
今日推荐