这个赛车游戏真是让我费劲脑汁啊。尤其是写这种系统化的东西。

目前漂移还没找到更好的算法,不过基本的移动还是可以做到的。

别看就光是个移动,其实也是很费事的。

Unity给了个对于赛车系统很好的碰撞组件WheelCollider.

把这个给四个轮子一套就好了,

这个组件能调节一些汽车的相关参数,神马悬挂系统,前后摩擦左右摩擦等。或许你看到这会发现,也没有这么难么。。那你就大错特错了

我在移动的方式中试了很多方法,纯刚体控制,纯WheelCollider控制,和混合控制。在我看来混合控制是比较好的选择。

一个一个说吧。

首先是纯刚体控制:

  说到刚体就想到力,我力学学的是不太好啊,但是刚体的控制能达到非常真实的效果,而且在后期的漂移上也是比较容易实现的,但是不好弄得是抓地力,用刚体驱动的车很容易就翻车,所以我感觉可以调整重心或者是加一个下压力,来避免翻车的可能,当然并不是只有这一个问题才让我弄别的方式,我用的转向方式是MoveRotation,这就需要很多的条件控制,车向后移动时就应该是反向转向,还有车在静止的状态时应该是不能旋转的。等等问题,让我放弃了纯刚体驱动。

然后是纯WheelCollider控制:

  我感觉这个是最坑的,这个组件本身就有很多的问题,首先就是组件的重力问题,会导致在加其他碰撞其的时候出现互相碰撞的问题,调整一下Layer就好了,或者直接把重力改没。其次的他的那些横向摩擦力和纵向摩擦力,看起来是能达到漂移的效果的,其实不然,对于数值的修改得经过很多次的尝试才能调整出来很好的效果,我是没有尝试。而且直接用扭力控制汽车,你的扭力越大对赛车的影响越小,所以启动速度会很慢。因为我的赛车是加入刚体的,因为这个系统也会导致赛车的侧翻,所以就需要把赛车的重心调低一些。从而就衍生出了最后一种混合式。

混合式控制:

  我感觉这是目前最合理的控制方式,首先WheelColllider组件,能方便的达到我们想要的赛车真实移动效果,然后我们用刚体控制赛车的重心然后给他加一定的力来控制车的速度,在贴吧上问了个大神,感觉比较好的达成方式就是,用WheelCollider控制前轮的转向,用刚体来给后轮加力使其运动,这样看起来也比较真实,同时方便写出漂移效果。

目前漂移还在测试之中,并没有完全写好。。。等写出来在写一篇文章吧。

Unity赛车游戏之移动的更多相关文章

  1. Unity的赛车游戏实现思路

    unity目前版本实现赛车的技术方案主要有3种: 1.wheelCollider,设置motorTorque.brakeTorque.steerAngle来实现车子的推动和转弯,优点是上手简单,而且很 ...

  2. Unity创作赛车游戏的四款插件

    本文,我们将介绍其中4款:Racing Game Starter Kit.GeNa 2 .NWH Vehicle Physics.Curvy Splines. Racing Game Starter ...

  3. 使用Unity3D的设计思想实现一个简单的C#赛车游戏场景

    最近看了看一个C#游戏开发的公开课,在该公开课中使用面向对象思想与Unity3D游戏开发思想结合的方式,对一个简单的赛车游戏场景进行了实现.原本在C#中很方便地就可以完成的一个小场景,使用Unity3 ...

  4. 使用Unity3D引擎开发赛车游戏

    Car Tutorial 在Unity3D的Asset Store有一个赛车的Demo —— Car Tutorial,看起来特别酷的赛车游戏Demo,不过我还没有下载下来,因为在公司下载Assets ...

  5. [生活日记]参与unity非游戏行业开发者大会小结

    今天下午花了半天时间公司全体都去人民广场参与了一个unity非游戏行业开发者大会,主要了解到unity这款全球顶尖之一的游戏引擎的一个发展史,从05年三个美国人技术研发开始,一直到12年开始引进中国, ...

  6. 自制Unity小游戏TankHero-2D(5)声音+爆炸+场景切换+武器弹药

    自制Unity小游戏TankHero-2D(5)声音+爆炸+场景切换+武器弹药 我在做这样一个坦克游戏,是仿照(http://game.kid.qq.com/a/20140221/028931.htm ...

  7. 自制Unity小游戏TankHero-2D(4)关卡+小地图图标+碰撞条件分析

    自制Unity小游戏TankHero-2D(4)关卡+小地图图标+碰撞条件分析 我在做这样一个坦克游戏,是仿照(http://game.kid.qq.com/a/20140221/028931.htm ...

  8. 自制Unity小游戏TankHero-2D(3)开始玩起来

    自制Unity小游戏TankHero-2D(3)开始玩起来 我在做这样一个坦克游戏,是仿照(http://game.kid.qq.com/a/20140221/028931.htm)这个游戏制作的.仅 ...

  9. 自制Unity小游戏TankHero-2D(2)制作敌方坦克

    自制Unity小游戏TankHero-2D(2)制作敌方坦克 我在做这样一个坦克游戏,是仿照(http://game.kid.qq.com/a/20140221/028931.htm)这个游戏制作的. ...

随机推荐

  1. PHP中WEB典型应用技术

    主要讲5个方面: PHP与web页面的交互:表单传值,文件的上传与下载 http协议 PHP的会话技术:cookie和session PHP的图像技术:GD库,图像的常见的制作和操作,验证码,二维码, ...

  2. 【BZOJ1003】【ZJOI2006】物流运输

    1003: [ZJOI2006]物流运输trans Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2556  Solved: 1008[Submit] ...

  3. AlertDialog之常见对话框(单选对话框、多选对话框、进度条对话框)

    单选对话框,顾名思义就是只能选一项(setSingleChoiceItems(Items,)) public void click(View v){ //创建对话框类 AlertDialog.Buil ...

  4. 【转】关于Class.forName(“com.mysql.jdbc.Driver”)

    原文:http://www.cnblogs.com/gaojing/archive/2012/03/23/2413638.html 传统的使用jdbc来访问数据库的流程为: Class.forName ...

  5. Linux运维教程

    最近看马哥Linux运维,收益颇多.愿马哥,身体健康! 2013马哥全套 http://pan.baidu.com/s/1c0JQu9i 运维技术文档 http://pan.baidu.com/s/1 ...

  6. linux 系统下 android studio 获取SHA1

    百度地图申请key的时候需要填写包名和SHA1 包名比较好找可以在 AndroidManifest.xml 文件中找到 SHA1的获取方式有两种可以在android studio 下面选择Termin ...

  7. jQuery鼠标悬停内容动画切换效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. Struts2总结

    1.构建Struts2的开发环境? 1.1:导入相应jar包(最简化的,后期可以直接复制). 1.2:编写struts.xml配置文件.(从实例中提供参考). <package name=&qu ...

  9. 【BZOJ 4636】蒟蒻的数列

    http://www.lydsy.com/JudgeOnline/problem.php?id=4636 DCrusher贡献的题目 看了他的博客,有两种做法,动态开点线段树和离线操作离散化区间线段树 ...

  10. 【POJ 2318】TOYS 叉积

    用叉积判断左右 快速读入写错了卡了3小时hhh #include<cmath> #include<cstdio> #include<cstring> #includ ...