正在加载
《极品飞车13:变速》车辆文件结构详解!
时间:2024-03-25 来源:本站 作者:佚名
电脑大家应该不怎么陌生吧!现在电脑已经普及到大多数人的家庭之中了,电脑的用途非常地广,不同年龄段、不同行业的人对电脑的用处不同。但是对于很多的年轻人来说电脑最大的用途就是玩游戏了。电脑游戏大家肯定玩过吧!它可以使人上瘾。

今天为大家带来一些关于SHIFT文件攻克的最新消息,并在此进行详细讲解,希望能给对此感兴趣的朋友提供一些帮助和了解~

【极品飞车13-变速】多种未知格式的游戏文件最近均已被全球的语法高手们一一攻克,并开始出现一些类似于提取器的模块程序~ 通过这些程序组合并使用后,能成功提取出相关游戏文件中的所有子文件,对研究破_解有了更进一步的成果!

在SHIFT各种补丁即将出现之前,我在此将自己最新知道的一些消息和东西给所有感兴趣的朋友作一些讲解和介绍~

首先我通过近几天的研究和查找相关资料,对游戏文件结构有了一定了解~ 下面我主要以车辆文件为例,给大家介绍介绍SHIFT的文件特点和细节之处~
通过使用一个"Script"语言支持的程序组,我成功的提取出一些FX文件以及大家最感兴趣的车辆文件,虽然还有很多格式的子文件无法破译,但已经有了很大的突破,基本上车辆文件中的子文件都可以
通过安装一些特殊插件后,所支持的常用图象软件或文本软件都可以对其进行查看和研究~

在此,我以 “保时捷997_GT2”的车辆文件为例,为大家做一写简单的讲解和介绍~ 大家也会从中发现这代SHIFT的细节之处,一款游戏的好坏,从游戏文件就可以最直观的去分析~ 通过查看游戏物理引擎脚本,模型、贴图等~就可以最直观的看出游戏的开发细致程度和客观评定对游戏本身的好坏~

下面就是讲解和示意图~ 大家可以看看大概~ 很多具体的东西讲起来比较复杂~ 用“白话”的方式给大家介绍一下也罢~

1.下图是上述所提到的一个由"Script"语言支持的程序组,通过它我可以将游戏文件中的子文件全部提取出来~

2.下图是提取过程,我选择"nfsshift.bms"简易脚本进行文件提取,这时我找到游戏目录下的车辆文件:(X:Need for Speed SHIFTPakfilesVehiclesPORSCHE_997GT2.bff)文件,并选择它~

3.下图为提取过程,这个“保时捷997_GT2”的车辆文件中总共有1137个子文件,其中包含4个文件夹,分别为"animation"、"audio"、"render"、"vehicles",它们所包含的子文件分别为"车手动作"、"车辆音频"、"共享用文件(改装配件)"、"车辆"~ 其中,"车手动作"主要是一些脚本文件,不同的车辆驾驶室内的空间结构各不相同,所以驾驶员的动作“线”位置和坐标也各不相同~  "车辆音频"主要是一些各种车辆起步,低速,中速,高速,疾速时不同的车辆声效~当然还包括排气、换挡等有关的其他声效~  "共享用文件"主要是一些改装配件的匹配文件~  "车辆"中则是所有的车辆物理引擎效果脚本文件和车辆模型及贴图文件~
这个“保时捷997_GT2”的车辆文件有12.6MB,提取解压后到达33.4MB,可以看出这代SHIFT的文件压缩非常比非常高,同时这种技术也非常先进,直到目前还没有人能做出完全破译所有文件结构的工具或软件~


4.下图为"vehicles"(车辆)文件中的子文件~ 非常多,所以屏幕截图看不完整~ 光"porsche_997gt2"子文件夹内就有142个文件组成~ 其中包含很多轮毂、附件等部位的相关文件~ 由于暂时没有办法再进一步进行破译,所以暂时不对这142个".bmt"以及".meb"文件进行讲解和研究~

5.下面我将把73种贴图文件选一部分给大家参看~ (NFS13的贴图非常精细,完全不亚于《GRID》和《GTRE》等游戏的贴图细致度~)


进气隔扇


进气隔扇法线图(一种2D>3D化的技术~  反光效果时,通过不同打光效果使得2D图片有立体感~)


