3D地圖拼貼心得之洛克人X8地圖為何難做




我對於電玩遊戲的地圖拼貼很有興趣
因為我認為地圖是呈現世界觀的一個重要因素
有了地圖,可以令人更加地了解這個世界,同時也能做為探索的指引
更有趣的是,若能利用一些特殊的工具,還可以窺探地圖之外的秘密世界
與其同時,做到老外沒有做、甚至不會去做的事情,很有成就感
地圖做到後來,發現2D滿足不了我了,3D似乎更有意思

2010年,在一次偶然的機會下,得知有幾個軟體似乎可以用在拼3D地圖上
分別是3DRipperDX、DXHViewer、Gameassassin
而最後我選擇了3DRipperDX,也一直用到今天
他可以抓到模型,附檔名為3dr,還能抓到貼圖並且自動指定要套用的模型
除此之外還有Shader,但這個我不知道怎用...
在使用限制上,只能抓使用DX9以下的遊戲
使用OpenGL的遊戲如果不能轉到DX9,那就抓不到了
還有匯人3dr的外掛僅支援3DSMAX,不支持我有學過的MAYA
導致當我匯人到3DSMAX後還要再多一道轉檔步驟讓MAYA可以讀
畢竟有學過的會感覺比較好用
然後3DSMAX版本又僅支援到2011,2012以上都不能用
也因此導致作業系統最高只能到WIN7,因為WIN10不支援2011
說真的準備工作還挺麻煩的



第一個拼的3D地圖是X7,因為感覺最好做
但依然手忙腳亂,不知道為什麼3dr匯入後會變形
在這邊調整半天後,才知道匯入時有設定可以選
該圖中,Aspect表示長寬比,POV表示攝影機的位置,選好後就正常
然而,它沒有辦法保證每一次抓到的模型比例都完全一樣
每次抓都一定會有些微的比例與角度上的偏差
而且由於會受到攝影機移動的影響
導致比例是對了,但模型看上去像是有被旋轉過
這個時候,需要自己再測試再轉到何種角度,才能跟前一個模型對齊
雖然後來才發覺有工具可以幫我做到更精準的對齊
但這是好幾年後才發現到的事情...後面再述



當時我只知道MAYA的這個工具可以讓我做到點對點對齊
先確認兩個模型之間有重疊的部分,然後另一模型定義好中心點
再移動到有重疊的地方,刪除重疊部分,調整角度
然而依舊有兩個模型的比例差問題,這我當年實在是沒找到更精確的方法
所以只好將數值點一點地調整亂測
或者乾脆直接算圖,有破綻的部分再用PS修掉,就完美了!



還沒結束,問題依舊接撞而至
部分採用alpha通道的模型3dr無法匯人,因此需要再勾選擷取obj檔的選項
obj檔幾乎可以抓可見範圍的全部模型,雖然還是有一點抓不到
(比如某些舞台的天空,我不知為啥,可能是用shader而非模型呈現)
但其obj檔沒有辦法偵測比例,以及預先指定貼圖
因此雖然模型比較完整,卻比3dr檔還扭曲、一片素色
所以遇到一堆採用alpha通道的模型的地圖時很頭大
有時甚至想說乾脆不要算了
比如X7海洋戰艦上的火焰,我沒有去抓,如上圖
話說帶有alpha通道的圖,能夠顯現透明效果
該通道為灰階,然後以灰階程度決定透明程度
白色為100%不透明,黑色為0%不透明
即使X7是做起來最簡單的一代,依然如此費力



在完成X7後,我緊接著就想挑戰X8,但沒想到很快就讓我投降了
因為X8有個很奇怪的問題:模型匯人後不會指定貼圖!
雖然貼圖也會抓,但彼此之間就是沒有任何連結,材質球都是空的
這時,我打算本著熱血自己重新定義材質球去貼圖
可是模型跟貼圖都超級多,要怎麼知道誰跟誰連結要有很大的想像力
甚至有的貼圖長得很像,可能用錯了還不知道
結果做到至頂圖那個程度就燃燒殆盡了...

