随手研究一个项目里的坦克履带——项目开发日志(2021.11.15)

前言

这几周我在一个新的UE4项目中做实现,正好这个项目中有AI车辆和坦克,拿来研究一下。我也不透露项目具体内容,应该不会被告吧。

笔记:

坦克履带

这个游戏使用的坦克履带是运行时根据放在履带位置的左右两条样条线自动生成的。原本的模型不是一条整体的履带,而是一块一块的,专门有代码负责生成履带,移动履带。代码中有通过骨骼位置来调整样条线的位置,但是我没试出来,没有碰撞效果,碰撞交给车轮,看起来效果不是太好,连开发者都在注释里面吐槽这是dummy physics colliders。移动时没有贴合地面的效果。
至于履带的运动计算,首先要获得车辆最新的速度,根据上述数据换算出履带在样条线上要移动的距离(还设置了一个最小距离,来过滤掉物理系统产生的摇晃),再获得坦克的旋转(坦克旋转是由两条履带的差数产生的),让履带的速度再加减旋转产生的移动(旋转产生的速度甚至可以看着给,合适就行)。然后就可以将得到的移动量交给专门移动履带的函数。既然是样条线的话,让每块履带沿样条线移动应该不难。
题外话,坦克车轮的旋转也是根据车辆移动量换算的,这游戏的车轮绑了骨骼,旋转车轮也是控制相关骨骼,看来我得好好学习一下骨骼相关的东西了。
总结一下,如果要做坦克履带,样条线不失为一个好工具,比我之前那个动贴图的要高级。

车辆AI

这个游戏项目没有单独的车辆AI,是一个整体的AIController解决所有AI行为。如果有机会单独开一篇研究一下。


猜你喜欢

转载自blog.csdn.net/qq_37856544/article/details/121203380