真实赛车3刷钱赛道赛道阻尼系数是多少

(本论坛暂时关闭发帖)
& 你有一颗赛车的心吗?详解赛车改装标准
你有一颗赛车的心吗?详解赛车改装标准
用微信扫一扫,分享至朋友圈或给您的好友,
&&&&&&&FIA每年都会针对前一年比赛,制定出最新的赛车改装标准。各国的赛车运动机构根据标准,向参赛选手提出相应的规定。由于各国汽车运动发展水平的不一,主管部门也会针对本国情况及发展现状,制定出更加实用的赛车改装标准。&&&&&&&赛车的改装的内容复杂,涉及面广,车型不同改法不同,同一车型根据比赛形式又有不同的改法,即便是车型、比赛都一样,也有不同组别的改法。一辆经过全面改装的赛车,其工作难度和技术含量甚至超过了制造一台车。&&&&&&&改装标准:安全改装指标和性能改装指标。&&&&&&&安全改装指标有下限无上限的,即必须达到规定的最低安全标准才能获准参赛。如果选手想更加安全,其代价就是要投入更多的改装资金和增加了车身的整体重量。&&&&&&&性能改装指标是有上限无下限的,选手如果资金有限,甚至可以任何部分不加改进,以原厂的车况投入比赛,但是想取得成绩是不大可能了,甚至完成不了比赛。另一方面,你的赛车改装的也不能超过规则所定的各类技术指标,比如,制动盘的尺寸和材质,进气歧管的尺寸,空气滤清器的大小,引擎功率的最高限度等等。如果超出这个标准,则不能参加比赛。此举是为了最大限度地保证选手们在同一层次的车辆技术水品基础上展示车手本身的真实水平。&&&&&&&安全改装&&&&&&&1、赛车车架及防滚架&&&&&&&只有坚固的车架才能适应拉力赛中颠簸以及起伏不平,甚至需要应对连续跳跃的路面。拉力赛的路面常常以砂石颗粒的组成为主,这样的路面容易使车造成侧滑或重心不稳,重心不稳则会使车架出现被牵扯的状态,如果不够稳固的车架则会出现车架断裂等情况,造成赛车一瞬间失去重心,从而失去控制。坚固的车架还可以在发生翻滚事故的时候,车架不会变形而压伤里面的车手。&&&&&&&轻巧也是赛车必备的条件之一,尤其是小排量的赛车。小排量的赛车,动力不如四驱车辆足,只有减轻重量,才能在&马力/重量比&方面,取得优势,提高速度和转向能力。&&&&&&&比赛中人们最常见的就是翻车的场景。所以,为了确保车辆在比赛中意外翻滚后赛员的安全,在车身内必须安装符合FIA安全标准的&防滚架&。这是一种可拆卸的钢管组合件。它使用冷拔无缝碳素钢管弯制而成,安装的时候是一根一根按照车厢内部的轮廓进行连接或焊接的。如果去掉车身外壳,所看见的就是一个由数根钢管搭建的金属笼子,有这件金刚护体的宝物,即使车辆打几个滚,车身外部惨不忍睹,车内的赛员也会安然无恙的。&&&&&&&2、赛车安全带&&&&&&&民用车的安全带一般都是斜拉三点式的,有预拉紧装置。正常行驶状态下是很轻松地拉在乘员的前胸和腹部,避免造成乘员身体不适。只有在遇到紧急制动或车身剧烈震动的时候,才会自动拉紧,将乘员固定在座位上,不至于撞到前风档。而赛车的安全带要求很高,不仅材料、尺寸有严格的规定,就连安装的方法也有要求。这种安全带都为双肩式固定,加上横在腰部的一根,非常象日常旅游时背的双肩式登山包。安全带的长短是事先根据车手坐在座椅上的尺寸调好的。基本上不再调节,也没有预拉紧装置。选手系好这种安全带后,与其说是系,不如说是被绑在座椅上的。这样牢固的固定乘员,一来可以在车辆遭受翻滚或滑动时,赛员不会因剧烈晃动而产生位移继而导致身体伤害;二来,赛员通过座椅与车身更加紧密的结合到一起,更能够感受到车辆的动态,即达到常说的&&人车合一&的状态,以便更有效地操控赛车。赛车安全带有快速解锁装置,如有意外,拌动胸前的释放钮,原来缠满全身、五花大绑似的几根安全带瞬间便会分散开,便于赛员及时逃生。&&&&&&&3、赛车座椅&&&&&&&原来国内比赛对赛车座椅不论是组织者还是赛员本人都没有严格的要求。随着国内的比赛越来越正规,大部分赛员都开始将原车座椅换成专用的赛车座椅。这是一种由工程塑料或碳素纤维一次成型压出来的桶型座椅,外面由防火面料的织物包裹。这种座椅的作用非常多,也是广大国内选手在多年来的比赛中逐渐体会到的:首先是结实不易变形,其次要比原车座椅轻很多,这样可以减轻车身重量;再者桶型的设计是为了更好地将赛员紧紧地&夹&在里面,座椅表面的织物具有很大的摩擦系数,加上安全带的&捆绑&,选手就不会到处乱晃了;另外,赛车座椅比赛员的坐高还要高出一截,加上防滚架的作用,就不用担心车辆翻滚后头部的安全了;还有一点就是赛车座椅只有几公分的厚度,而且安装位置比原车的要低很多,赛员臀部与车身底板非常接近,几乎等于坐在地板上开车,这样的话,便能够明显的感觉到来自地面的路感,更便于准确的操控赛车。安装这种座椅虽然失去了舒适性,但是会给人带来一种战斗的感觉。&&&&&&&4、自动灭火器&&&&&&&它是一个固定不动的灭火器钢瓶,重量不得低于4公斤,还必须带有压力显示装置。从瓶口阀门引出数根带有喷嘴的金属细管,分别安装在引擎仓、油路和驾驶室内赛员身体的前后方等位置。如果车辆意外着火,可以按动开关开启灭火装置,将车内和赛员周围的火瞬间扑灭。启动开关也有两处,安装位置与断电开关的位置相邻,并以一个镶红圈的白色圆底加中间的红色&E&字标志标明。除了自动灭火器以外,随车还必须携带一只三公斤的带有压力显示装置的手提灭火器。所有的灭火器都必须在有效期内使用。&&&&&&&5、赛车玻璃&&&&&&&赛车的前风档玻璃必须是夹胶玻璃,左右门的所有玻璃都要贴上一层防爆膜。左右后门的玻璃外侧或左右翼子板上,必须粘贴醒目的车手姓名和血型符号(拉力赛时还必须粘贴领航员的姓名和血型),参加国际比赛的时候姓名必须为英文,而且前面还必须有国旗图案说明车手的国籍。&&&&&&&6、赛车油箱&&&&&&&内比赛对赛车的油箱没有严格的要求,原厂的即可。但是在驾驶室和后尾箱之间,必须使用金属板制成防火隔离层,确保万一后尾箱内的油箱着火不至于烧到驾驶室内。近年来,随着国内比赛日趋与国际标准接轨,一些有实力的车队也开始使用赛车专用的&防爆油箱&,它是一种方型的金属密封油箱或是由阻燃的凯夫勒橡胶(Kevlar)制成的密封油箱,不仅在翻车后确保不会泄漏,而且还配有自动短油装置,当油管意外断裂时,便会自动进行封口。&&&&&&&7、赛车油路、电路&&&&&&&车内外的油路、电路管线都要重新排列。有可能的都要移到车厢里面,如无法移动,则必须安装护板,防止暴露在外。车身底部所有外漏的部件如引擎油底壳、变速箱底壳、差速器、制动分泵等,都要以结实的铝板做成护底板。这样即便遇到较为坎坷的路面或者车辆跳跃后落地,也不用担心车底部件受伤了。通常,只有拉力赛和越野赛才会安装护底板,场地赛中,由于赛道平整,加上车速高引擎散热的需要,一般不安装护底板。&&&&&&&8、赛车外部安全改装&&&&&&&前挡风玻璃还可以用几个卡片从外面固定,防止车辆撞击或震动后脱落。为了在雨天确保视线清晰,还可以选用橡胶质量好、接触面积大的雨刷器片,也可在雨刷器片上加上一片较宽的&加压片&,以增加气流对雨刷器片的压力,使之与玻璃接触更加紧密,有助于清洁。同时,风档玻璃清洗装置中的喷头可以加大,喷水管也可以加粗。在场地赛中,为了加快雨刷的刮动频率,一般雨刷器只刮车手这半边,不用的时候是停在风档玻璃正中,与引擎盖是垂直的。避免赛车的大灯、尾灯受到碰撞后散落在赛道上影响其他选手,场地赛车所有外露的灯具外面都会用强力透明胶带贴上一层。&&&&&&&9、赛车操控性&&&&&&&首先可以换上比原车方向盘小一号的赛车方向盘。这种小尺寸的方向盘更利于赛员频繁地转动方向,精确度更高。另外,它的表面是一层反绒面的皮革,配合赛员佩带的同类面料的手套,可以保证转向时手不会打滑。原车的油门、离合器和制动踏板也可以换成赛车专用品。在高速的汽车比赛中,赛车手必须频繁地踩踏油门、离合器和制动踏板,为了提高准确度,防止脚部与踏板打滑,除了要穿着底部有防滑齿纹的赛车鞋以外,还必须使用表面也有防滑齿纹的踏板。这种踏板制为金属或特殊橡胶制成,其表面的金属或橡胶防滑齿纹,除了可以提高赛车手操作的准确性以外,遇到下雨天,更可以确保脚底不会打滑。一般的制动踏板都会很宽,这样与油门的距离较小,便于赛车手作&脚尖踩制动、后跟踩油门&的瞬间减档降速的技术动作。当然普通驾车者使用这种踏板需要适应一段时间,否则极易发生制动时踩到油门的危险动作。&&&&&&&10、赛车手制动&&&&&&&在拉力赛中经常会遇到角度接近180度的窄弯,这种弯道称为&掉头弯&,由于其形状酷似女性用的发卡,所以也叫做&发卡弯&。通过这种弯道时,为了保持车速不降低,通常车手会采用不减速却拉手制动的方法,使得后轮短暂锁死,造成车辆甩尾、原地掉头。民用车的手制动拉起后,就会被手制动柄中的锁止棘轮卡住,即在平时停车时拉紧手制动后便会固定不动,如果起步时,再按动释放钮松开手制动。当比赛中遇到的&发卡弯&较多,需要频繁地拉、放手制动时,若使用不经改装的手制动,当车尾已经甩至需要的角度需要放开时,往往按着释放钮的拇指会滑开,这样手制动会很容易被卡住,从而造成甩尾过度的失误。因此,拉力赛车的手制动柄锁止棘轮的安装位置是与民用车相反的,拉起手制动造成甩尾后直接放手,无须按动释放钮。如果停车时便在拉紧手制动后按下按钮,就可以卡住不动了,与民用车的用法正好相反。有趣的是,大多数国内选手在安装了这种装置后一时间难以适应,拉也不是放也不是,常常闹出笑话。&性能改装&&&&&&&有关提高车辆性能的改装范围就更大了。它包括动力提高,车身稳定性提高、车身强度提高等方面。而这些方面的改进往往都是互相关联的。&&&&&&&1、提高动力&&&&&&&(1)首先可以在减轻车身重量。即使其它因素不变,车身减轻同样能够达到提升动力的效果。一般的做法多为尽量拆除不用的东西,如收录机、扬声器、伸缩天线、空调装置(必须保留暖风装置)、转向助力泵(还可以使路感更清晰)、后排座椅(场地赛由于是一个人驾驶,所以车内只留车手的一个座椅)、前座靠背以后的内饰、遮阳板、地毯等等,还有电动摇窗机改手摇的,车窗玻璃换成PC轻量化玻璃。当然,中汽联对车身的重量也有一个最低的限度要求。&&&&&&&(2)对于如今普遍使用的电喷引擎而言,首先可以将控制喷油量的电脑板进行重新设定。比如,民用车为了延长引擎的寿命,一般在引擎转速达到6500转/每小时的时候,电脑就会发出停止供油的指令了。而赛车是专门用作比赛的,强调在短时间内达到使用极限的,大不了下场比赛再换新车。所以不会考虑长期的使用寿命的。因此,可以将电脑的断油转数提高到转甚至更高。这样,车辆就会在高速时还具有源源不断的动力。当然,这个数值也是赛车工程师在保证引擎能够应付比赛的情况下设定的。通常为之配套的还有一个装在车手正面仪表台上的&超转指示灯&,它和引擎转速表相接,当转数达到设定的最高数值时,便会发出红色或是白色的强光,提醒车手及时换档。&&&&&&&(3)增加供油量。为了在喷油量加大、火花增强的情况下提高燃烧率,就必须有更多的空气进入引擎燃烧室。通常的方法是采取加大空气滤清器和提高排气系统顺畅性的做法。而后者则是令所有车手和车迷最兴奋的改装方法了。如果是赛车的引擎使用民用车的排气系统,废气由引擎排出后,要经过排气歧管、一节、两节甚至三节消声器才能排到大气中,这样遇到的阻碍物较多,造成排气不畅、真空度差,连带的使得进气量减少,引擎的爆发力便会降低。因此,可以拆除排气管后段的消声器,减少排气阻力以辅助进气量的增加,从而提高引擎的动力。经过改装后的排气系统,由于失去了一节或两节消声器,便会爆发出振奋人心的爆震声,这也是吸引许多车迷成为后来的赛车手的原因之一。不过,排气系统也不能够随意乱改的,否则会产生反作用的&背压&,造成气门及活塞等引擎内部件的损坏。在国内比赛刚刚展开的时候,许多国内选手不知道如何改装排气系统,总以为拆除消声器,发出震天响的吼声动力就会提高,民用车就变成赛车了。所以经常老远就听见&噼噼啪啪&的动静,却总也看不见车来。&&&&&&&(4)提高动力性的改装还包括更复杂的如:减薄汽缸垫以提高压缩比、抛光和轻量化曲轴、改变活塞顶部造型、研磨缸壁、轻量化飞轮盘等诸多项目。为了进一步提高动力性,赛车使用的燃油就必须是炼油厂小批量生产的高标号航空汽油。这种汽油燃烧充分,消耗的也比一般的汽油要快得多,燃烧后会产生一种特殊的&香味&,引得每一个赛车手都为之陶醉。如果看见排气管末段是雪白的颜色,那一定是使用了这种赛车用燃油。&&&&&&&2、提高赛车稳定性&&&&&&&(1)首先要考虑选用专用的轮胎&&&&&&&因为轮胎是车辆与地面唯一接触的地方,而每个轮胎与地面接触的面积只有信封那么大。这样,四片信封那么大的面积则承担了车体和乘员的所有的重量,还要应付各种不同路面上的起步、制动和侧滑等剧烈地磨损,其重要性不容忽视。芬兰著名拉力赛手托米马基宁曾说过:谁选对了轮胎,谁将获得胜利。虽然他说的这番话对于需要取决于各种因素的赛车运动而言,难免有一些片面,但是这位多年获得过世界冠军的车手的确却说出了轮胎对于赛车的重要性。正如人的一双鞋一样,只有尺寸适合,而且耐磨、抓地,才能穿着它走遍天下。&&&&&&&赛车的轮胎主要的为场地赛用轮胎和拉力赛用的轮胎。而这两种又分别分为干地胎和雨地胎。在场地赛中,赛道平整,天气良好的时候会选用花纹较少甚至看不见花纹的&光头胎&,以增加与地面的接触面积。看过&F1的朋友在电视画面上经常能够看到机械师会将一条类似于电热毯的东西裹在轮胎外面,那是一个轮胎加热器。由于高速行车时需要有强大的附着力,因此场地赛轮胎的橡胶成分会在经过一段时间后产生粘性,从而牢牢地&粘&在赛道上疾驰,减少轮胎打滑而造成失控的几率。&&&&&&&(2)赛车制动系统&&&&&&&首先,制动管路应该是双管路设计的,确保一路失效的时候,另一路仍能够控制至少两个车轮。所有的制动油管和制动泵,以及盘式制动系统的制动盘和摩擦片,或毂式制动系统的制动毂和蹄片都可以换成赛车专用品,这样不但可以防止管路的泄漏现象,在频繁制动后即便温度很高,也不会出现制动力衰减的现象。但是制动盘和制动摩擦片的尺寸不允许加大,也不能使用ABS防抱死制动系统,为了确保更加可靠,有的赛车改装技师还会从风档玻璃清洗液储罐接一根细细的水管到制动盘或制动毂旁,在通过连续上下坡的赛段时,可以通过车内的开关进行洒水降温。&&&&&&&(3)赛车减震系统&&&&&&&赛车的减震系统的弹簧都比较硬,减震筒的阻力也较大。高速过弯时车身侧倾不大,左右轮胎附着力均匀,即使车速快,只要经过训练,完全可以既快又安全的过弯。拉力赛中,经常会遇到跳跃,这时候的赛车落地后,较硬的弹簧会有力地托住车身不会使油底壳碰地,而阻尼大的逼震筒在落地之后,也会大力地拉住车身,不让它在造成反弹。所以在电视上看到的拉力赛车,飞起来落地后既不会&赖&在地上,也不会象民用车那样如同青蛙一样上下蹦达,而是落地有力,加油便走。就算减震系统出现故障,结实的车底护板也会保护引擎底部不受损坏。&&&&&&&每一个优秀的车手,都会在赛前的试车工作中仔细地感觉不同路面上不同的逼震调校后的效果,然后反馈给车队较有经验的维修技师,从而找到一种最适合自身驾驶习惯的方法。所以,经常会看到车手走到车头或车尾,用力压一压车身,那就是在感觉逼震系统的软硬程度。&&&&&&&为了让避震系统在平时尽量不受力,以保证在比赛时能够正常的发挥作用。为了使前后悬架(即连接车轮的逼震系统)在通过弯道时具有良好的横向稳定性,即防止悬架不会左右摆动哪怕是一点点,可以在左右避震器顶部加一根金属拉杆,让左右避震器互相支撑,以减少横向移动的程度。同样,左右避震器底部也可以加装一根有一定钢性的防侧倾拉杆。&&&&&&&3、车身强度提高&&&&&&&一般在避震器座和引擎、变速箱支架等受力部分都要进行加焊或换用更加结实的连接件,这样可以确保在受到剧烈的颠簸和震动后,上述位置不会断裂和变形。从生产线下来的民用轿车的车身是整体冲压出来的,而且使用的钢板材质、壁厚也不尽相同,因此,它的抗扭曲程度应付一般的驾驶者绰绰有余。但是,赛车手们在高速进入弯道和驶出弯道时,需要车辆有良好的循迹性,也就是说能够配合车手的车速和转向角度,沿着车手希望的路线既安全又快速的通过弯道。这方面除了需要有好的轮胎和逼震系统以外,车体的抗扭曲性也非常重要。如果车体的抗扭曲性差,在高速转向时产生的重力加速度和紧急制动时产生的减速度作用下,便会产生横向和纵向的扭动(如同用手去揉搓一只空火柴盒一样),使得车身失去稳定性,从而影响车手操控的精确度。所以,在车身框架的大部分地方都要增加许多焊点,而这些工作在大批量生产汽车的流水线上是无法进行的,只有在赛车改装公司将原车内部的所有部件拆下来后,再重新加焊。&&&&&&&此外车辆外观的特殊性或者是普遍性并不是只是为了好看,很大作用是存在着空气动力学的功能。根据赛制加装尾翼等外部改装,可以有效促进赛车的稳定性和速度。
&于&&16:35&发表在&good谢谢夸奖哈
用户状态:已禁用
该楼内容已经被屏蔽!
有点难懂啊,亲
&于& 23:28&发表在&有点难懂啊,亲所以学习是一段很长的路啊,努力吧
能改车的,能不是高手吗?民用车是什么水准,赛车是什么水准。把普通车改成超级车,是一个车辆工程毕业的学生应用的专业素质。
&于& 16:52&发表在&能改车的,能不是高手吗?民用车是什么水准,赛车是什么水准。把普通车改成超级车,是一个车辆工程毕业的学生应用的专业素质。呵呵,膜拜大神
要考虑的还挺多的,连血型都一清二楚了&
满满都是高科技= =
&于& 12:20&发表在&满满都是高科技= =呵呵,慢慢就会了解的
学习来了,好像有新东西可以看了
(本论坛暂时关闭发帖)
上一主题:
下一主题:
时长: 06:01原创
时长: 09:19原创
时长: 05:18原创
时长: 06:39赛车游戏制作经验分享:车辆在行驶中的受力分析_GameRes游资网-爱微帮
&& &&& 赛车游戏制作经验分享:车辆在行驶中的受力…
前言/背景在过去的几个月里,我拉着几个死党一起搞了一个iOS赛车游戏。由于当时还在上班,所以我一边白天上班,一边晚上+周末倒腾这个游戏。尽管这只是一个很简单的2D游戏,但我却在里面用了一些比较‘有趣’的方法来使这个游戏能看上去比较生动,这其中包括了一些真实的车辆驱动原理以及一些基础的物理受力分析。接下来我准备用几篇文章来简单介绍下这些方法,同时我也希望这些知识能够对初学的你提供一些帮助。我总共计划会写3篇关于此的文章:第一篇主要是对车辆的驱动原理以及车辆在直线行驶下的受力分析做一个简单的介绍;第二篇结合第一篇的内容,再加上对车辆转向情况下的物理分析,最终得出一个更完善的解决方案;第三篇主要是浅谈关于引擎声音模拟方面的一些方法和常用工具。(由于拖延症,此篇暂时搁浅)当然,这几篇文章仅仅只是一个比较初级的基础教程,比较笼统,意在能够带领初学者迅速的入门。如果你的需求是进阶提高,那么这些教程并不适合你。事实上对于初学者来说,这几篇教程会让你理解到一个大致的物理原理和实现流程,这对于你日后去研究那些更成熟的赛车引擎来说,会有一些帮助。而且,如果你玩过我的游戏,你也会发现这些基础的知识在我的游戏里是完全够用的。此外,本教程更注重的是说明一些知识和原理,而非展示实际的代码。事实上本人历来本着现实世界的原理高于编程语言的观点,始终认为五花八门的编程语言仅仅只是工具而已,相比之下,搞清楚真实世界的道理我认为更加重要。因为最终我们还是要落实到运用工具解决现实的问题这一点上。因此,只要道理搞清楚了,你可以用oc,可以用c/c++,也可以用js,等等,那仅仅只是根据平台,选个工具而已。(注:我的游戏用的是oc,游戏引擎是cocos2d-swift, 物理部分基于内置的物理引擎chipmunk)现如今我的这个游戏已经上线了,叫3 Lanes。&接下来我们进入正题首先我们来谈谈车辆在直线行驶下的受力分析。如上图所示,当车辆沿直线行驶时受到的合力F可表示为:[公式1] &F = fraction + drag + rollingResistance其中,fraction是车辆受到的牵引力,我们稍后来讲牵引力的计算;drag是空气阻力,详细的计算方法是:[公式2.1] &drag = -0.5 *p * A * Cd * v *|v|这个公式看上去貌似很吓人,但仅仅只是看上去。因为在这其中,p是空气密度,常量;A是车辆的迎风面积,对于同款车来说也是一定的;Cd学名叫“流体动力阻尼系数”,管他是什么鬼,总之还是一个常数。因此,我们不妨暴力的把[公式2.1]的前面那一堆捏到一起,dragFactor=0.5 *p * A * Cd,最后得:[公式2.2] &drag = -dragFactor * v *|v|这样就简洁明了多了。其中dragFactor是一个参数,由于此参数里包括了迎风面积A,不同的车辆迎风面积不同,因此你可以给不同的车辆设置不同的dragFactor参数; 而v是车辆的速度,-v *|v|保证了drag的方向与速度方向始终相反。这样空气阻力drag我们就扯完了。接下来我们回到[公式1],再来看看rollingResistance又是什么鬼。这个叫滚动摩擦力,这是由于橡胶轮胎与地面接触的部分被挤压变形而产生的一种阻碍轮胎运动的摩擦力(注意这可不是‘滑动摩擦力’。回忆回忆当年高中老师给你讲的自行车驱动时的情形,如果在轮子与地面之间不打滑的情况下,是不存在滑动摩擦力的。轮子靠着静摩擦力的‘推动’而前进)。如果你觉得滚动摩擦力不大好理解的话,那么可以想象一下,骑自行车,在轮胎快没气的时候和刚打完气的时候,哪种情况下骑着更累?显然是快没气的时候,因为这种情况下轮胎形变更大,因此你要克服更大的滚动摩擦力。rollingResistance的计算方法如下:[公式3] &rollingResistance = -load * g *cRR如果单个车轮分开算,那其中load就是单个车轮的载重(kg),当然你也可以直接用车辆的总质量代替load,这样你求的rollingResistance即是4个轮胎滚动摩擦力之和;g是重力加速度;cRR叫做滚动摩擦系数,跟路面的材质有关。通常来说干燥的沥青路面cRR取值一般是0.01左右。注意,关于滚动摩擦力公式,我也在另一些资料上还看到过另一种说法:[公式3*] &rollingResistance = -cRR * vLong在这种公式下,vLong是轮胎沿其滚动方向的速度分量,注意它不一定和车速v相同。我个人感觉[公式3*]是一种近似的做法,并且认为rollingResistance与轮胎的速度有关(间接与车速有关)。而且此时的cRR也和原来[公式3] 的cRR也不是一个概念,它一般取值会是空气阻力系数dragFactor的30倍。(不大理解,貌似是一种凑出来的数字。不管,之后的教程以[公式3] 为准)到此,[公式1]的后两位就讲完了。下面我们来说说牵引力。我们知道,车辆行驶的牵引力,是靠车轮的滚动而产生的,而车轮的滚动,又是靠发动机的转动通过传动装置而带动的。我们把这个过程稍微描述得具体一点:首先发动机燃烧燃油做功,带动了某个连杆运动,因此产生了一个力矩(扭矩)。之后该力矩通过了一个传动装置,期间经历了一些变化(放大或缩小),然后被传导到车轮上。最后车轮在力矩的作用下发生了滚动,最终构成了车辆前进的牵引力。因此我们要做的,就是用一些公式来描述这个过程。让我们先从车轮看起。根据力矩公式,我们知道,车轮上产生的牵引力可以表示为:[公式4] &fraction = torqueWheel / r其中,r是车轮的半径, torqueWheel是作用在车轮上的力矩。刚才说了,作用在车轮上的力矩torqueWheel是由发动机输出的力矩torqueEngine经传动装置传导过来的,并且torqueEngine在经过传动装置的时候发生了一些变化,这些变化具体包括如下几个部分。1、变速箱。本质上是一系列齿轮组。由于两个相互咬合的齿轮彼此半径大小不同,因此转动时两者角速度不同,从而导致了力矩通过该齿轮组后其大小发生了变化。一般来说,变化后的力矩 = 原始力矩 * 这两个齿轮的半径比值gearRatio。而我们知道变速箱存在多个档位,其中每一个档位对应着一个不同的齿轮比值。因此,对于你要实现的换挡逻辑来说,其本质就是切换不同的变速箱gearRatio而已。2、最终差速(differential,不知道中文这么说对不对,反正我不会开车...)。这是除变速箱外另一个齿轮组,其本质作用是放大发动机输出的力矩。一般用final drive ratio这个词代表它的齿轮比(本文用的是differentialRatio,中文貌似叫最终传动比)。比如,BMW m3 coupe的differentialRatio你能查到是3.38。3、传动效率。顾名思义,通常机械结构都会有一定的损耗。我们用efficiency来代表有效的传动效率。据说一些好车的传动效率能达到90%以上。综合上述几点,最终我们可以把车轮上的力矩与发动机输出的力矩的关系表示为:[公式5] &torqueWheel = torqueEngine * gearRatio * differentialRatio * efficiency那么,问题来了,[公式5]还有一个未知量,发动机的输出扭矩torqueEngine怎么算?答案也许会让你意外:查表!没错,每一款发动机,厂家都给出一份形式如下的表,这一般是通过实际的实验得到的,它表示了发动机输出的扭矩和发动机转速之间的对应关系。我们假设上图是‘骡子’牌发动机的扭矩/转速示意图。图的横轴方向RPM代表发动机的转速(每分钟多少转),竖方向代表发动机输出的扭矩。那么从上图我们可以知道:当发动机转速在1000转左右时,输出的扭矩为300牛米左右;并且在转速达到4300转左右时,输出最大扭矩约405牛米;之后随着转速继续增大,输出扭矩开始减小。如果你是一个数学疯子,那么上面这个曲线对你来说是小菜一碟。但对于我这种凡夫俗子来说,为了计算方便,通常会将此图表简化为:甚至更近一步,会继续简化为:也就是说当转速不足1000转的时候,我仍然认为发动机输出最小的300牛米的扭矩。这样做更有助于维护RPM和扭矩的对应关系。总而言之,上述曲线也属于你车辆发动机的参数,你为不同的发动机设置不同的曲线即可,然后,我们可以把上述函数计作:[公式6] &torqueEngine =f(RPM)此外还要注意一点,一般来说为了保护发动机,厂家会把最大转速限制在某个范围内,这个最大值一般叫redline RPM,顾名思义,就是红线,别踩红线,对发动机不好,所以对于你来说,具体实现的时候你也同样需要设置一个redlineRPM并且始终保持RPM不超过这个值。最后,我们把[公式4],[公式5] 和[公式6]结合,得到最终轮胎牵引力的公式:[公式7] &fraction = f(RPM) * gearRatio * differentialRatio * efficiency / r到此,也许你已经注意到,把[公式7],[公式3]和[公式2.2]再带回到[公式1],我们就能出最终结果了! 但此时先别捉急,我们还有2个东西没考虑到,油门throttle和刹车brake。(摘抄[公式1]到此: &F = fraction + drag + rollingResistance)我们不妨在[公式1]的基础上如此考虑油门和刹车:[公式8] &F = fraction * throttle + drag + rollingResistance + brake * brakeForce比较一下[公式1]和[公式8]可以看出,我们将油门throttle视为牵引力fraction的乘数,并且让throttle的取值范围是0-1,这意味着,当throttle为0时,我们认为是驾驶员完全松开了油门,此时 fraction * 0 = 0,即不产生牵引力;反之throttle为1时,意味着此时驾驶员油门踩满,牵引力fraction完全参与合力的计算。brakeForce即刹车力,不难想象它其实就是滑动摩擦力,且是定值。而brake的取值范围同样是0-1,为0时表示刹车踏板完全松开,为1时刹车踏板完全被踩下。通常来说,你要在刹车的时候同时设置油门松开,但有没有可能throttle和brake同时为1呢?? 貌似现实中是可以出现这个情况的,只是一般人不这么做吧?不懂。。。最终,千回万转,我们终于又绕了回来。把[公式7],[公式3]和[公式2.2]带入[公式8]:[公式9] &F = f(RPM) * gearRatio * differentialRatio * efficiency / r * throttle - dragFactor * v *|v| -cRR &* load * g + brake * brakeForce[公式9] 便是车辆在直线行驶时所受合力的最终公式。(注意load是车子总质量)。之后根据合力算加速度,a=F/m,再用加速度更新速度,v += a * delta, 整个直线行驶的物理系统你就建好了。(delta是刷新间隔,秒,一般是每帧的时间间隔)。后记[公式9]里面还有最后一个未知量,发动机转速RPM,这鬼怎么求?简单提示下,最后咱不是更新了车辆的速度v吗,可以靠这个速度v算更新后的车轮转速,然后利用得到的车轮转速,结合变速箱齿轮比以及最终传动比再反推发动机转速(RPM)。当然这里有个前提,那就是为什么我上面假设RPM小于1000的时候仍然取最小扭矩300而不是0。如果不这么做,貌似会出什么问题?你猜。剩下的事情,就是你采用‘上网查’或者‘花钱买’或者‘自己编’的方式,收集到你需要的特定车辆的如下性能数据:发动机的转速与输出扭矩的曲线图: f(…), 变速箱各个档位的齿轮比: gearRatios, 差速比: differentialRatio,传动效率: efficiency, 轮胎半径: r, 迎风面积以计算风阻系数: dragFactor,轮胎滚动摩擦系数: cRR(这个在卖轮胎的网站上一般能查到),车重: load(千克),最后是轮胎摩擦系数,并结合车重和重力加速度计算刹车力: brakeForce。当然,这里我们还有一些忽略掉的问题,我大概提一下其中几点:1、车辆加减速时的“重心转移问题”,这个一般是用来模拟车辆悬挂的运动效果。主要是在3D游戏里面用的比较多,有兴趣的话不妨搜搜看。2、车辆暴力起步时轮胎打滑的问题。这个也很好理解。之前我提到过车辆的前行靠的是轮胎与地面的静摩擦力“推动”的,这意味着轮胎受到的牵引力要始终小于等于轮胎与地面的最大静摩擦力,但如果在某一时刻(通常是起步时)牵引力大过最大静摩擦力的话,轮胎就会产生相对于地面的滑动,此时就打滑了。要模拟这个的话,你可以考虑在得到牵引力之后,判断牵引力是否大于轮胎与地面的最大静摩擦力,然后… …最大静摩擦力约等于滑动摩擦力=mgu,橡胶轮胎和沥青路面的话u貌似取0.9左右,记不大清了最后,[公式9]仅仅是车辆直线行驶的情况。在下一次的节目里,我会结合车辆转向的物理分析,最终得出一个更完善一些的解决方案。补充:关于换挡之前忘了说这个,简单补充一下。一般来说,手动换挡就不用考虑了,让玩家自己换挡即可;自动挡的话,我不清楚一般汽车制造商们会怎么做,也许会基于多种因素的考虑,但我猜有一个简单的策略是依据车速来判断是否该升降档。上面我们曾提到,通过车速是可以反推出发动机转速RPM的,加之RPM又存在着最大的限制,那么,如果我们反过来考虑的话,就可以计算出在各个档位下(不同的齿轮比),当RPM最大时,车辆所对应的最大速度,然后:当加速时,你可以直接判断当RPM达到最大时,就升档;当减速时,如果当前车速小于了上一档所对应的最大车速的话,就降档;另外还需要注意的是,在换挡结束的一瞬间,你需要重设RPM,具体的做法是:换挡后的RPM = 换挡前的RPM * 换挡后的齿轮比 / 换挡前的齿轮比接下来,我们更进一步的来谈一谈车辆的转向过程。为了更好的说明一些基础的知识,本文基于了如下几个前提:1、本文不考虑转向时两前轮之间的角度差异(即我假设了两前轮在任何时候始终保持平行)。实际上,真实的车辆在转向时,两个前轮一般会在角度上存在一定偏差,但我想对于大多数游戏实现来说,应该不会考虑这种偏差。但如果你对此感兴趣的话,可以搜一搜相关的关键词:Ackermann steering geometry。2、本文仅针对后轮驱动的车辆进行讨论。相较于四驱或前驱来说,后驱是一种相对比较简单的情况,因为牵引力仅由后轮产生,且后轮不存在转向,因此这种情况下牵引力的方向将始终指向车头(或车尾)方向,这也意味着,牵引力将仅仅用于计算车辆沿车头/车位方向的加速度, 而不会存在一个侧向的分量来影响转向的过程。但如果你要考虑前驱或者四驱的话,那么由于此时前轮上产生了牵引力,并且前轮存在转向的情况,因此你就要多考虑一点前轮牵引力的角度问题了(这也不太难,大致上多了一个力的分解过程:分解到两个方向上进行单独考虑)。3、我们还是不考虑重心转移的问题,至于原因后文会提到。Ok,预备事项表完,我们开扯。首先我们先上关键的概念:轮胎与地面之间的“侧向力”(有些地方叫横向力,侧力,侧滑力等等,我也搞不清楚中文哪个更准确,英文叫lateral force或者cornering force,本文后面的部分将用“lateralForce”表示)。这便是在转向过程中起到最关键作用的一个力。它具体是指,当轮胎的旋转方向(滚动方向,或者说车轮的朝向)与实际的速度方向不一致的时候,所产生的一个指向轮胎侧面(正侧面,垂直于旋转的方向)的一个作用力。请参看下图:如该图所示,此刻一个车轮正在地面上滚动(俯视)。它的朝向如图上绿色箭头所示,而实际的速度方向如红色箭头v所示,并且车轮朝向与速度方向之间存在夹角为slipAngle(侧滑角),因此,图中的蓝色箭头代表的便是此刻轮胎与地面之间的侧向力,lateralForce(如果你把此图看成是一辆车的前轮的话,那么此刻的lateralForce导致了该车向右的转动)。如果要深究lateralForce的成因的话,我看到过这样一种解释是说,当轮胎转向的时候,其与地面接触的部分并不会立即响应这种转向,因此在一个较短的时间内,该部分实际上产生了一个形变,而后为了恢复这种形变,从而引起了lateralForce(有点像弹力,神吧)。不管怎样,既然已经明确了概念,那接下来我们就来看看这个力的计算。首先,lateralForce与轮胎载重和slipAngle有关,并且在载重一定的情况下,lateralForce与slipAngle存在如下关系:没错,跟上次发动机输出扭矩与RPM的关系图类似,这又是一份由轮胎厂家出具的图表,也是根据实验结果得到的。注意,我画的比较草率,有一点未标注,它一般是指在轮胎载重为5KN(即负载质量为500kg)的情况下,lateralForce与slipAngle的关系。从图上我们可以看出,当slipAngle大概在-5到5度之间时,lateralForce与slipAngle几乎成正比;当slipAngle超出这个范围的时候,lateralForce(的绝对值)稍有降低。因此,看到这种情况,很显然我们又要开始无耻地化简了:由图可知,我们的策略显而易见:当slipAngle在-5与5之间时,我们认为lateralForce与slipAngle严格成正比关系;当slipAngle超出这个范围时,我们认为lateralForce始终取最大(或最小)值。 当然,关于lateralForce与slipAngle的关系,如果你觉得我的近似策略太过草率的话,还有一种更精致的办法也许适合你,请搜索:Pacejka Magic Formula。但如果你欣赏我这种简化方式的话,那我们便可以愉快地玩耍,并得到关于lateralForce的公式:[公式1] lateralForce = fn &* wheelLoad,且:fn = slipAngle * C, -fnMax &= fn &= fnMax[公式1]的意思是说,先求一个“单位载重下的lateralForce”,即fn,它等于slipAngle乘以一个常数C(正比关系),并且我们限制:-fnMax &= fn &= fnMax,即一旦fn超出范围始终取端值;之后再用得到的fn乘以实际的轮胎载重wheelLoad,最终得到实际的lateralForce。那么[公式1]中还有两个未知量,wheelLoad与slipAngle。我们首先来看wheelLoad,轮胎载重。这其实是在上一篇中提到过的一个名词,只是当时没有给出具体的计算方式。请看下图:假设图中CG表示整车的重心位置,线段b表示前轮轴到重心的水平距离,线段c表示后轮轴到重心的水平距离,那么我们很容易知道,前后轮的载重与b和c长度成反比。所以,如果我们继续假设整车质量为m, 重力加速度为g的话,可得:前轮载重(两前轮载重之和)等于:[公式2] wheelLoadFront = m * g * c / (b + c)后轮载重(两后轮载重之和)等于: [公式3] wheelLoadRear = m * g * b / (b + c)其中b+c即是所谓的轴距,wheelbase。一般的,如果你想更简单一些的话,你可以更进一步假设你的车辆重心位置就在轴距的中点,那么此时你理想地认为:wheelLoadFront = wheelLoadRear = m * g &* 0.5。至于slipAngle,在此我们先挂一个问号,稍后我们再回来讲解它的计算方法。那接下来,我们便带入lateralForce,并结合上一篇文章所讲的知识,以及从车轮受力的角度出发,重新绘制我们的受力分析图:如上图所示,有几个需要解释的地方:1、为何要把所有的着力点分别画在两条轮轴的中点,而不是画在每个车轮与地面的接触点上呢?的确,如果以实际情况出发,确实应该画在各个车轮与地面的接触点上。但为了简化过程,我们这里基于了两个假设,在文章开头已提到过,一是我们认为两个前轮(或两个后轮)在任何时候始终保持平行;另一个是我们不考虑重心转移的情况,即相应的左、右二轮在任何时候我们都认为是承受了相等的载重。在这两个假设的基础上,我们很容易想到,无论前后,相应的左、右二轮的受力分析是完全相同的。所以为了简单期间,我们不妨把两个前轮(或两个后轮)看成是一个整体,即当我们说前轮受力的时候,意思是指左右两前轮的受力之和;当说到后轮受力的时候,意思是指左右两后轮的受力之和。2、图中红色的几个箭头代表的全是在上一篇中提到的几个力,牵引力fraction,空气阻力drag以及滚动摩擦rollingResistance。它们本质上与前文提及的并无差别,此处仅仅是把它们分摊到了前、后轮上进行单独的考虑。具体包括:(一)由于我们仅考虑后轮驱动,因此fraction仅仅产生于后轮,并且永远指向车头或车尾方向;(二)为了表示起来方便,我们把drag也标在了后轮上,并且它的方向始终与速度方向相反(图示绿色箭头为速度方向);(三)由于转向期间前轮与后轮的角度不同,因此它们的滚动摩擦力方向也不同,这里用Front与Rear后缀以示区分。为了更便于计算,我们不妨以车辆自身的坐标系为准,以车头的指向为long方向,以右侧面为lat方向,然后将上图所有的力都逐个分解到这两个方向上来,之后我们便得到了分解之后的图示:虽然此图并不清晰,各个箭头并未进行文字标注,但事实上这也并不重要,你只需要知道这些箭头都是由上上图所标示的那些力,沿着long和lat方向分解而来。且此图的目的仅仅是为了方便你看出一个最终的结论,那便是:分解后所得到的所有沿long方向的力,它们形成的合力最终影响了车辆在long方向上的加速度;而所有沿lat方向的力嘛… 作用有两个:一是和long方向的合力一样,lat方向的合力也最终形成了车辆在lat方向上的加速度(侧滑);另一个作用是,也许你已经看出来了,它造成了车身绕其重心进行转动。这便是整个转向过程的实质。如果你很难想象这种转动的话,想象一根筷子嘛。。。是吧。根据力矩公式,假设前轮上所受的沿lat方向合力为netForceLatFront,那么你可以计算它所形成的作用于车身旋转的力矩:[公式4]torqueFront = netForceLatFront * b同理,后轮上的力矩为:[公式5]torqueRear = -netForceLatRear * c(注意[公式5]的符号)。那么,作用在整个车身上的合力矩就是torqueFront + torqueRear,即:[公式6]torqueBody = netForceLatFront * b - netForceLatRear * c之后可以再根据转动惯量公式,角加速度=合力矩/转动惯量inertia, 你可以得到车身转动的角加速度angularAcc公式为:[公式7]angularAcc = (netForceLatFront * b - netForceLatRear * c)/ inertia(关于转动惯量的定义,忘了的请自行搜索:moment of inertia。它跟物体的质量和形状有关,一般来说能查到。维基百科上列出了一些常用形状的转动惯量计算方法,总之对于特定的车型来说,转动惯量是已知量)最后有了角加速度,你就可以计算车身旋转的角速度w,从而可以更进一步得到车身的角度(rotation)。到此,整个转向的大致物理过程我们就介绍完了。有觉得豁然开朗了吗?下面再回到上面留的一个问号,关于slipAngle的计算,这下就简单了。根据定义,slipAngle是车轮朝向与车轮实际的速度方向(即车速方向)之间的夹角。既然如此,我们不妨将车速v也分解到long和lat两个方向上,如图vLong,vLat所示:你可能一眼就能看出,既然slipAngle是车轮朝向与车轮速度方向之间的夹角,对于后轮来说,它的朝向就是指向long轴,速度方向就是车速的方向,那么它的slipAngle不就等于车速度方向与long轴形成的夹角吗?而这个夹角不就等于arctan(lat方向的速度分量 / long方向的速度分量的绝对值 )吗?因此,对于后轮:slipAngleRear = arctan(lat方向的速度分量 / |long方向的速度分量 | &)其中long方向的速度分量即是图示的vLong,而值得注意的是lat方向的速度分量,可不仅仅只是图示的vLat。由于之前我们已经得出过结论,此时车身还在围绕重心以角速度w进行转动,并且根据角速度与速度之间的变换公式(速度等于角速度乘以旋转半径),我们能够得出另一个lat方向的速度,其大小等于w *c, 方向正好与vLat相反。因此,我们得到最终的后轮slipAngle公式为:[公式8]slipAngleRear = arctan( (vLat - w*c) / |vLong| )相应的,前轮与后轮基本同理,只不过由于前轮还存在一个转向角steerAngle(即前轮与long轴的夹角),这里稍微推导下可得,前轮slipAngle的公式为: [公式9]slipAngleFront = arctan( (vLat + w*b) / |vLong| ) - sgn(vLong) * steerAngle其中sgn(vLong)代表取vLong的符号(结果可为1,-1或0)。到此,尽管整个过程可能让你有些眼花缭乱,但在不知不觉当中,截至[公式9],我们对整个物理情景的分析,就算是圆满结束了。在本文的最后,结合之前的所有内容,我最终整理了一份比较完善的有关车辆物理逻辑实现的基本算法流程,具体如下:在你的update方法里:1、首先根据车辆相对于父级坐标系的速度v,结合车辆相对于父级的旋转角度rotation,计算出车辆相对于自身坐标系的速度分量vLong和vLat: vLong = -sin(rotation) * v.y + cos(rotation) *v.x;vLat = &cos(rotation) * v.y + sin(rotation) * v.x;2、获取此时前轮的转向角度:steerAngle;3、根据vLong与vLat,计算风阻drag:dragLong = -dragFactor * vLong *|vLong|;dragLat = -dragFactor * vLat *|vLat|;(这是算的drag在long和lat两个方向上的分量,下同。如果你够讲究,两式的dragFactor可能稍有不同,因为正面和侧面迎风面积不同)4、分别计算前后轮的滚动摩擦力:前轮:rollingResistanceFrontLong = -wheelLoadFront * cRR * cos(steerAngle);rollingResistanceFrontLat = -wheelLoadFront * cRR * sin(steerAngle);后轮:rollingResistanceRearLong = &-wheelLoadRear * cRR;(后轮不存在lat方向的滚动摩擦力分量,即无rollingResistanceRearLat)5、根据油门throttle,发动机当前转速RPM,以及刹车力brakeForce和刹车情况brake,计算牵引力fraction:fraction = f(RPM) * gearRatio * differentialRatio * efficiency / r * throttle + brake * brakeForce(后轮驱动,fraction也不存在lat方向上的分量,之前讲过了)6、计算前轮slipAngle,并以此计算前轮lateralForce:slipAngleFront = arctan( (vLat + w*b) / |vLong| ) - sgn(vLong) * steerAngle;fnFront = slipAngleFront &* C;fnFront = clamp(-fnMax, fnMax);lateralForceFrontLong = fnFront * &wheelLoadFront * sin(steerAngle);lateralForceFrontLat = fnFront * &wheelLoadFront * cos(steerAngle);7、计算后轮slipAngle,并计算后轮lateralForce:slipAngleRear = arctan( (vLat - w*c) / |vLong| ) ;fnRear = slipAngleRear &* C;fnRear = clamp(-fnMax, fnMax);lateralForceRear= fnRear * &wheelLoadR(与前轮有所不同,lateralForceRear完全指向lat方向,因此不存在long方向的分量)8、综合上述得到的所有力,分别计算整车long和lat方向上受到的合力netForce(前后轮所有long方向与lat方向的合力分别相加):netForceLong = rollingResistanceFrontLong + lateralForceFrontLong + rollingResistanceRearLong + dragLong +netForceLat = rollingResistanceFrontLat + lateralForceFrontLat + dragLat + lateralForceR9、再根据合力和车辆质量,计算最终加速度,并根据刷新间隔时间delta,更新vLong,vLat:aLong = netForceLong/ m;aLat = netForceLat/ m;vLong += aLong * delta;vLat += &aLat *10、用更新后的vLong,vLat,参照第1步倒推,最终更新车辆相对于父级的速度v,并且更新坐标x,y。...x += v.x *y += v.y *11、根据前后轮lat方向的受力算作用于车身上的合力矩(torqueBody = torqueFront + torqueWheel):torqueBody = (lateralForceFrontLat + rollingResistanceFrontLat ) * b - lateralForceRear *c;(注意这里貌似有点问题,应该还要考虑侧向的空气阻力…)12、根据合力矩,以及转动惯量inertia,算角加速度:angularAcc = torqueBody / 13、根据角加速度更新角速度w,并更新车身的旋转属性:w += angularAcc &*rotation += w *14、更新rpm,如果是自动档的话检测是否该升降档。
点击展开全文
GameRes游资网,建立之初就吸引了大批优秀的制作人及开发团队。经过多年的摸索与发展,已经成功达成向数以万计的游戏业从业者传递最及时、最专业的行业信息,最新的干货分享,以及最全面的产品信息。开放、分享、游戏梦的起点!
您的【关注和订阅】是作者不断前行的动力
本站文章来自网友的提交收录,如需删除可发送邮件到 bang@ 或联系QQ ,
(C)2014&&版权所有&&&|&&&
京ICP备号-2&&&&京公网安备34}

我要回帖

更多关于 赛车计划 赛道 的文章

更多推荐

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

点击添加站长微信