zoukankan      html  css  js  c++  java
  • 【虚幻】虚幻引擎Bug集锦

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/ue_bugs.html

    1. 行为树任务“延迟”节点卡死

    问题描述:

      如果在行为树的任务中有“延迟”节点,那一定要注意不能重复触发这个任务,否则重复执行2次延迟时,延迟后面的就永远不会执行,会一直卡在这个任务。

    解决办法:

      ①可以在行为树的当前任务节点上,勾选“忽略重启自身”,这样可以避免这个任务未结束时再次进入这个任务。

      ②可以用“以事件设置定时器”来代替“延迟”,这样这个任务可以重复触发。

     

    2.自定义行为树移动(转向)任务无法准确执行

    问题描述:

      自己写的MoveTo或者FaceTo任务,偶尔会出现卡住,不移动或者不旋转的现象。

    解决办法:

      如果自己写的任务被打断,虽然看似被打断,实际上AIMoveTo这样的节点还会继续执行(但是又不会移动),所以此时这个Pawn的位移和旋转还是会受到影响,所以需要在事件“Event Receive Abort AI”里结束AIMoveTo。

      结束的办法就是在Abort事件里调用Controller的“停止移动”方法。

     

    3.获取到的Montage播放长度是错误的

    问题描述:

      我的怪有4个攻击动画,每次攻击随机取一个攻击动画,然后获取这个动画的长度,然后以这个长度为时间,等待后结束攻击的任务,但是我发现获取到的montage的长度不太对,而且没有任何规律:

       

    解决办法:

      其实这不是bug,而是一个新手可能意识不到的问题,我的代码是下图这样的:

      

      老手应该一看就知道问题出在哪了,没错,就是这个RANDOM,虽然看似它每次只执行一次,实际上会执行2次,“ZombieAttack”执行一次,然后到“获取播放长度”的时候再执行一次,然后各自处理各自随机出来的Montage,所以完全有可能随机出2个值来,也就是前面“ZombieAttack”和后面“获取播放长度”两个所调用的Montage完全没有关系。

      所以这个只需要缓存一下RANDOM的montage,然后再分别去使用就好了。解决起来简单,但是这个问题还是要格外注意,不然就是一个隐形的问题,迟早出事。

     

    4.黑板值设置异常

    问题描述:

      有时候复制黑板的“将值设置为XXX”的方法时,不能正常修改。

      

    解决办法:

      奇怪的缓存bug,读取到的KeyName还是复制前的那个,改了也没用,必须删除“创建文字命名”,再重新建一个才行。

      此外还有一种情况,就是黑板键最后有空格,也隐藏得很隐蔽,但是复制粘贴就可以,当然最好是不要有空格。

    未完待续

    见一个写一个

  • 相关阅读:
    Spring中依赖注入的四种方式
    使用 EasyMock 更轻松地进行测试
    HDU2196 Computer(树形DP)
    BZOJ2125: 最短路(圆方树)
    虚树入门
    BZOJ2286: [Sdoi2011]消耗战(虚树/树形DP)
    Codeforces Round #487 (Div. 2)
    Educational Codeforces Round 45 (Rated for Div. 2)
    BZOJ3675: [Apio2014]序列分割(斜率优化)
    BZOJ2761: [JLOI2011]不重复数字(map)
  • 原文地址:https://www.cnblogs.com/shamoyuu/p/ue_bugs.html
Copyright © 2011-2022 走看看