《極速快感13 變速》車輛文件結構詳解

今天為大家帶來一些關於SHIFT文件攻克的最新消息,並在此進行詳細講解,希望能給對此感興趣的朋友提供一些幫助和了解~

【極速快感13-變速】多種未知格式的遊戲文件最近均已被全球的語法高手們一一攻克,並開始出現一些類似於提取器的模塊程序~ 通過這些程序組合並使用後,能成功提取出相關遊戲文件中的所有子文件,對研究破_解有了更進一步的成果!

在SHIFT各種修正檔即將出現之前,我在此將自己最新知道的一些消息和東西給所有感興趣的朋友作一些講解和介紹~

首先我通過近幾天的研究和查找相關資料,對遊戲文件結構有了一定了解~ 下面我主要以車輛文件為例,給大家介紹介紹SHIFT的文件特點和細節之處~
通過使用一個”Script”語言支持的程序組,我成功的提取出一些FX文件以及大家最感興趣的車輛文件,雖然還有很多格式的子文件無法破譯,但已經有了很大的突破,基本上車輛文件中的子文件都可以
通過安裝一些特殊插件後,所支持的常用圖象軟件或文本軟件都可以對其進行查看和研究~

在此,我以 「保時捷997_GT2」的車輛文件為例,為大家做一寫簡單的講解和介紹~ 大家也會從中發現這代SHIFT的細節之處,一款遊戲的好壞,從遊戲文件就可以最直觀的去分析~ 通過查看遊戲物理引擎腳本,模型、貼圖等~就可以最直觀的看出遊戲的開發細致程度和客觀評定對遊戲本身的好壞~

下面就是講解和示意圖~ 大家可以看看大概~ 很多具體的東西講起來比較復雜~ 用「白話」的方式給大家介紹一下也罷~

1.下圖是上述所提到的一個由”Script”語言支持的程序組,通過它我可以將遊戲文件中的子文件全部提取出來~

《極速快感13 變速》車輛文件結構詳解

2.下圖是提取過程,我選擇”nfsshift.bms”簡易腳本進行文件提取,這時我找到遊戲目錄下的車輛文件:(X:>Need for Speed SHIFT>Pakfiles>Vehicles>PORSCHE_997GT2.bff)文件,並選擇它~

《極速快感13 變速》車輛文件結構詳解

3.下圖為提取過程,這個「保時捷997_GT2」的車輛文件中總共有1137個子文件,其中包含4個文件夾,分別為”animation”、”audio”、”render”、”vehicles”,它們所包含的子文件分別為”車手動作”、”車輛音頻”、”共享用文件(改裝配件)”、”車輛”~ 其中,”車手動作”主要是一些腳本文件,不同的車輛駕駛室內的空間結構各不相同,所以駕駛員的動作「線」位置和坐標也各不相同~  “車輛音頻”主要是一些各種車輛起步,低速,中速,高速,疾速時不同的車輛聲效~當然還包括排氣、換擋等有關的其他聲效~  “共享用文件”主要是一些改裝配件的匹配文件~  “車輛”中則是所有的車輛物理引擎效果腳本文件和車輛模型及貼圖文件~
這個「保時捷997_GT2」的車輛文件有12.6MB,提取解壓後到達33.4MB,可以看出這代SHIFT的文件壓縮非常比非常高,同時這種技術也非常先進,直到目前還沒有人能做出完全破譯所有文件結構的工具或軟件~

《極速快感13 變速》車輛文件結構詳解


4.下圖為”vehicles”(車輛)文件中的子文件~ 非常多,所以屏幕截圖看不完整~ 光”porsche_997gt2″子文件夾內就有142個文件組成~ 其中包含很多輪轂、附件等部位的相關文件~ 由於暫時沒有辦法再進一步進行破譯,所以暫時不對這142個”.bmt”以及”.meb”文件進行講解和研究~

《極速快感13 變速》車輛文件結構詳解

5.下面我將把73種貼圖文件選一部分給大家參看~ (NFS13的貼圖非常精細,完全不亞於《GRID》和《GTRE》等遊戲的貼圖細致度~)

《極速快感13 變速》車輛文件結構詳解


進氣隔扇

《極速快感13 變速》車輛文件結構詳解


