RO note / SPR note / actOR改圖實例 >
本文件僅記錄我改浪人的作法供參考,如何應用於別處請自行體會...

前言-文中使用的相關詞彙:

因為actOR區分ACT的方式和XZVF略有不同,所以在這邊另外說明:
XXXXX.act
│
├action 0
││
│├方向1
││├Frame1
│││├SubFrame1
│││└SubFrame2
││├Frame2
│││└SubFrame1
││:  :
│├方向2
││:
│└方向8 
│
├action 1
│├方向1
│: :
│└方向8 
:
:
└action n
動作
(action)
actOR裡的一組動作,可在actOR中從下拉選單選擇,一組動作有八個方向。玩家相關檔案通常有action00~action12十三個動作,怪物則通常有action00~action04五個動作、寵物則多了05~07三個表演動作。
Frame 一個動畫裡的數個靜止畫面(例如走路時的動作有8個frame)
SubFrame 構成一個Frame的零件(玩家角色多半都只有一個subframe,某些如 小巴風特 就有身體和鐮刀兩個subframe)
n個SubFrame構成1個Frame、n個Frame組構成1個動畫、8方向的動畫構成1個動作(action)。(n≧1)關係可圖示如右:

腦內浪人具現化目標:

換掉腐屍膚色和骷髏頭!所有動作加上頭髮!!
不過大部分動作只改了圖,ACT不需改變,需大幅修改的只有死亡動作,所以這裡用死亡動作的修改來當例子。 我想把本來死亡時燒掉的動作改為頭髮散開、吹一陣風消失:

原本的動作
浪人-死亡
想改的動作
腦內浪人-死亡
試著把想像中的動作畫出來的結果。當然在重畫之前並沒有圖片…畫圖的部分需要自己多練習,我功力還不夠所以成品仍然有點怪怪的,不是很順…當然拿別的遊戲圖片改進RO裡的情況就不太需要自己畫圖了。

※參考的怪物:alice(死亡時的頭髮)、zherlthsh(走路時的頭髮)、succubus(死亡時的火花)

原動作使用的SPR零件(21枚)
浪人死亡動畫使用的圖片
想改的動作使用的SPR零件(14+8枚)
腦內浪人死亡動畫使用的圖片
想改的動作用不到那麼多張圖片,所以把它們從ACT和SPR裡刪除,刪除之後再把新圖放進去,組合成新的動作。(建議先刪除ACT裡用到那些圖的FRAME,再刪除SPR裡的圖檔,比較不會出錯。)

