Unity赛车游戏之移动
这个赛车游戏真是让我费劲脑汁啊。尤其是写这种系统化的东西。
目前漂移还没找到更好的算法,不过基本的移动还是可以做到的。
别看就光是个移动,其实也是很费事的。
Unity给了个对于赛车系统很好的碰撞组件WheelCollider.
把这个给四个轮子一套就好了,

这个组件能调节一些汽车的相关参数,神马悬挂系统,前后摩擦左右摩擦等。或许你看到这会发现,也没有这么难么。。那你就大错特错了
我在移动的方式中试了很多方法,纯刚体控制,纯WheelCollider控制,和混合控制。在我看来混合控制是比较好的选择。
一个一个说吧。
首先是纯刚体控制:
说到刚体就想到力,我力学学的是不太好啊,但是刚体的控制能达到非常真实的效果,而且在后期的漂移上也是比较容易实现的,但是不好弄得是抓地力,用刚体驱动的车很容易就翻车,所以我感觉可以调整重心或者是加一个下压力,来避免翻车的可能,当然并不是只有这一个问题才让我弄别的方式,我用的转向方式是MoveRotation,这就需要很多的条件控制,车向后移动时就应该是反向转向,还有车在静止的状态时应该是不能旋转的。等等问题,让我放弃了纯刚体驱动。
然后是纯WheelCollider控制:
我感觉这个是最坑的,这个组件本身就有很多的问题,首先就是组件的重力问题,会导致在加其他碰撞其的时候出现互相碰撞的问题,调整一下Layer就好了,或者直接把重力改没。其次的他的那些横向摩擦力和纵向摩擦力,看起来是能达到漂移的效果的,其实不然,对于数值的修改得经过很多次的尝试才能调整出来很好的效果,我是没有尝试。而且直接用扭力控制汽车,你的扭力越大对赛车的影响越小,所以启动速度会很慢。因为我的赛车是加入刚体的,因为这个系统也会导致赛车的侧翻,所以就需要把赛车的重心调低一些。从而就衍生出了最后一种混合式。
混合式控制:
我感觉这是目前最合理的控制方式,首先WheelColllider组件,能方便的达到我们想要的赛车真实移动效果,然后我们用刚体控制赛车的重心然后给他加一定的力来控制车的速度,在贴吧上问了个大神,感觉比较好的达成方式就是,用WheelCollider控制前轮的转向,用刚体来给后轮加力使其运动,这样看起来也比较真实,同时方便写出漂移效果。
目前漂移还在测试之中,并没有完全写好。。。等写出来在写一篇文章吧。
Unity赛车游戏之移动的更多相关文章
- Unity的赛车游戏实现思路
unity目前版本实现赛车的技术方案主要有3种: 1.wheelCollider,设置motorTorque.brakeTorque.steerAngle来实现车子的推动和转弯,优点是上手简单,而且很 ...
- Unity创作赛车游戏的四款插件
本文,我们将介绍其中4款:Racing Game Starter Kit.GeNa 2 .NWH Vehicle Physics.Curvy Splines. Racing Game Starter ...
- 使用Unity3D的设计思想实现一个简单的C#赛车游戏场景
最近看了看一个C#游戏开发的公开课,在该公开课中使用面向对象思想与Unity3D游戏开发思想结合的方式,对一个简单的赛车游戏场景进行了实现.原本在C#中很方便地就可以完成的一个小场景,使用Unity3 ...
- 使用Unity3D引擎开发赛车游戏
Car Tutorial 在Unity3D的Asset Store有一个赛车的Demo —— Car Tutorial,看起来特别酷的赛车游戏Demo,不过我还没有下载下来,因为在公司下载Assets ...
- [生活日记]参与unity非游戏行业开发者大会小结
今天下午花了半天时间公司全体都去人民广场参与了一个unity非游戏行业开发者大会,主要了解到unity这款全球顶尖之一的游戏引擎的一个发展史,从05年三个美国人技术研发开始,一直到12年开始引进中国, ...
- 自制Unity小游戏TankHero-2D(5)声音+爆炸+场景切换+武器弹药
自制Unity小游戏TankHero-2D(5)声音+爆炸+场景切换+武器弹药 我在做这样一个坦克游戏,是仿照(http://game.kid.qq.com/a/20140221/028931.htm ...
- 自制Unity小游戏TankHero-2D(4)关卡+小地图图标+碰撞条件分析
自制Unity小游戏TankHero-2D(4)关卡+小地图图标+碰撞条件分析 我在做这样一个坦克游戏,是仿照(http://game.kid.qq.com/a/20140221/028931.htm ...
- 自制Unity小游戏TankHero-2D(3)开始玩起来
自制Unity小游戏TankHero-2D(3)开始玩起来 我在做这样一个坦克游戏,是仿照(http://game.kid.qq.com/a/20140221/028931.htm)这个游戏制作的.仅 ...
- 自制Unity小游戏TankHero-2D(2)制作敌方坦克
自制Unity小游戏TankHero-2D(2)制作敌方坦克 我在做这样一个坦克游戏,是仿照(http://game.kid.qq.com/a/20140221/028931.htm)这个游戏制作的. ...
随机推荐
- who命令的总结
who命令能做什么 who命令用来查看谁登录了系统(show who is logged on ): 每一行代表一个巳经登录的用户,第1列是用户名,第2列是终端名,第3列是登录时间. 通过whatis ...
- .NET技术在中国为什么老被人嫌弃
这个话题有点自黑的意思,我从.NET 1.1开始玩.NET,到现在已经11年了,我是看着.NET成长起来,在中国壮大的,也见证了近几年.NET被各种嫌弃,其实说到底还是中国的架构师太少,我是说真正懂行 ...
- (二十三)原型模式详解(clone方法源码的简单剖析)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 原型模式算是JAVA中最简单 ...
- HDU5892~HDU5901 2016网络赛沈阳
A.题意: 有一个n×n的格子, 有50种怪物. 有m个操作, 每次操作会往一个矩形区域放怪物, 每个格子放相同数目的怪物, 或者查询当前50种怪物的奇偶性. 分析:用2^50表示怪物的奇偶,然后就是 ...
- JavaScript鼠标拖拽特效及相关问题总结
#div1{width:200px;height:200px;background:red;position:absolute;} #div2{width:200px;height:200px;bac ...
- [转]java 输出流转输入流
ByteArrayOutputStream.toByteArray ByteArrayInputStream StringWriter.toString StringReader 字符流和二进制流是j ...
- MVC认知路【点点滴滴支离破碎】【一】----新建数据库
1.App_Data文件夹创建[SQL Server Compact Local Database *]数据库 2.添加链接字符串<add name="MovieDBContext&q ...
- 50ms延时程序
12MHz晶振 一个机器周期2us, DEL: MOV R7,#200D DEL1: MOV R6,#125 DEL2: DJNZ R6,DEL2 ;125*2=250us DJNZ R7,DE ...
- [转] Spring注解@Component、@Repository、@Service、@Controller区别
原文地址:http://blog.csdn.net/zhang854429783/article/details/6785574 很长时间没做web项目都把以前学的那点框架知识忘光了,今天把以前做的一 ...
- [转]session 持久化问题(重启服务器session 仍然存在)
转:http://xiaolongfeixiang.iteye.com/blog/560800 关于在线人数统计,大都使用SessionListener监听器实现. SessionListener 触 ...