evozhui 发表于 2009-9-30 15:10

【极品飞车13-变速】车辆文件结构详解.!!!

【极品飞车13-变速】车辆文件结构详解.(补丁即将到来)!
-----------------------------------------------------------------------------------------------------------------

今天为大家带来一些关于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》等游戏的贴图细致度~)


图略~附件限制1.4MB~无法上传 导致帖子发表失败~~

















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

http://game.脏话.net/images/default/attachimg.gif



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

//NFS PC Porsche 3.6L 997 GT2 525hp @7600 680nm@2200-4500
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

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

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这代是一个比较优秀的作品!~

651843483 发表于 2009-9-30 16:55

沙发            

seloveljy 发表于 2009-9-30 17:43

可惜优化不行,玩不起啊

covers2222 发表于 2009-9-30 23:45

技术贴。顶个。。。

kingso 发表于 2009-10-1 07:12

技术帖子必须支持的

某小白 发表于 2009-10-1 09:29

前排,此贴要火!

利爪乌鸦 发表于 2009-10-2 20:43

好贴不能沉没~~~顶起~~~

275208567 发表于 2009-10-4 03:28

多谢努力,帮顶!!!

zh4412847 发表于 2009-10-5 09:45

技术贴,支持,不过还蛮复杂的

punkzero35 发表于 2009-10-5 10:09

专业到是什么东西都看不懂

archdevil521 发表于 2009-10-5 13:40

感谢楼主分享
页: [1]
查看完整版本: 【极品飞车13-变速】车辆文件结构详解.!!!