進氣隔扇法線圖(一種2D>3D化的技術~  反光效果時,通過不同打光效果使得2D圖片有立體感~)

《極速快感13 變速》車輛文件結構詳解


不同顏色的車燈燈光~ 各種倒車燈~ 大燈等~燈光~~

《極速快感13 變速》車輛文件結構詳解


撞車時的玻璃破碎紋理~

《極速快感13 變速》車輛文件結構詳解


沙塵污物~

《極速快感13 變速》車輛文件結構詳解


車內氮氣瓶等貼圖~

《極速快感13 變速》車輛文件結構詳解


上圖的法線圖

《極速快感13 變速》車輛文件結構詳解


引擎改(各分別為半部分)

《極速快感13 變速》車輛文件結構詳解


先燈~ LOGO~ 以及油箱蓋和反光鏡輪廓~

《極速快感13 變速》車輛文件結構詳解

上圖的法線圖

《極速快感13 變速》車輛文件結構詳解


後部引擎貼圖

《極速快感13 變速》車輛文件結構詳解


制動器~ 可以通過改它的顏色~ 讓車輛在遊戲中的制動器變為紅色之類的~

《極速快感13 變速》車輛文件結構詳解


車燈玻璃破碎效果~

《極速快感13 變速》車輛文件結構詳解


在車體外看車內的室內貼圖~(像TDU一樣~ 是從車外往里看的時候用到的貼圖~ 不是坐在車內視角時看到的~)

《極速快感13 變速》車輛文件結構詳解


各種燈~~後燈~

《極速快感13 變速》車輛文件結構詳解


發亮時的程度效果~

《極速快感13 變速》車輛文件結構詳解

車身貼花1~

《極速快感13 變速》車輛文件結構詳解


車身貼花2~

《極速快感13 變速》車輛文件結構詳解


車身貼花3~

《極速快感13 變速》車輛文件結構詳解


車身貼花4~

《極速快感13 變速》車輛文件結構詳解


車輪影圖~

《極速快感13 變速》車輛文件結構詳解


轉動後的車輪影圖~

《極速快感13 變速》車輛文件結構詳解


一些附件~ 引擎蓋板之類的~

《極速快感13 變速》車輛文件結構詳解

上圖的高光圖~(陽光下使用高光圖~ 陰影下使用上圖~)

《極速快感13 變速》車輛文件結構詳解


車輪法線圖~

《極速快感13 變速》車輛文件結構詳解


車輪胎胎紋法線圖~

《極速快感13 變速》車輛文件結構詳解


車輪胎胎紋貼圖~

《極速快感13 變速》車輛文件結構詳解


靜止時的車輪影圖~

《極速快感13 變速》車輛文件結構詳解


車胎法線圖~

《極速快感13 變速》車輛文件結構詳解


車體影子~

《極速快感13 變速》車輛文件結構詳解


皮革法線圖~

《極速快感13 變速》車輛文件結構詳解


皮革逢接線貼圖~

《極速快感13 變速》車輛文件結構詳解


皮革逢接線法線圖~

《極速快感13 變速》車輛文件結構詳解


室內碳纖維貼圖~

《極速快感13 變速》車輛文件結構詳解


皮革紋理法線圖~

《極速快感13 變速》車輛文件結構詳解

皮革逢接線貼圖~

《極速快感13 變速》車輛文件結構詳解


MOMO方向盤貼圖~

《極速快感13 變速》車輛文件結構詳解


儀錶板~

《極速快感13 變速》車輛文件結構詳解


MOMO方向盤法線圖~

《極速快感13 變速》車輛文件結構詳解


~~~~

《極速快感13 變速》車輛文件結構詳解


儀錶板底圖~

《極速快感13 變速》車輛文件結構詳解


儀錶板貼圖~

《極速快感13 變速》車輛文件結構詳解

車內控制台貼圖~

《極速快感13 變速》車輛文件結構詳解


上圖法線圖~

《極速快感13 變速》車輛文件結構詳解


附件~

《極速快感13 變速》車輛文件結構詳解


中控台及座椅~


6.看完了上面的貼圖,再來看看”physics”(物理引擎)文件夾的一些腳本數據參數~

《極速快感13 變速》車輛文件結構詳解

首先我打開”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:變速專區

來源:遊民星空