《極品飛車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這代是一個比較優秀的作品!~

evozhui
2009.09.29


        

相關攻略文章

最新攻略