自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(92)
  • 资源 (1)
  • 收藏
  • 关注

原创 unity学习(89)——unity塞满c盘!--删除editor下的log文件

删除C:\Users\王栋林\AppData\Local\Unity\Editor下的log文件。这个再往下找也是没用的!其中unity占23g。editer占了21g。

2024-04-21 01:45:00 303

原创 unity学习(88)——断线的原因--客户端队列死锁(头部异常为null)

然后通过debug.log定位具体异常位置!这也不算浪费时间,但确实拖了大概有2周的时间。错误的时间和位置都找到了,model没有解码出来!只要能解决问题,我咋都行!测了一下,只要能进来,都是49次,相同的message的总和也是49次!我尝试了寻找原因,发现并不现实,但是知道原因,解决起来很简单!出现异常时,在catch中运行一次removeAt(0)即可。测试可以得到明显的溢出结果,肯定是有问题的!问题出在3号位置和4号位置之间。

2024-04-20 16:43:49 358

原创 unity学习(87)——断线的原因--客户端堆栈溢出1

无论unity还是exe问题都是一样的,都是客户端一直在发123,但收不到124,退出时服务器能发126,但是客户端压根接受不到126。一下确实解决不了问题,但其实已经十分接近了!根本找不到问题,感觉是socket溢出了,在服务器加个try-catch看看能抓到点什么不?实际测试发现,即使两个客户端都收不到124数据包了!还有个问题就是只能同时登录3个客户端!刨根问底,进入write函数继续查看,最后唯一可能出问题的地方就是这里了!实际测试,发现即使断线,socket.Send还是一直不停的在发送!

2024-04-20 09:42:17 413

原创 unity学习(86)——细节优化

重复登录后依旧是unity可以看到移动,但是exe那边看不到移动(移动没有被更新!),综合之前的经验,肯定是哪里出现了逻辑问题。而且当unity产生126以后,exe那边也没有删除角色!问题找到了:exe中move函数压根不会触发,unity中move函数触发一段时间后就不再运行了!broadcast在create时候没问题,最初的move也能动一动,然后就失效了!此时换个想法,先登录exe,再起unity。依旧是unity动,而exe不动!东西已经做出来了,现在需要的是优化,说得简单,做起来难。

2024-04-19 15:52:24 487

原创 unity学习(85)——同步节奏(tcp架构确实有问题)

有时会从180帧暴涨到210帧,也就是服务器发过来的包更多了,广播,基本就这样!挂的时间长了,就出现其他下线本地不destroy的情况了,而且此时再登录,新渲染中已经没有已经下线的玩家。的确是客户端处理不了数据包,但是问题大概率出在服务器,在服务器做一下验证。化简服务器writeline,此时如果能将服务器稳定下来,将会进入下一个阶段!服务器的中转和客户端的接受可能存在问题!writeline实在太多了,很浪费时间的!客户端的发送和服务器的接受没有问题!这是我从学习unity开始,所遇到最大的问题!

2024-04-17 15:31:55 383

原创 unity学习(84)——玩家下线和“保服务器”(closeSession)

3.2发送“125”,现在情况如下:exe正常退出时,可以触发125函数,unity中断play不会触发125!1.exe退了unity中gameobject不消失,再登exe,unity直接卡死自杀。3.来到客户端 ,需要做两件事,处理6,发送5,游戏就是这样一点一点积累出来的!,看看125包是receive到的,还是服务器直接自己生成126的。对应的函数如下: 很明显,是收5发6,之前01234都有过了。任务二:即便客户端发生异常,也要优先保障服务器的正常运行!3.1处理“126”在服务器中增加断点,

2024-04-09 11:21:49 843

原创 unity学习(83)——细节名称和血条

3.当发生旋转时,出了自己的血条昵称要转,其他玩家的也必须平行,所有的rotate y设置成相同的数值!这个应该在maphandler的update中实现,迟早的事情!2.因为是第三人称,从背后看,所以名称应该水平对称,翻转一下!4.灵敏度问题,走的慢点,转向快些。眼中有细节,学习的过程才能平稳!5. 右边的操纵杆!1.游戏更新时把名字也更新。

2024-04-06 10:02:12 672

原创 unity学习(82)——profiler 限制帧率