實行:

  1. 取得重力社原檔 data/spr/跨蝶攪/wander_man.*。解data.grf的工具請參考首頁表格,我目前使用的工具是pakext

  2. 死亡動作會有較大改變,所以先刪除不使用的frame。
    選定動作和方向 Frame可由選單中選FrameEdit刪除。

    先選定要刪除的動作和方向

    刪除指定的Frame 再到選單中選FrameEdit,checkbox設在erased、輸入要刪除的Frame編號按Apply刪除。

    因為我要砍光所以不用管編號連按Apply就好,最後會只剩下一個Frame砍不了。

    刪完一個方向,再利用選單裡的 ACT(Dir) Copy 把清除好的內容複製到其他七個方向,會比一個一個刪快很多。

    ACT(Dir) Copy這功能非常方便省事,自己玩玩看吧XD

  3. 八個方向的死亡動作都砍完,SAVE ACT,關閉actOR,把改過的ACT配上改過的SPR再用actOR重新開啟。圖片的編輯不是本篇重點所以省略,但是編輯圖片是整個過程中最花時間的。
    改好的ACT跟新作的SPR一起重新開啟

  4. 檢查替換SPR後的各個動作是否正常,圖檔有異動的調整ACT裡的圖檔編號和座標等資料。SPR的圖檔排列和圖檔中心點不要變動太多,盡可能沿用原來的設定會比較輕鬆。

  5. 要新增的SubFrame從下面的圖片List拖上去放,再調整位置。SubFrame會「後來居上」,如果上下關係不對可以直接在數值表中拖拉調整。例如身體就要放在頭下層。
    增加SubFrame 把需要的圖片拖進Preview區新增
    調整新增的SubFrame 在右邊的數值表選定新增的頭部SubFrame之後,頭的圖片會出現紅框框表示可以用滑鼠進行操作,按住滑鼠左鍵移動可調整位置(用鍵盤的Alt - ←→↑↓可以微調)、按住滑鼠右鍵移動可調角度

    也可以直接輸入數值,不過actOR修改表中數值的操作方式是我比較難習慣的地方,進入數值修改狀態是要「點一下之後滑鼠維持一秒不動」而不是點兩下...= =a

    刪除SubFrame 如有需要刪除的SubFrame,選起來按Alt-Delete就可以刪掉了

  6. 要新增的Frame則利用FrameEdit的Copy功能來增加,可以依 改好1→把1複製成2→改好2→複製成3… 的操作依序完成。
    6-1 Frame1
    替換SubFrame
    作到這裡發現死亡動作還要加張頭髮散開的挨打動作,所以參考act03拖拉需要的圖片作一個頭髮散開的挨打動作。

    然後複製一個frame1成frame2

    COPY Frame
    6-2 Frame2
    修改COPY來的frame2,增加跪下的SubFrame並參考站姿位置修正座標,然後刪除站姿的SubFrame。頭改個編號再移動位置...啊!頭跑到身體下層去了,沒關係調整一下SubFrame圖層順序...這樣就完成Frame2了
    編輯Frame2

    (Frame3以下的編輯動作類推)

    6-3 淡出
    alpha 死亡動畫後段s消失的身體靠改變Alhpa度製造淡出效果,這裡用的跪姿圖是另外一張連頭的..因為分開的版本在淡出時會看到脖子=.=|||

    Alpha值除了選定SubFrame直接輸入數值,也可以按Alt-A(+)、Alt-shift-A(-)調整。

    風的效果線就直接參考succubus的動作來加...辛苦這麼久總算完成一個方向了(↓),進入下一步驟之前還得完成三個方向(←↑→),對了 mirror subframe就是改M值為1或者按M,反方向的動作沒辦法直接整個用程式mirror真是辛酸啊~~

  7. RO角色有八種角度,但省工的怪物其實只用兩種角度的圖作出四種角度的動作(↓動作=↙動作、←動作=→動作的鏡像,其他角度類推),所以可以先作好↓←↑→四個方向,再用選單中的 ActionCopy 功能複製到↙↖↗↘方向。
    DirCopy

  8. 動作通通改完,存檔就完成了。怎麼把改好的檔案放到遊戲裡不是本篇重點故省略。

  9. 最後如果要增加寵物動作,用xzvf來增加Action會讓檔案失聲,所以建議用 65Tool 裡的 actCA 來增加action 5~7,詳見「以actCA增加動作」。
用actCA增加的動作是只有1 frame 的空動畫,可以用 Edit Frame -> Copy Frame 視需要來增加Frame數。隨便拿沒有寵物動作的怪物來替換寵物是會當機的,就算沒作寵物動作的圖片也建議先放幾個空動作防當。
附錄: actOR功能索引

actOR方便的熱鍵(Hot Key)很多,而且都列在Menu裡了,請自己把選單拉下出來試試看吧。

Action
	新增(Add): 無法在actOR中直接新增,需使用actCA
	刪除(Del): 無法在actOR中直接刪除
	播放(Play): 點Play鈕依Speed播放/按Alt-2手動跳格/按Alt-1手動倒退播放
	複製(Copy): menu > ACT(dir) Copy

Frame
	新增(Add): menu > Edit Frame >> 選[]frame is copyed after this,在[]中輸入目前選定的action想刪除的frame編號
	刪除(Del): menu > Edit Frame >> 選[]frame is erased,在[]中輸入目前選定的action想刪除的frame編號

SubFrame
	新增(Add): 從Image List拖拉要使用的圖片到Preview區放開
	刪除(Del): 點選要刪除的SubFrame按Alt-Delete
	修改(Edit): 
		移動: 在Preview區用滑鼠移動位置/在Detail table選數值輸入/鍵盤按Alt-→←↑↓微調
		縮放: 在Preview區
		旋轉: 在Preview區按住滑鼠右鍵移動
		透明度: 在資料表輸入16進位數值(00~FF)/Alt-A增加/Alt-Shift-A減少

Image
	新增(Add): 在下方的Image List以滑鼠右鍵點圖片選Add
	刪除(Del): 在下方的Image List以滑鼠右鍵點圖片選Delete
	替換(Replace): 在下方的Image List以滑鼠右鍵點圖片選Replace
	SPR->BMP: 轉存單張可在下方的Image List以滑鼠右鍵點圖片選Write as;全部轉存BMP可從File選單選Save as BMP
	BMP->SPR: 



by Gratia Huang, 2005/03/11

2style.net