不同颜色的车灯灯光~ 各种倒车灯~ 大灯等~灯光~~


撞车时的玻璃破碎纹理~


沙尘污物~


车内氮气瓶等贴图~


上图的法线图


引擎改(各分别为半部分)


先灯~ LOGO~ 以及油箱盖和反光镜轮廓~

上图的法线图


后部引擎贴图


制动器~ 可以通过改它的颜色~ 让车辆在游戏中的制动器变为红色之类的~


车灯玻璃破碎效果~


在车体外看车内的室内贴图~(像TDU一样~ 是从车外往里看的时候用到的贴图~ 不是坐在车内视角时看到的~)


各种灯~~后灯~


发亮时的程度效果~

车身贴花1~


车身贴花2~


车身贴花3~


车身贴花4~


车轮影图~


转动后的车轮影图~


一些附件~ 引擎盖板之类的~

上图的高光图~(阳光下使用高光图~ 阴影下使用上图~)


车轮法线图~


车轮胎胎纹法线图~


车轮胎胎纹贴图~


静止时的车轮影图~


车胎法线图~


车体影子~


皮革法线图~


皮革逢接线贴图~


皮革逢接线法线图~


室内碳纤维贴图~


皮革纹理法线图~

皮革逢接线贴图~


MOMO方向盘贴图~


仪表板~


MOMO方向盘法线图~


~~~~


仪表板底图~


仪表板贴图~

车内控制台贴图~


上图法线图~


附件~


中控台及座椅~


6.看完了上面的贴图,再来看看"physics"(物理引擎)文件夹的一些脚本数据参数~

首先我打开"engines"(发动机)文件~ 具体脚本参数如下:

//NFS PC Porsche 3.6L 997 GT2 525hp @7600 [email=680nm@2200-4500]680nm@2200-4500[/email]
RPMTorque=( 0 , -58.40 , -58.00 )
RPMTorque=( 250 , -33.00 , -9.00 )
RPMTorque=( 500 , -23.70 , 160.00 )
RPMTorque=( 750 , -22.00 , 250.00 )
RPMTorque=( 1000 , -30.40 , 375.00 )
RPMTorque=( 1250 , -35.00 , 390.00 )
RPMTorque=( 1500 , -40.00 , 405.00 )
RPMTorque=( 1750 , -48.00 , 420.00 )
RPMTorque=( 2000 , -49.60 , 435.00 )
RPMTorque=( 2250 , -53.00 , 447.00 )
RPMTorque=( 2500 , -55.20 , 459.00 )
RPMTorque=( 2750 , -60.00 , 462.00 )
RPMTorque=( 3000 , -65.20 , 470.00 )
RPMTorque=( 3250 , -70.00 , 470.00 )
RPMTorque=( 3500 , -75.70 , 480.00 )
RPMTorque=( 3750 , -80.00 , 485.00 )
RPMTorque=( 4000 , -88.00 , 480.00 )
RPMTorque=( 4250 , -96.00 , 480.00 )
RPMTorque=( 4500 , -104.90 , 480.00 )
RPMTorque=( 4750 , -112.00 , 480.00 )
RPMTorque=( 5000 , -120.10 , 470.00 )
RPMTorque=( 5250 , -130.00 , 450.00 )
RPMTorque=( 5500 , -140.60 , 430.00 )
RPMTorque=( 5750 , -150.00 , 415.00 )
RPMTorque=( 6000 , -160.50 , 410.00 )
RPMTorque=( 6250 , -170.00 , 395.00 )
RPMTorque=( 6500 , -180.70 , 380.00 )
RPMTorque=( 6750 , -193.00 , 370.00 )
RPMTorque=( 7000 , -200.20 , 350.00 )
RPMTorque=( 7250 , -213.00 , 330.00 )
RPMTorque=( 7500 , -226.00 , 320.00 )
RPMTorque=( 7750 , -238.00 , 310.00 )
RPMTorque=( 8000 , -252.20 , 280.00 )
RPMTorque=( 8250 , -275.00 , 255.00 )
RPMTorque=( 8500 , -298.80 , 225.00 )
RPMTorque=( 8750 , -315.00 , 200.00 )
RPMTorque=( 9000 , -330.00 , 160.00 )
RPMTorque=( 9250 , -365.00 , 80.00 )
RPMTorque=( 9500 , -400.00 , 50.00 )
RPMTorque=( 9750 , -450.00 , 10.00 )
RPMTorque=( 10000 , -500.00 , 0.00 )
FuelConsumption=3.50e-5
FuelEstimate=1.0
EngineInertia=0.400
IdleThrottle=1.0
IdleRPMLogic=(950.0, 970.0)
LaunchEfficiency=0.969
LaunchRPMLogic=(4500.0, 5500.0)
RevLimitRange=(7000.0, 0.0, 0 )
RevLimitSetting=0
RevLimitLogic=150.0
EngineMapRange=(0, 1, 5)
EngineMapSetting=2
EngineBrakingMapRange=(0.0, 0.00077, 6)
EngineBrakingMapSetting=2
OptimumOilTemp=95.0
CombustionHeat=40.0
EngineSpeedHeat=12.000e-004
OilMinimumCooling=7.50e-003        // heat dissipated without oil/water transfer
OilWaterHeatTransfer=(3.962e-001,7.925e-005)  // heat transfer from oil to water (base, w/ engine speed)
WaterMinimumCooling=3.962e-003
RadiatorCooling=(1.592e-004, 10.039e-005)
LifetimeEngineRPM=(8000.0, 95.0)
LifetimeOilTemp=(100.00, 3.00)
LifetimeAvg=10800
LifetimeVar=2250
EngineEmission=(0.0, 0.53, 0.77)
EngineSound=(0.330, 0.800, -1.0)
OnboardStarter=1
StarterTiming=(1.4, 0.4, 1.5)