4.又测试了一段时间,发现下面两个问题,一是服务器那边卡包,而是客户端这边移动存在瞬移。这两个其实是同一个问题,需要在资源有限的情况下进行优化。5.必须降低客户端的发包频率,减轻服务器的负担,同时要求服务器能动态有效的处理积压问题。实际测试发现当玩家个数增加时,客户端明显变的很卡,想知道为什么变卡了。4.2感觉加一个玩家就要掉10帧,如果真这样肯定是逻辑问题。7.总体来看,限制帧率后.exe的表现还是相当不错的!4.1单个玩家是的帧率,这个帧率还是很稳定的。4.4 4个玩家时,帧数还在掉,更。

2024-04-04 20:14:13 652

原创 unity学习(81)--服务器上云

8.对比之前成功过的panda3d的项目。5.我感觉大概率是虚拟机安全组的问题。11. 出规则中增加IPv4所有网段。9.修改服务器ip并重新编译!12.重新生成服务器解决方案!此时是可以ping通服务器的。10.服务器成功启动服务器。13.成功链接突破历史。

2024-04-04 10:42:08 199

原创 unity学习(80)--disposed object

1.在正常运行的过程中,客户端崩溃,原因就是某个对象null或者被disposed了。3.把close去掉修改为如下,客户端不再崩溃,虽然还有异常。2.找了找,发现socket确实调用过一次close。

2024-04-01 18:07:22 272

原创 unity学习(79)--124数据问题--MonoBehaviour必须搭配BroadcastMessage

