今日科技快讯
据《晚点LatePost》了解,今年春节后,拥有云计算业务的中国各互联网大公司都向英伟达下了大单。字节今年向英伟达订购了超过10亿美元的GPU,另一家大公司的订单也至少超过10亿元人民币。仅字节一家公司今年的订单可能已接近英伟达去年在中国销售的商用GPU总和。
Hello 大家好,在上一篇文章里我们讲述了该如何实现 Enemy 被攻击死亡的功能,但是存在一个很明显的问题,就是 Enemy 攻击玩家的时候动画会抖动,并且移动的时候会漂移,今天咱们就来解决这俩个问题吧!
Enemy 移动会漂移的问题是由于 AIMovement 函数是一个递归调用的,如果 Enemy 发现 Player 后,HunterPlayer 函数和 AIMovement 函数会叠加起来调用,这样是不合理的。
正常的解决方案就是当 Enemy 发现 Player 后,就需要结束 AIMovement 的一个递归调用,所以我用一个变量 IsActive 来判断 Enemy 是否被激活,如果 IsActive 为 true, 则 AIMovement 就不会再调用自己,蓝图优化如下:
好了,这样就解决了 Enemy 移动漂移的问题。
Enemy 攻击动画造成抖动的原因是因为 播放动画蒙太奇的时候需要加一个限制,加入一个 doOnce 节点来控制一下播放蒙太奇的频率,只有一个动画蒙太奇播放完毕后才能继续播放下一遍,不然每次 Enemy 和 Player 发生碰撞 产生 Attack 事件的时候,就会反复从头播放,这样就造成了抖动,优化后的蓝图逻辑如下:
当玩家死亡后,Enemy 就停止播放蒙太奇,于是就有了这个优化逻辑。
最后优化的效果如下:
Enemy Attack 的时候动画是不是不会抖动和漂移了。
好了,优化后运行起游戏就发现合理多拉!今天你学会新知识了吗?
本文分享自 HelloWorld杰少 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!