从以上参数中,我们可以看到车辆的所有引擎参数,如基本性能信息,不同扭距下的RPM转速~ 引擎声音~ 最高转速~ 水冷却参数等等~  通过将来对这里的修改并导入到游戏原文件内,我们即可随意更改车辆的“超级性能”了~

接着是"gearbox"(变速箱)参数:

// Common gearbox
[GEAR_RATIOS]
ratio=(10,35)   // 3.500 (0)
ratio=(12, 36)  // 3.000
ratio=(22, 65)  // 2.955
ratio=(12, 35)  // 2.917
ratio=(16, 46)  // 2.875
ratio=(12, 34)  // 2.833
ratio=(14, 39)  // 2.786
ratio=(12, 33)  // 2.750
ratio=(17, 46)  // 2.706
ratio=(12, 32)  // 2.667
ratio=(16, 42)  // 2.625 (10)
ratio=(12, 31)  // 2.583
ratio=(13, 33)  // 2.538
ratio=(12, 30)  // 2.500
ratio=(13, 32)  // 2.462
ratio=(12, 29)  // 2.417
ratio=(16, 38)  // 2.375
ratio=(12, 28)  // 2.333
ratio=(14, 32)  // 2.286
ratio=(12, 27)  // 2.250
ratio=(14, 31)  // 2.214 (20)
ratio=(12, 26)  // 2.167
ratio=(16, 34)  // 2.125
ratio=(12, 25)  // 2.083
ratio=(22, 45)  // 2.045
ratio=(12, 24)  // 2.000
ratio=(23, 45)  // 1.957
ratio=(13, 25)  // 1.923
ratio=(19, 36)  // 1.895
ratio=(15, 28)  // 1.867
ratio=(24, 44)  // 1.833 (30)
ratio=(15, 27)  // 1.800
ratio=(17, 30)  // 1.765
ratio=(23, 40)  // 1.739
ratio=(14, 24)  // 1.714
ratio=(25, 42)  // 1.680
ratio=(17, 28)  // 1.647
ratio=(16, 26)  // 1.625
ratio=(20, 32)  // 1.600
ratio=(19, 30)  // 1.579
ratio=(20, 31)  // 1.550 (40)
ratio=(25, 38)  // 1.520
ratio=(25, 37)  // 1.480
ratio=(22, 32)  // 1.455
ratio=(19, 27)  // 1.421
ratio=(18, 25)  // 1.389
ratio=(22, 30)  // 1.364
ratio=(18, 24)  // 1.333
ratio=(17, 22)  // 1.294
ratio=(19, 24)  // 1.263
ratio=(20, 25)  // 1.250 (50)
ratio=(19, 23)  // 1.211
ratio=(17, 20)  // 1.176
ratio=(22, 25)  // 1.136
ratio=(22, 24)  // 1.091
ratio=(22, 23)  // 1.045
ratio=(22, 22)  // 1.000
ratio=(24, 23)  // 0.958
ratio=(28, 23) // 0.83
ratio=(29,22) //0.76 (59)
ratio=(31,21) // 0.71 (60)
ratio=(33,20) // 0.606
ratio=(32,16) // 0.50
[FINAL_DRIVE]
bevel=(1, 1)
ratio=(6, 39)  // 6.50 (0)
ratio=(6, 38)  // 6.33
ratio=(5, 31)  // 6.20
ratio=(6, 36)  // 6.00
ratio=(6, 35)  // 5.83
ratio=(6, 34)  // 5.67
ratio=(6, 33)  // 5.50
ratio=(7, 38)  // 5.43
ratio=(7, 37)  // 5.29
ratio=(7, 36)  // 5.14
ratio=(7, 35)  // 5.00 (10)
ratio=(7, 34)  // 4.86
ratio=(7, 33)  // 4.71
ratio=(8, 37)  // 4.63
ratio=(9, 41)  // 4.56
ratio=(8, 36)  // 4.50
ratio=(9, 40)  // 4.44
ratio=(9, 39)  // 4.33
ratio=(9, 38)  // 4.22
ratio=(9, 37)  // 4.11
ratio=(9, 36)  // 4.00 (20)
ratio=(9, 35)  // 3.89
ratio=(11, 42) // 3.82
ratio=(12, 45) // 3.75
ratio=(10, 37) // 3.70
ratio=(10, 36) // 3.60
ratio=(11, 39) // 3.55
ratio=(10, 35) // 3.50
ratio=(11, 38) // 3.45
ratio=(10, 34) // 3.40
ratio=(12, 40) // 3.33 (30)
ratio=(12, 39) // 3.25
ratio=(14, 43) // 3.07
ratio=(13, 39) // 3.00
ratio=(16, 47) // 2.94
ratio=(11, 32) // 2.91
ratio=(14, 40) // 2.86
ratio=(15, 42) // 2.80 (37)
ratio=(15,40) // 2.66
ratio=(16,40) // 2.50

