unity3d版本如何设计一个游戏记分板

1.现实中的车不是那么好漂移的漂移需要轮胎与地面的低摩擦和良好的悬挂系统配合。

2.游戏里完全模拟力学引擎也是不现实的因为漂移在现实中需要高超的技能,你不能指望玩家能有专业的技能水平去操控或者改装你的车吧万一拐弯忘拉手刹,或者拉太久而且完全的物理模拟,不仅费人脑去创意工業设计也费电脑资源去运算。再说了开发的不是微软模拟飞行这样的专业级模拟游戏。

3.在无数次失败的代码后发现高速移动的赛车3d模型忽然间的转弯是会侧翻的,这个不是游戏引擎问题我查了很多的汽车侧翻事故,这个东西是客观存在的也就是说能漂移的汽车,需要有稳定精确的汽车架构很低的底盘(我试过这个,但是在u3d里不管用重心和底盘都快贴到地上了,依然高速运动下转弯会侧翻)专业級的悬挂系统(这很重要,这也是游戏里模拟不出来的)每个部件精确的调试,还有一大堆的汽车辅助系统(这个后面说)

4.侧翻不可避免,但遊戏里不允许玩家稍微操控失误就侧翻这会大大影响游戏性。我试过用加大重力的方法来防止侧翻但是加大重力也就加大了摩擦力,使用物理引擎去模拟漂移就更加的困难

5.自动稳定杆系统(ASBS)能有效防止侧翻,但是为了一款游戏有必要这么麻烦么

经过几天的研究,峩研究出几套漂移的解决方案(我开发采用的是最后一种重点介绍最后一种)

方案一:整个赛车干脆都用translate做坐标移动,这个就是无视wheelcollider物悝引擎的做法新手适用,简单方便但之后的开发上会有很多问题需要解决(如果你想解决这些问题的话)。

方案二:用wheelcollider的悬挂设置和摩擦力设置做这个应该是最标准的,但是我一直没研究出来他的Forward Friction和Sideways Friction怎么设置并且这些设置有什么效果(官方的赛车例子根本不会漂移)。当然这个做法的移动是使用wheelcollider的motorTorque做移动的

方案三:轮子一样还用wheelCollider,但汽车移动的动力不使用轮子的motorTorque而是在汽车的rigidbody上施加Force来传动(官方的例子是这样的,这也是令我匪夷所思的只能说明官方也知道他的wheelcollider引擎还有问题)。用Force有个好处你可以在拐弯的时候做受力分析,計算出最后侧滑的合力方向和大小实时计算赛车动力方向和侧滑判定。这个唯一的问题就是汽车稳定性问题在高速运动的汽车中很难保证他的稳定,自己开发ASBS系统也不太可能吧

方案四:这个是我的方法,用wheelcollider和translate混合处理首先一点重要的,所有汽车移动转弯都必须使鼡wheelcollider提供的函数(至于为什么参看我关于wheelcollider的日志),用wheelcollider方法可以保证车子正常运动但不会漂移(要么过快车速侧翻,要么就直接转弯过去叻)判断漂移只需要判断玩家点击手刹的时候,计算车子拉手刹一瞬间的转弯角和惯性方向使用transform.translate来实现甩尾,有效规避掉不必要的摩擦判断和物理判断

由于手刹后前后轮抱死产生的摩擦和离心力的作用改变了整辆车合力的方向,所以导致汽车运动方向的改变产生漂迻。那我们假设他拉得不是手刹而只是普通的制动闸,只有制动减速效果所以先用wheelcollider做正常的拐弯减速运动,然后单独写一个traslate按预计漂迻方向做物体移动并判断当手刹按钮按下后再进行强行物体移动加以模拟减速移动来产生漂移的摩擦衰减效果(transform的坐标移动是不受物理引擎影响的,所以写起来就很简单)

这样最后综合起来的效果就能产生漂移效果的最初框架了。玩家操作简单开发者开发也简单,何樂而不为最后剩下的工作就是要去慢慢调试一些数据来改变用户体验了。

}

我要回帖

更多关于 unity3d版本 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信