浅谈在Unity3D中实现坦克履带模拟器
2017-10-06 17:03
323 查看
本人一直喜欢开发战争题材的游戏,在此简单介绍一下坦克履带模拟器的工作原理:
如果地形是平面,也就是说场景地形没有崎岖不平,坦克履带的移动效果完全可以采用偏移坦克履带材质的贴图来实现,即采用UV动画。
如果地形崎岖不平,这时候如果开动坦克,履带就要有适应地形的表现效果,而不仅仅是偏移履带贴图,因此本人采用的方法如下:
(1)坦克的履带是蒙皮,并且在每个轮子的正中心的位置都绑定了骨骼,并且刷好权重,当然绑定骨骼这一步骤我是在3dmax中完成的:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/16/5e8dbdc41c85a0b6904011e61b04ed8b)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/16/84372f24cddf9c1a92d527d81f0e86ff)
(2)坦克轮子的运动采用轮体碰撞器来模拟:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/16/7f0dc23678ef42557f68ec8d89d16aaa)
(3)游戏运行时,坦克的轮体碰撞器由于直接和地面发生接触,运行时相对于坦克自身的垂直方向会不断产生位移,那么就记录下轮体碰撞器此时的位置信息,再将此位置信息赋值给对应位置的轮子模型和对应位置的轮子骨骼,又由于相应位置的轮子骨骼是和履带蒙皮绑定在一起的,轮子骨骼相对于坦克发生位移,就会带动对应部分的履带发生拉伸或挤压的形变效果,这样坦克的履带就可以很好地模拟适应地形的效果:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/16/735f8e93001648f8d2e99a79f506ff46)
本人已经将此坦克履带模拟器做成了插件,并且已经在Unity Asset Store上进行了发布,需要的话请购买:
https://www.assetstore.unity3d.com/en/#!/content/99013
这是本人编写的坦克履带模拟器的编辑器界面:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/16/a2e98bcf5b3022b1ff434138d115a422)
如果有技术上的疑问请给我发邮件
如果地形是平面,也就是说场景地形没有崎岖不平,坦克履带的移动效果完全可以采用偏移坦克履带材质的贴图来实现,即采用UV动画。
如果地形崎岖不平,这时候如果开动坦克,履带就要有适应地形的表现效果,而不仅仅是偏移履带贴图,因此本人采用的方法如下:
(1)坦克的履带是蒙皮,并且在每个轮子的正中心的位置都绑定了骨骼,并且刷好权重,当然绑定骨骼这一步骤我是在3dmax中完成的:
(2)坦克轮子的运动采用轮体碰撞器来模拟:
(3)游戏运行时,坦克的轮体碰撞器由于直接和地面发生接触,运行时相对于坦克自身的垂直方向会不断产生位移,那么就记录下轮体碰撞器此时的位置信息,再将此位置信息赋值给对应位置的轮子模型和对应位置的轮子骨骼,又由于相应位置的轮子骨骼是和履带蒙皮绑定在一起的,轮子骨骼相对于坦克发生位移,就会带动对应部分的履带发生拉伸或挤压的形变效果,这样坦克的履带就可以很好地模拟适应地形的效果:
本人已经将此坦克履带模拟器做成了插件,并且已经在Unity Asset Store上进行了发布,需要的话请购买:
https://www.assetstore.unity3d.com/en/#!/content/99013
这是本人编写的坦克履带模拟器的编辑器界面:
如果有技术上的疑问请给我发邮件
相关文章推荐
- 实现坦克履带的行走间运动的方法!
- 浅谈使用expect实现自动交互式(1)
- unity基础开发----在Unity3D里面实现自动开门和关门
- Unity3d 简单实现物体旋转缩放移动
- 浅谈文件捆绑技术及实现方式
- Unity3d实现画笔
- Unity3d 实现鼠标左键点击地形使角色移动到指定地点[脚本]
- 浅谈Python实现贪心算法与活动安排问题
- Unity3D SpuerSocket 网络聊天室实现 <一>
- Unity3D-UGUI-drag and drop实现拖拽放下功能
- 浅谈权限管理的对象模型和实现
- [Unity3D 版本5.X]实现一个自由漫游的摄像机
- 浅谈移动端的自适应问题——响应式、rem/em、利用Js动态实现移动端自适应
- [Unity3D]Unity3D游戏开发之异步记载场景并实现进度条读取效果
- Unity3d 脚本实现类似Ogre的公告板功能
- Unity3d物体模型(实现旋转缩放平移自动旋转)
- Unity3D 开发之shader教程(浅谈GPU渲染之shader language概述)
- Unity3D 2D游戏摄像机的跟随实现
- Linux下实现思科实验-模拟器使用[图文]-----GNS3----dynamips
- 浅谈项目组wiki维护实现方案