两个问题 一.maphandler中static为空不实例化,二.坐标一直不变!1.maphandler中static为空不实例化,通过调试观察发现。用了monobehavior就必须用broadcast。最后发现还需要用到broadcast的消息机制。instance估计是new了就空了!4.broadcast的具体实现(6.从结果来看没问题,也没报错。3.问题变成如何在类间调用函数。5.具体执行也没问题。

2024-04-01 09:50:16 709

原创 unity学习(78)--unity调试--长痛不如短痛

4 在unity中运行游戏,vs这边确实成功断住了!1.在vs2022中,工具--获取工具与功能。2. 安装图中工具,原来我早就安装了。3 f9下断 同时点击图中按钮。vs此时变为如下状态。

2024-03-30 15:33:34 248

原创 unity学习(77)--多玩家信息交互--不同类型的数据包

服务器断开连接,几乎就是因为客户端报错,就好像之前MessageManger没有绑到map2的相机上导致不收包!所以此时的问题也应该是客户端没能正确处理“122包”所引起的。5.“124包” ,服务器返回给客户端的,包含当前所有在线玩家的信息。和“123包”一样,单个玩家没有问题!4.“123包” ,客户端不停发送给服务器的,代表当前玩家的信息。,客户端登录时发给服务器的,服务器处理后返回“121包”。,服务器返回给客户端的,包含登录时所有在线玩家的信息。当有其他玩家登录,客户端收到122包的时候。

2024-03-29 22:14:31 990

原创 unity学习(76)--窗口化和后台运行

2.现在只有鼠标点击的窗体游戏运动,其他窗体游戏都会卡住。1.通过如下方式将编译的游戏设置为窗口模式。2.1build setting中。

2024-03-28 20:40:00 477

原创 unity学习(75)——没有给map2绑定收包脚本Message Manager——终于解决了

1.在map2中再添加一个按钮,还是点击单次发送一个数据包,如果能返回,说明就是服务器那别session搞错了!客户端中的结果如下,无论我发送什么包(无论先后顺序),都不会接收到结果。1.4跳转场景后session就gg了!4,石锤破案了,就是少绑了个脚本。5.此时Update中内容如下。7.多玩家也能初始化出来!1.2unity中绑定。

2024-03-28 08:35:01 304

原创 unity学习(74)——服务器Dispose异常

7如何在update中发包呢!即使在正常执行的状态下,也没有收到返回的124,服务器陷入了一个只收不发的状态!9.客户端发送没问题,服务器返回也没问题,就是没返回来,应该是session出了问题!8.3对比之前成功的数据包,不是大小端问题!6.不在“帧”这个概念里发包,程序不报错,还能显示多个对象。1.返回的1 2 11是怪物初始化,源代码中也没有。8尝试点击按钮发送123,看看能不能收到124。8.2点击以后发现只发了123 没有收到124。5.我感觉就是update中发包给弄坏的!

2024-03-28 07:41:56 320

原创 unity学习(73)——服务器异常--无法处理 123类型的数据包

通过调试 输出 客户端 的 收包 发包 清除堆栈顶部的操作细节,发现没有任何问题。2.5如果是正常运行的话会一直向服务器发送1 2 3的包!发送最后一次1 2 3 后就error了!4.3进brocast我感觉里崩溃不远了!服务器是可以下断点的,这样工作一下简单了。4.1两层process后选择move。看来8个场景分别有不同的处理线程。3.4进入一层process。3.5进入二层process。有一个exbrocast。1 2 0,总体没问题!4.2进入move后。3.6进入enter。

2024-03-27 22:07:51 569

原创 unity学习(72)——编译游戏发生错误4——GAME_STATE状态

3.从user切换到map场景的过程中会触发如下函数,修改gameInfo.GAME_STATE的值。1.经过一天的冷静,我感觉问题出在mapHandler的update中。2.之前已有GameState结构体,我一直没当回事,这次用到了。部分进行排查,根据之前有正常运行的经验,问题大概率发生在这里。如果还没有初始化对象,就开始读取对象的内容,一定会有异常的。如果update中不发包,那大家都很正常,这点很重要。5.map2场景加载完成后状态变成run了。4.测试到目前为止转换场景是没有问题的。

2024-03-27 20:25:32 255

原创 unity学习(71)——编译游戏发生错误3——回调问题——必须使用mapHandker的update

6.我也解释不了,修改到这里突然能正常游戏了,再次重启有不行了,但至少知道没问题时候应该是什么样了!move这种一直发送的,第一次写,之前的数据包收发都是一次性的来完成单次任务!4.还没有定位到异常的出处,读数据包应该是没问题,处理数据包出问题了。可见确实LogicHandler了,也确实直行到119行的位置了。还有一点,我感觉在选择角色界面等待个5s钟以上,成功的概率更大。最后出问题的时候,服务器没有执行红色部分的代码。69行报的异常,这个位置真的是刁钻。5.从第112句往里面查。服务器崩溃在如下位置。

2024-03-26 11:42:45 363

原创 unity学习(70)——编译游戏发生错误2

2.现在主要问题是服务器try了以后虽然不崩溃了,但不再显示2个实例对象了,unity和exe此时都只能看到一个实例对象。实际测试发现服务器可以一直接受到客户端发送来的move,但客户端却显示发送失败,回调出了问题。我感觉不是客户端的问题,应该是服务器逻辑上出现了问题,之前服务器一直稳定运行,现在频繁崩溃。2.2 unity中此时登录666账号,服务器和unity都可以正常运行,不报错。5.所以判断,大概率是服务器在处理move数据包时出了问题!3.把原来没用的debug.log删一删,需要进行大调了。

2024-03-26 09:05:10 234

原创 unity学习(70)——编译游戏发生错误1

7.服务器也总在下面的位置崩溃,不能继续工作的那种,写个try-catch先凑合凑合。把naruto模型再往里面拖拽一个即可,0 2 两个位置都补上去了。1.VersionControl 直接注释掉就可以了。5. unity中成功实例化两个对象,但此时服务器炸了!8.再次编译游戏,此时只需要7s就完成任务了!2. GraphView一处,也是注释掉就ok了。3.修改完以上6处后66s完成编译。4. 编译结果如下图所示。

2024-03-25 01:30:00 333

原创 unity学习(69)——多人位置同步

2.2给预制体模型挂在一个脚本EachStateScript,用来存放每个实例化模型包含的状态变量,内容如下:这个变量可不能用static,静态变量连赋值都做不到。2.通过上图可见,返回的结果数据包的三个参数是 1 2 4,在mapHandler增加对于command=4的处理代码,1.3从双端的执行结果,服务器此时应该是成功解析了数据包并发回了其他玩家的信息,这个里编译测试应该是不远了。每个客户端向服务器发送位置信息,服务器再把这些位置信息发送给其他客户端。百度AI现在真的是强无敌啊!

2024-03-24 18:39:43 578

原创 unity学习(68)——相机/模型的旋转/位置计算

把scene调成下边这样,也可以很快发现问题,现在是擦着背后和相机初始位置做圆周运动。3.先做相机的移动,相机除了和角色做同向的水平转动,还要以角色为锚点做圆弧运动。3.1移到背后,z应该是负值,这东西再着急也没用,最好的办法就是一步一步做。3.2当角色和相机发生“转圈”时(绕y轴旋转),相机要已角色为轴做圆弧运动。调整转动角度用的是y角度的差值,而不是y角度的数值。不加距离的时候确,相机和角色确实是同朝向的,的绝对方向为基准进行移动的,我需要的是按照。确实是转了,但是转的速度是不一样的,

2024-03-23 20:05:24 1279

原创 unity学习(67)——控制器Joystick Pack方向

4.模型和相机同时旋转不难,transform.eulerAngles,利用欧拉角。3.给所移动的模型绑定脚本 ,修改对应的轮盘值,脚本中读取并使用值。直接复制一个拖到右边就ok了,轮盘上是。也可以复制,但是要绑定对应的。

2024-03-23 09:15:56 331

原创 unity学习(66)——控制器Joystick Pack优化

Joystick Pack这种重力带惯性不利于正常开发。有一种万事俱备只欠东风的感觉。2.把方向的改变值加到鸣人模型身上。2.1控制器脚本中添加model变量。1.在脚本中找到轮盘所输出的方向值。2.2在unity中赋值。2.3代码中修改位置。

2024-03-21 10:26:12 375

原创 unity学习(65)——控制器Joystick Pack移植

1.把map2和example两个场景同时出现在hierarchy中。添加对象,后正常运行。但是小球一直下落(y一直往下掉),因为没有地面。2.把canvas直接赋值到map2中,没有报错。3.把player(就是个cube)粘过去,报错了。4.想办法解决这个异常。5.通过修改,取消重力作用。

2024-03-20 21:25:42 421

原创 unity学习(64)——控制器Joystick Pack

2.网页登录->关闭->通过hub重新进入->windows->package manager。3.点击download后下载完毕,这个小,下载大一些的,那速度一言难尽。1.在网页上搜索Joystick Pack,添加到我的资源中。6.把例子加入场景列表,其实加不加都行。5.插入结果默认在Assets下边。4.点击import插入所有。全展开了也没多少东西。

2024-03-20 08:00:00 241

原创 unity学习(63)——预制体

5.运行之后预制体确实成功实例化了,预制体是没有昵称和血条的。3.把MapHandler绑到相机上,在相机的属性栏中找到。4.size设置成2,然后把模型拖拽到1号索引位置上。2.预制体在MapHandler.cs的。1.运行发现预制体初始化的时候存在问题。这里有许多技巧,需要细看。

2024-03-19 11:07:48 766

原创 unity学习(62)——emptyObject+昵称+血条

4.在模型下添加emptyObject,名称-label,血条-cube,整体信息如下图所示,美工的事情以后慢慢做。2.2当场景被调用时触发函数OnLevelWasLoaded,这个和Start一样属于一个机制函数。3.自己做的界面效果确实不好,以后打算从fps microgame中借鉴。这个目前有版本问题。1.地图比较麻烦,先最后回头再做,地图是锦上添花的东西。2.1.继承必须有,要不脚本绑不到相机上。

2024-03-19 08:52:03 252

原创 unity学习(61)——hierarchy和scene的全新认识+模型+皮肤+动画controller

点击assets->fbx中的模型,在右侧inspector中选择materials。把动画作为一个component拖到object上即可,但现在运行是一次性的。4.4从jump再拉一条transition回去,实现循环动画!1.对hierarchy和scene中的内容有了全新的认识。4.3右键walk,make transition。4.2添加动画 重命名,在inspector中。到现在为止可以执行2个动作了,但还是一次性的。第一步先让unity中的角色有皮肤了。刚刚开始,但又结束的感觉?

2024-03-17 09:45:24 862

原创 unity学习(60)——选择角色界面--MapHandler2-MapHandler.cs

2.因为与MAP相关的函数实在太多,之前LOGIN USER那样写不合适,在handler文件夹下,新建一个脚本文件,MapHandler.cs。1.新建一个脚本,里面有static变量loadingPlayerList。

2024-03-16 16:03:04 530

原创 unity学习(59)——选择角色界面--MapHandler1

select的内容,最后就是返回当前玩家的playerModel结构体。客户端暂时不处理,type=1 command=11的数据包。4.再去服务器 去找type=1 command=0 的部分。客户端发出的请求是type=1,command=0。command=5是这里。5.这里返回两个数据包。

2024-03-15 14:53:59 452

原创 unity学习(58)——选择角色界面--进入游戏

2.在SocketModel.cs的minna命名空间内新增地图相关的command(第三个参数)5.MessageManager.cs增加MapHandler函数,用来分类处理来自服务器的包!3.在socketModel.cs中增加一个新的dto结构体EnterMapDTO。实测可以进入MapHandler,但是之后还有许多包,看起来是想要保持连接的架势。4.MessageManager.cs中对从服务器收到返回的数据包进行解析。1.点击开始游戏界面触发如下函数。

2024-03-13 21:39:40 458

原创 unity学习(57)——选择角色界面--删除角色2

1.客户端添加点击按钮所触发的事件,在selectMenu界面中增加myDelete函数,当点击“删除角色”按钮时触发该函数的内容。2.服务器也成功接受到来自客户端的内容,这里有瑕疵,此时是明文通信。command用1,直接更新列表。

2024-03-12 10:51:37 345

原创 unity学习(56)——选择角色界面--删除角色1

4.session.write返回给服务器的数据包的message也只有true和false,这明显不符合我的预期,所以客户端和服务器都是需要大改的,万幸在水平范围之内。实现功能很简单,客户端点击“删除角色”按钮,从服务器删除对应角色信息,所给客户端代码没有对应部分,但是逆向出来的服务器有。结合已有知识自己动手。3.服务器第三层,很明显这里的删除也不彻底,players删了,没写文件。userPlayerIds完全没动,而且没有返回数据包。

2024-03-12 09:27:11 213

原创 unity学习(55)——选择角色界面--解析赋值服务器返回的信息2

2.然后在MessageManager.cs的case UserProtocol.LIST_SRES:部分进行赋值。6,最后在text中显示角色名称和等级,所有的细节都才4的代码中,经过测试确实没有问题。5.执行结果也满足要求,做一个求余操作就可以快速解决问题,下图切换了三遍。

2024-03-12 08:22:34 1067

原创 unity学习(54)——选择角色界面--解析赋值服务器返回的信息1

第四次,不会再进case UserProtocol.LIST_SRES:的处理部分,符合预期。3.当注册玩家数超过三名时,返回的command的值是3,不会对现有逻辑进行破坏。很明显1中的代码需要加一个try-catch。1.decode这种照猫画虎的工作。,加完后就不再报错了。

2024-03-10 08:43:18 506

原创 unity学习(53)——选择角色界面--分配服务器返回的信息

3.在服务器中,先进UserHandler的create,再进UserBizImpl的create,同时通过session.write向客户端返回消息。2.之前已知创建的角色信息是可以写道服务器的,但在客户端收到的返回数据包,暂时看来还是有问题,需要调整的。这里还是因为遇到了debug.log有时不输出纯字符串的这个bug!已知,在创建角色panel中,点击确定按钮的执行代码如下,返回的第三个参数command也确实是1。.也成功返回了所有已注册角色的信息。type都是2,command都是1。

2024-03-09 21:45:14 400

原创 unity学习(52)——选择角色界面--获得服务器数据库中的信息

1.创建角色完成时,也应该读取所有角色信息,通过测试,该功能已完成。在确定登陆成功后,向服务器申请获取当前账号下所有角色的信息。2.选择界面,初始化时从服务器读取所有已创建角色的信息。第15讲,第15分钟的时候。

2024-03-09 18:41:41 610

原创 unity学习(51)——服务器三次注册限制以及数据库化角色信息6--完结

修改后的代码如下:1.成功完成角色注册信息的数据库化记录。2.每个账号上限3个角色。3.角色是可以重名的,但是角色的id不会重名。同一账号只写第一次,不同账号第一次爆炸 ,就因为下面部分得到逻辑有问题。

2024-03-08 12:20:00 327

coworker_sys

coworker_sys

2016-05-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除