本人一直喜欢开发战争题材的游戏,在此简单介绍一下坦克履带模拟器的工作原理:
如果地形是平面,也就是说场景地形没有崎岖不平,坦克履带的移动效果完全可以采用偏移坦克履带材质的贴图来实现,即采用UV动画。
如果地形崎岖不平,这时候如果开动坦克,履带就要有适应地形的表现效果,而不仅仅是偏移履带贴图,因此本人采用的方法如下:
(1)坦克的履带是蒙皮,并且在每个轮子的正中心的位置都绑定了骨骼,并且刷好权重,当然绑定骨骼这一步骤我是在3dmax中完成的:
(2)坦克轮子的运动采用轮体碰撞器来模拟:
(3)游戏运行时,坦克的轮体碰撞器由于直接和地面发生接触,运行时相对于坦克自身的垂直方向会不断产生位移,那么就记录下轮体碰撞器此时的位置信息,再将此位置信息赋值给对应位置的轮子模型和对应位置的轮子骨骼,又由于相应位置的轮子骨骼是和履带蒙皮绑定在一起的,轮子骨骼相对于坦克发生位移,就会带动对应部分的履带发生拉伸或挤压的形变效果,这样坦克的履带就可以很好地模拟适应地形的效果:
本人已经将此坦克履带模拟器做成了插件,并且已经在Unity Asset Store上进行了发布,需要的话请购买:https://assetstore.unity.com/packages/slug/99013
这是本人编写的坦克履带模拟器的编辑器界面:
如果有技术上的疑问请给我发邮件