Unity完全自制游戏纸箱战争项目记录(20180710)

发表于2018-07-10
评论5 4.9k浏览

今天整理了个体AI的脚本,也算封装完成了。

封装以后,原先预计在20003000行的代码被精简到了700行以内。

经过测试,流畅是很流畅,但出了一个很严重的BUG

不清楚是具体什么原因,AI总是会攻击队友,而且次数不在少数,莫不清楚头绪,检查了几遍自己封装的方法,初步估计原因是在目标寻获方法中出现的问题。

找来找去终于发现是因为一个简单的逻辑运算符给打错了,没想到居然会造成了这么严重的BUG,看来码代码的时候还需要更加仔细一些。

此外今天还解决了报错闪退的原因,闪退前控制台会瞬间报错后闪退,今天手快截图到了,在网上查了下解决方法。

我使用的Unity5.45,在国内的网站上居然找不到解决方法,最后还是在外网上找到了类似的解决方案。

大概意思是说出现这个错误的原因是因为使用到了遮挡剔除的原因,相机上勾选了遮挡剔除,而场景中并没有对遮挡剔除的物体进行烘焙,才导致了这样的错误。

我试验了一下把已经红烘焙过但是没有使用到的遮挡剔除清除之后就再也没有出现闪退的情况。

之前还一直认为是因为用到了随机数Random的原因,因为UnityC#中各有一个Random类,如果没有具体声明可能就出现错误,我还特意加上了Unity的命名空间来解决,没想到居然是因为遮挡剔除的原因才闪退的。

既然这样了,或许在之后的任务中就不能使用到遮挡剔除来优化游戏了,这么说还需要再别的地方想办法节约一定的资源占用量,又是不小的工程累积。

明天预计会完成AI驾驶坦克和飞机的工作,如果时间充裕的话还会设置到玩家控制角色的各种设置.

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引