《极品飞车13:变速》结构详解!

互联网 | 编辑: 2010-01-05 13:02:04 返回原文

【极品飞车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》等游戏的贴图细致度~)

进气隔扇

进气隔扇法线图(一种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这代是一个比较优秀的作品!~

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

返回原文

本文导航

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