大家通过这些参数可以看出这代SHIFT进行物理参数编写时,变速箱参数非常精细,数值间的跨度小,数值范围大~ 都是认真编写的体现~

最后挑一个GT2等超跑所特有的物理参数~ "turbo"(机械增压)参数~

//Generic model for LowRPM - all in by 3500 rpms
Turbo1 Size=50.0     // size of turbo influences eventual power delivered
Turbo1 Turbine Optimum RPM=140000.0  // optimum rpm where turbo produces max power
Turbo1 Engine RPM=500.0   // engine rpm that the turbine begins to spin up from
Turbo1 Inertia=10000.0    // turbo inertia/spin up speed
Turbo1 Friction=2000.0    // turbo friction/spin down speed
Turbo1 Fuel Percentage=10.0   // extra percentage of fuel burned at optimum RPM (0 = no change)
WasteGate Opening=0.5    // minimum time taken in seconds for the wastegate to open
WasteGate Closing=0.3    // minimum time taken in seconds for the wastegate to close

以上参数后面,都对应有相应的注解~ 估计是编写人员怕以后优化时由其他人负责,所以写明了具体含义,以免自己忘记或其他人看不懂的情况发生~~~~??~~ 同样看到很多关于转速、何时开启/关闭增压器等具体参数~

还有很多关于游戏主界面,甚至是驾驶员头盔贴花等文件没有给大家做示范~ 在这里就不一一介绍了~
等将来技术完善后,并真正做出补丁的时候,在细致的把制作方法和具体流程写给感兴趣的人看~,希望能对此有一些帮助~


总结:~

经过对SHIFT的文件进行了仔细查看和研究~ 发现SHIFT的制作开发比较认真和严谨,并且质量也都非常高~ 所以在我认为~ SHIFT这代是一个比较优秀的作品!~

Evozhui
2009.09.29

更多相关内容请访问:极品飞车13:变速专区


玩游戏可以在很大程度上让大家放松放松,但是我建议大家不要把过多的时间投入到工作当中,因为这样的话大家很有可能上瘾,这样不利于大家的工作或者是学习。