明輝手游網(wǎng)唯一官網(wǎng):m.79things.com

本站App下載  |  

首頁 > 游戲資訊 > 單機(jī)游戲

三國群英傳7 修改-打造完美新兵模型

作者:佚名   來源:本站   時間:2023-09-08  點(diǎn)擊:

電腦大家應(yīng)該不怎么陌生吧!現(xiàn)在電腦已經(jīng)普及到大多數(shù)人的家庭之中了,電腦的用途非常地廣,不同年齡段、不同行業(yè)的人對電腦的用處不同。但是對于很多的年輕人來說電腦最大的用途就是玩游戲了。電腦游戲大家肯定玩過吧!它可以使人上癮。
動機(jī) 發(fā)現(xiàn)用OL的素材制作新兵種模型存在一些問題,所以把自己的解決辦法寫出來,希望和大家交流經(jīng)驗(yàn),祝愿大家都可以利用有限的素材快速制作出相對完美的模型。 制作流程 一。圖片名稱和存放位置的處理 存放位置必須調(diào)整到和群英7一致,選擇一組OL中兵種圖,他們被放在一個4位數(shù)命名的文件夾的6個子文件夾中,將他們包括_COV文件夾(有些圖組沒有它)都復(fù)制到同一個文件夾中,在把此文件夾改名為三位數(shù)命名(和你要替換的兵種編號對應(yīng),首位是0)然后放到游戲目錄下的shape\BFObj\BFSoldier\下 可以不改圖片名稱,而去修改BFSoldier.OBD文件中的圖片名稱,這樣比一個個改文件名輕松些,但要弄清對應(yīng)關(guān)系。如果修改圖片名稱,那修改OBD文件就會輕松一點(diǎn)。 二。修改OBD文件,先說明一下ODB文件的作用和原理 (一)ODB文件作用:調(diào)用指定文件夾下圖片,組織播放順序控制顯示時間,形成動畫短片,如士兵的攻擊動作,等待動作等等。然后供執(zhí)行程序調(diào)用,構(gòu)成我們看到的整體游戲內(nèi)容 (二)詳細(xì)解析ODB文件的各種參數(shù) [OBJECT] Name = 山賊槍兵--------此為兵種名稱,只起到注釋作用,不影響游戲中顯示的兵種名 Sequence = 70054-------此為兵種編號 ,后兩位與Soldier.ini文件中ObjID =的值相等 Space = 0, 100, 0------模型定位(理論上影響模型在游戲中的位置,但實(shí)際修改不見變化) Process = BF_CLASS_BFSoldier-------此為數(shù)據(jù)庫連接位置(與.so文件相關(guān)) Directory = \BFObj\BFSoldier\054---文件夾,此模型的圖片存放在Shape文件夾下的具體路徑 Sprite = Wait, w010001, #12, w010002, w010003, w010004, w010003, w010002--等待動作 Sprite = Walk, r010001, #5, r010002, r010003, r010004, r010005, r010006, r010007, r010008--------------移動 Sprite = Attack1, a010001, #5, a010002, a010003, a010004, a010005, @SP_EVENT_ACT_ATTACK, a010006, a010007, a010008, a010008, @SP_EVENT_ACT_WAIT-----------攻擊1 Sprite = Attack2, a020001, #5, a020002, a020003, a020004, a020005, @SP_EVENT_ACT_ATTACK, a020006, a020007, a020008, a020008, @SP_EVENT_ACT_WAIT-----------攻擊2 Sprite = SAttack1, a010001, #5, a010002, a010003, a010004, a010005, @SP_EVENT_ACT_CHECK, a010006, a010007, a010008, a010008, @SP_EVENT_ACT_WAIT----------特殊攻擊1 Sprite = SAttack2, a020001, #5, a020002, a020003, a020004, a020005, @SP_EVENT_ACT_CHECK, a020006, a020007, a020008, a020008, @SP_EVENT_ACT_WAIT----------特殊攻擊2 Sprite = Defend, d010001, #5, d010002, d010002, @SP_EVENT_ACT_WAIT------------防御 Sprite = Hurt, h010001, #5, h010002, h010002, @SP_EVENT_ACT_WAIT--------------受到攻擊 Sprite = Die1, f010001, #5, f010002, f010003, f010004, f010005, #90, f010005, @SP_EVENT_ACT_FADEOUT--------死亡動作1 Sprite = Die2, f020001, #5, f020002, f020003, f020004, f020005, #90, f020005, @SP_EVENT_ACT_FADEOUT--------------死亡動作2 Sprite = Die3, f030001, #5, f030002, f030003, f030004, f030005, #90, f030005, @SP_EVENT_ACT_FADEOUT--------------死亡動作3 Sprite = Die4, f040001, #5, f040002, #90, f040002, @SP_EVENT_ACT_FADEOUT--------------死亡動作4 Sprite = Die5, f050001, #5, f050002, #5, f050003, #5, f050004, #5, f050005, #90, f050005, @SP_EVENT_ACT_FADEOUT--------------死亡動作5 ;Sprite = WalkHorse, --------------乘馬匹移動,看到前面的‘;’吧,所有兵種本條都被屏蔽了,修改時可以無視它了。 Sprite =這是我們修改的重點(diǎn),而它上面的幾項(xiàng)參數(shù)可以不動。把它砸碎了講 Sprite = Wait(動作名稱不可修改), w010001(圖片名稱可以修改,保證它和圖片實(shí)際名稱一直既可), #12(圖片顯示時間), w010002(圖片名稱), w010003, w010004, w010003, w010002------本組動畫是等待動作 Sprite = Die1(動作名稱不可修改), f010001(圖片名稱可以修改,保證它和圖片實(shí)際名稱一直既可), #5(圖片顯示時間), f010002, f010003, f010004, f010005, #90(圖片顯示時間), f010005, @SP_EVENT_ACT_FADEOUT(圖片的行為參數(shù),本條是:事件行為淡出移除,作用對象是它前面的那個圖片;在每個OBD文件開始處都進(jìn)行了這些參數(shù)的定義)-------本組動畫是死亡動作1 注意:1.動畫有兩種結(jié)尾方式,等待動作以圖片名結(jié)尾,所以被調(diào)用后它以循環(huán)方式播放直到調(diào)用其他動作;死亡動作以行為參數(shù)結(jié)尾,所以每次被調(diào)用只播放一次。 注意:2.每組動畫的總時間是固定的,以上兩組動畫為例 Sprite = Wait, w010001, #12, w010002, w010003, w010004, w010003, w010002 等同:Sprite = Wait, w010001, #12, w010002,#12, w010003,#12, w010004,#12, w010003, #12, w010002#12, --這樣寫作用完全一樣,總時間是每個圖片顯示時間之和:12+12+12+12+12+12=72,每個循環(huán)固定#72,時間到#72就從頭再放。 Sprite = Die1, f010001, #5, f010002, f010003, f010004, f010005, #90, f010005, @SP_EVENT_ACT_FADEOUT 等同:Sprite = Die1, f010001, #5, f010002, #5,f010003, #5,f010004, #5,f010005, #90, f010005, @SP_EVENT_ACT_FADEOUT --這樣寫作用完全一樣,總時間是每個圖片顯示時間之和:5+5+5+5+90=110,注意“@SP_EVENT_ACT_FADEOUT”前面的圖片名只是表明參數(shù)作用對象不計時,如果要計時會在參數(shù)后面標(biāo)出, 例如:a010005, @SP_EVENT_ACT_ATTACK, #5(這段參數(shù)是攻擊動作中的一部分) 常見問題和對策(其實(shí)多數(shù)問題都是圖片組數(shù)量不同造成的) 1。尸變。 最常見問題,成因群英7有多組死亡圖片,而OL只有一組 解決辦法:利用OL只有的一組制作Sprite = Die1,然后用Sprite = Die1,逗號后面的內(nèi)容替換另外4組死亡動作。好處:不缺少動作,這樣不論調(diào)用那個死亡動作,看到的效果都一樣,而且不用復(fù)制有關(guān)死亡的圖片。 舉例: Sprite = Die1, f010001, #5, f010002, f010003, f010004, f010005, f010006, #85, f010006, @SP_EVENT_ACT_FADEOUT Sprite = Die2, f010001, #5, f010002, f010003, f010004, f010005, f010006, #85, f010006, @SP_EVENT_ACT_FADEOUT Sprite = Die3, f010001, #5, f010002, f010003, f010004, f010005, f010006, #85, f010006, @SP_EVENT_ACT_FADEOUT Sprite = Die4, f010001, #5, f010002, f010003, f010004, f010005, f010006, #85, f010006, @SP_EVENT_ACT_FADEOUT Sprite = Die5, f010001, #5, f010002, f010003, f010004, f010005, f010006, #85, f010006, @SP_EVENT_ACT_FADEOUT 2。同類動作圖組數(shù)量不同。 注意看上例,OL的死亡動作6張圖,而群英7死亡動作5張圖。所以我利用每組動畫的總時間是固定的特點(diǎn),減少了最后一個圖片(最終落地的那張)的顯示時間,加入了一張圖。 修改前后對比: 原版:Sprite = Die1, f010001, #5, f010002, f010003, f010004, f010005, #90, f010005, @SP_EVENT_ACT_FADEOUT 修改:Sprite = Die1, f010001, #5, f010002, f010003, f010004, f010005, f010006, #85, f010006, @SP_EVENT_ACT_FADEOUT 紅色是修改處 3。多圖,在使用中看到了不該出現(xiàn),和新模型級不協(xié)調(diào)的多余貼圖 如圖

