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

发表于2018-07-13
评论5 3.1k浏览

今天的工作几乎让人崩溃。

各种奇怪的BUG层出不穷,本来项目时间就已经很紧张了,现在还需要花费大量的时间调整BUG

首先出现的第一个BUG,在游戏中,蓝色阵营的寻路系统失效。

这个问题出现的非常莫名其妙,明明是同一个脚本,但是红色阵营就是正常的,而蓝色阵营寻路系统就会不起任何作用。

把蓝色已经生成的士兵阵营数值更改成红色后马上就又恢复了行动,似乎是陷入了某个逻辑缺陷中。

但如果是逻辑错误,那就不会仅仅发生在蓝色阵营身上,毕竟写出来的是通用脚本。

请教了老师也摸不着任何头绪。

最后只能一点点的排查。

发现只有蓝色阵营的寻路目标为目标点的时候,寻路系统就失效了,虽说是失效,但指向目标确实是是寻路目标点。

给寻路目标附加一个新数值后,寻路系统随即就恢复了。

直到现在还没有找到问题所在,不过发现把场景中的树木隐去动态障碍物组件后蓝色就回复了正常,难道是因为动态障碍物过多的缘故?

第二个BUG产生为榴弹武器发射的时候,炮弹射向的位置总是会和准星指向目标发生偏移,检查代码后发现炮弹的射向位置被定义为了受到射线触发后物体的位置信息。

用射线碰撞点可以解决,但新的问题来了,射线碰撞点的信息始终不能传递给炮弹,总是提醒引用为空,想了很多办法都未能实现。

最后发现是因为声明的位置变量没有附初始值,这点实在是意料之外,没想到使用公开位置变量还需要先赋值的。

效果实现是把射线碰撞点的信息以V3向量传递给了炸弹,这才实现了炸弹看向目标移动最后爆炸的效果。

初次之外,今天模拟出了一个UI框架,给以后向内填充做好了准备。

利用两个摄像机做出了小地图的效果。

在点击“M”键之后,小地图会产生迅速放大的效果。

考虑到在俯视摄像机中拍摄到的物体实在太小,于是在单位身上添加了一个没有任何碰撞的面片,定义好层级之后,在主摄像机中选择剔除。

图上两个坑洞上的斑马线条纹是测试用的桥梁,用来模拟类似树木分支的效果,产生更为合理的感觉。

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