(大圖可看這:http://photo.xuite.net/h1236660/3068617/15.jpg/sizes/o/
各位可以看到很多模型依然素色,雖然有些貼圖,比如輸送帶是猜對了
但右邊有一塊很奇怪的花花綠綠貼圖,是我崩潰做不下去的痕跡
選的貼圖很明顯不對,可是我已經不行了
但是,我不甘就這樣死心
我到了3DRipperDX的討論區去查有沒有解決方法
剛好遇到一個會說中文的開發相關人士(可能是華僑?)
他發覺X8在這方面的設計有點特別,說有找到方法會再跟我說
本來以為有希望了,卻沒想到在過幾個月後,作者宣布停止更新,沒說明理由
感覺胸口有如被重重一擊,心想X8地圖難道不可能完成了嗎?
於是,最初的3D地圖製作經驗,就暫時在2010年間結束了



到了2016年,我心血來潮,想製作PSP上的X1重製版
也就是非正規戰警艾克斯(IrregularHunterX,簡稱IHX)的地圖
這一次沒有使用3DRipperDX
有更容易的方法,就是JPCSP內建的模型擷取功能(選哪個在這沒差)
好處是能夠保證模型的比例與攝影機角度完全一樣
沒有像上面製作X7時要一直對老半天還對不齊的問題
但沒想到匯人後發現模型非常零碎
甚至一個模型定義一顆材質球,造成檔案的肥大與管理不易



如圖,每擷取一次地圖,就有上千個模型
連帶導致材質球也有上千個,當時真令我傻眼
所以IHX地圖最花時間的地方在於刪除與重新定義材質球
X7選一個模型就可以選到很大一塊,但IHX零碎到幾乎一個模型一個面
我在想這可不可能是PSP機能的問題?
我猜PSP難以一次讀取一個大塊的模型
所以要將模型給零碎化,讓PSP慢慢讀取這樣
IHX這樣的設計,導致我的MAYA檔(後面簡稱mb)才到40MB時
老電腦就變得很LAG,無法繼續編輯下去,得由新電腦接手
(老電腦規格:E3 1230V2、GTX 770、DDR3 16G)
(新電腦規格:i7 6700K、GTX 1080、DDR4 32G)
但同樣編輯X7地圖時,就算超過100MB,其流暢度依然可接受
模型這麼零碎,實在是個負擔,好在最後我依然克服了他
並且在接下來拼洛克人洛克人時(一樣是PSP上的重製版,簡稱RR)
雖然RR舞台有舊模式與新模式加起來共22關,比IHX還多
但因為有了拼IHX的經驗,再加上RR舞台設計比較方塊
做起來反而快很多(當初在想22關好多,真的要全做嗎...)



在這之後的下一個挑戰,是於GC上發售的EXE高速任務(簡稱TM)
這段時間,其實我也有花點時間再去嘗試X8地圖,但總感覺經驗還是不夠
雖然有嘗試弄一張重力螞蟻的地圖,但沒有繼續做下去
心想X8這麼難拼,晚一點再說好了,TM做為拿來練兵的作品吧
實際上,拼TM地圖得到的經驗,也確實讓我在後來拼X8時有所敢發
TM雖然也是用3DRipperDX去抓模型
但是沒有先前說到的「模型仍有些微誤差」的情況
因為在跑舞台時,攝影機視角是鎖死不動的
而且移動完全採用2D式,沒有Z軸移動的情況
所以只要匯入時都採用同一種設定,即能確保每一個模型比例都一樣
TM遇到的技術問題比較少
就是地圖多達32張,貼圖也超級多,依然費了不少時間
X7不時在2D與3D模式切換
X8很常因主角移動而微調攝影機角度
而且雖然移動上採用2D,但實際上攝影機會配合主角所在而旋轉
比如熊貓舞台噴水池那邊會180度迴轉
八大逆襲那關(Gateway)有個90度拐角等等都是,例子很多
所以沒有辦法說下一個模型的匯入設定跟前一個一樣
硬套用只會變形得更嚴重
除非是軌道電梯雅科布(Jackob)這樣的地圖才能如此偷吃步
各位可以看以下的影片
在要打BOSS前,視角沒有旋轉,只有XY軸的移動




模型都匯入完後,創建一個正方形
然後尋找模型理論上應屬水平/垂直的面
使用Modify>Snap Together Tool指令,讓模型與正方形對齊
然後其他幾面也如此多做幾次後,可確保模型角度是我所要的
這樣的做法,可比以前做X7對齊地圖時一直測角度還要來得精準又不瞎忙



說完模型問題,接著面對的是貼圖問題
上面說到X8模型擷出來後,無法自動指定貼圖,要靠自己亂猜
這點我靠Texmod解決了,但依然有些顛頗
Texmod,顧名思義,就是個可以抓貼圓的軟體
而且它還能夠把所選擇到的貼圖暫時用綠色來代替
使得哪個模型是使用哪個貼圖,有了一目了然的辨別方法
可是...Texmod對PC版X8無法生效,很是納悶
所以我得另外去找PS2模擬器玩X8來抓貼圖,影像設定得還DX9



圖抽出來後還沒完,顏色非常怪異!怎麼回事???
GOOGLE後才知道,這是色版問題
用繪圖軟體把紅與藍色版互相對調,才能呈現人眼所看到的正常顏色
可能PS2遊戲對於色版的定義不同吧?
X8至此,總算各個大問題都解決了,剩下的都是小問題



以上這些技術問題,有的說破不值錢
不過很多解決方法在台灣找不到,所以我很常需要到外國網站去找資料
從這些經驗,讓我了解到擁有技術是個怎麼樣的事情
雖然有的技術可能很簡單
可是要從零到有把它摸索出來,需要費好大的工夫
但這一切都值得,太過容易得到的東西沒有珍惜的價值
這是一份愛的考驗,洛克人系列值得我去這麼做
接下來預定於9月下旬慢慢放上比較大張且精美的X8各關地圖,還請各位期待



熱血燃燒殆盡後,再度浴火重生



>>回洛克人系列地圖集

4 則留言:

  1. 哈哈,我超欣賞你的,很少人會去做這些事情,如果你是一個人在研究的話,那真的很厲害。

    回覆刪除