成因在群英7士兵圖組文件夾下有一個cover文件夾其中有一套和士兵圖同名的圖片文件。這套圖片可以現(xiàn)實(shí)成兩個顏色,以區(qū)分戰(zhàn)場上的士兵屬于對戰(zhàn)雙方的那一方。如果新圖組中沒有這組圖片,就會把被替換的原兵種的這組圖片顯示出來,造成多圖。 解決辦法: 1)OL中與cover文件夾對應(yīng)的是_COV文件夾,只要把其中的圖片放到cover文件夾中,并保證和士兵圖組文件夾中的文件一一同名對應(yīng)就行了。 2)如果是OL中沒有_COV文件夾的模型,那就自己建立一個cover文件夾,再用一個空圖片(如常見的s.shp圖)創(chuàng)建一套和士兵圖同名的圖片。 4。陰影問題處理,OL中經(jīng)常沒有陰影文件夾shadow 1).最懶得辦法,不用去管?赡艹龅膯栴}:被替換的原兵種和新兵種體積相去甚遠(yuǎn),或同類動作圖組數(shù)量不同,就會看出影子和人物的不匹配。 2).勤快點(diǎn),自己建立shadow文件夾,選一組和新兵種匹配的陰影文件,注意把數(shù)量名稱調(diào)整到和新兵種圖同名同數(shù)量。 5。圖片偏移(這是從別人哪偷得) 其實(shí)是用OL的素材不存在偏移問題,但還是把解決辦法說一下。 就是用WinHex等編輯內(nèi)碼的軟件解決, 上面這排是橫向移動,下面這排是豎向移動


玩游戲可以在很大程度上讓大家放松放松,但是我建議大家不要把過多的時間投入到工作當(dāng)中,因?yàn)檫@樣的話大家很有可能上癮,這樣不利于大家的工作或者是學(xué)習(xí)。

推薦游戲

換一換