M.U.G.E.N, Elecbyte (c)2001
2001.4.30更新
如果你要做一个MUGEN的人物,你必须对人物工作的每一部分具有良好的理解力。因为直接跳到技术文件去看容易搞糊涂,我们写了这篇文章来帮助你起步。获得进一步理解后,你应该多参考技术文件。在第一次做人物的时候你很容易会迷惑及在某处卡住。但是正如其他事一样,once you know the basics it becomes easier and faster to make progress.
最后一句话有点像格言,所以我就不翻译了,自己体会更好:-)
技术文件就是docs目录下的文件,现在方可正在翻trigger.txt中。
在这份教程中你会学到如何只做一个人物的色表,以及如何将其加入到你的图片中去。同时,你会看到如何做一个简单的动画。在本教程的第二部分中,你可以看到设定人物范围筐的内容。第三第四部分将定义一个简单的攻击。这里要用的工具有sprmaker、AirEditor和一个制绘图的工具如PhotoShop或PaintShop Pro。当然也必须有文本编辑工具如EDIT或Notepad。
熟悉格斗游戏的各位一定知道在游戏中人物有多个色表(Pattern),Mugen人物的图片文件中有一个公共色表,此外还可以制作1至12个色表供使用。
图片(Sprite)和动画(Animation
Action)的定义,请看我之前翻译的Air部分。
我们假定你有基本的文本处理、图像处理、游戏概念和操作命令行(MS-DOS)的能力。如果你尚不具备,建议你看点初学者的书籍或网站。如果你有一些程序语言的功底的话,你就会觉得更好理解了。好吧,现在开始。
…………说这是什么意思?不过这就说明,Mugen制作是不难学的,大家一起开始吧!
属于人物的图片都必须是256-色的pcx文件。每张图片都必须使用相同的256-色色表才能在游戏里正常显示。假如你有Photoshop的使用经验。接下来的部分就简单了。假定你最初得到的是真彩图(Photoshop里叫RGB图)。
当把图转成256-色时(Indexed Color),大部分绘图工具会根据不同的图的颜色做出不同的色表。所以接下来将揭示如何做一个标准色表,以及怎样加入到每张图去……
用Photoshop,选择Image->Mode->Indexed Color。
接着就弹出一个窗口。在这个窗口中,设定色表为Exact。如果你使用Photoshop 5后更高,还不要选OK。 在早期版本的Photoshop里,单击OK,然后转换到RGB(Image->Mode->RGB Color),再次按Image->Mode->Indexed Color。
现在,在这个下卷表里选择Custom调出Color Table窗口。下一步是确定图片中的背景色是颜色索引表里的0号色(我们称之为"color 0")。在MUGEN中,color 0是屏蔽色。这意味图片中所有color 0的部分都不会被画出来。
|
| 索引0的颜色总是背景色。实际的颜色(不是索引值)随你决定。 |
在photoshop的color table编辑窗口,设定右下方的颜色(在Photoshop里这就是Color 0)必须是图片的背景色。你还必须确定color 0是该色表中唯一的颜色,(意思是说色表里没有另外一个颜色和它的值是一样的) 否则Photoshop不能正确设定色表。要这样做, 你可以把原来在color 0位置上的颜色放到本来背景色在的地方(事实上就是互换两个颜色的位置)。
|
|
| 错误的色表,背景色 (本例中是白色) 在左上角。 | 正确的色表。 |
|
|
| 错误色表的结果。 | 正确色表的结果。 |
单击Save保存此色表(现在把本教程中的例子称为player.act)。点击OK将此色表加给图片,然后保存该文件为.pcx文件。
下一步就是要将所有其它的图片换成你刚才建立的色表(player.act)。你可以采取以下步骤:
如果有大量文件需转换,可以使用我们站点的PcxClean工具。它提供了批量给pcx文件赋色表的功能。可以从此处得到:
http://www.elecbyte.com/tools/
色表设计是制作图片初期很重要的一环。虽然MUGEN允许你对每张图使用最多255色。一个色表设计良好的人物不需要用到索引中的所有值。使用有限数量的颜色不仅降低.pcx文件的大小,而且方便今后制作替换色表(不同的颜色配置)。单元图片美术(Cel sprite art)在像素层次上的手绘,用少量的颜色(16 to 32)会更容易。采用颜色多的色表还容易乏味。另一方面,采用多颜色的预作图片看起来确实更好看一点,也要花费额外工作。在你画人物图的时候请记住以上几点。
金玉良言。也可以看出Elecbyte是提倡原画的。
在PSP5里, 选择colors->decrease color depth->8bit(256)。选定Optimized Octree和Nearest color作为减色方法。你还要设定其他选项以取得最好效果。现在编辑色表(colors->edit palette)然后将color 0(左上角)和背景色互换位置。最后,保存色表在对其进行PcxClean包(在我们general tools页面)里的pal2act.exe处理。现在就可以用PcxClean为你的其它图片添上色表,或者手动对余下图片进行色表处理。
PSP的用户要注意“左上角”啊,看着PhotoShop做法一步步做下来的可能要大呼上当了。
PSP不能保存色表为Mugen用的ACT文件,只能保存为PAL文件。pal2act.exe是专门转换的。PAL有一个好处是它是文本文件(为什么是好处自己体会吧)。注意PAL有两种,不要选MicroSoft的,应选择Jasc的。正式制作是一般都是做十几张就看效果的,因此一般不会用到PcxClean来处理,手动处理就可以了。(快捷键Shift+O)
到chars/目录下为人物建立一个新目录。例如,让我们叫这个人物为"Player"(可以把"player"换成任何你想叫的名字)。本例中就是,建立一个目录叫chars/player。将sprmaker和其它MUGEN tools放在与mugen.exe同一目录。
在chars/player目录下要有这些:
player.air player.cmd player.cns player.def player.sff player.snd player.act
要知道这些文件各是什么?请阅读overview.txt,它在M.U.G.E.N包里的docs/目录。
在这篇教程里,你将制作player.sff,图片文件。
你可以全从自己打草稿开始……或者,你也可以用我们提供的示例Kung
Fu Man开始。我们也提供了KFM的 工程文件在我们MUGEN网站的developer's section。解开KFM的工程文件到你MUGEN目录下的work/kfm/目录。
第一步是将这些文件改名覆盖你要做的人物。假设你的目录是"player",这就是你要做的复制:
chars/kfm/kfm.air -> chars/player/player.air chars/kfm/kfm.cns -> chars/player/player.cns chars/kfm/kfm.cmd -> chars/player/player.cmd chars/kfm/kfm.def -> chars/player/player.def
这些是什么文件?这几个文件都是文本格式,你可以在MS-DOS EDIT或Windows WordPad中加以编辑。这里是这些文件的列表,它们是什么,以及对应的技术文件档案。
上述的三个txt文件,请看本站另一篇翻译。
要设定你的人物的基本信息,用文本编辑器打开player.def。将这些项改为适当的值。例如:
; 人物信息 [Info] name = "Player" ;人物的名字 displayname = "My Player" ;人物用于显示的名字 versiondate = 04,14,2001 ;人物的版本日期 mugenversion = 04,14,2001 ;人物能工作的M.U.G.E.N版本 author = "Yourname" ;人物作者的名字 pal.defaults = 1 ;色表顺序的默认值 ; 人物的文件 [Files] cmd = player.cmd ;指令设置文件 cns = player.cns ;人物参数文件 st = player.cns ;状态控制文件 stcommon = common1.cns ;公用状态控制文件 sprite = player.sff ;图像文件 anim = player.air ;动画文件 sound = ;声音文件(如没有就留空) *** 现在就留空 *** pal1 = player.act ;色表文件 (最多设置12个) ;*** 没有其他色表就不用写了,否则还有:*** ;*** pal2 = playerX.act等等 *** ; 街机模式 [Arcade] intro.storyboard = ;出场故事 *** 现在就留空 *** ending.storyboard = ;结束故事 *** 现在就留空 *** |
已经写好一个文件了,高兴吧,哈哈……
现在我们制作player.sff,人物的图片文件。假定你已经明白动画的意思了。如果你已经有了你要用的图片,把它们准备好。我们说站立的图片分别为stand00.pcx到stand03.pcx并在work/player/目录。现在,在work/player/目录里建立一个文本文件叫player.txt(当然也可以起其它名字)。这里是你要用的该文件的开头(注释行以分号开头)。
;操作符 (这三行暂时别管) # 1 2 ;接下来是文件名。这是sprmaker用来制作的文件。 chars/player/player.sff ;---------------- ;你的图片文件名 work/player/stand00.pcx ;接下来两行是组号和图片号。 ;可以在.air文件里看到这两个数字。 0 0 ;X和Y坐标,你必须为你的图片调整这两个数字。 17 105 work/player/stand01.pcx 0 1 17 105 work/player/stand02.pcx 0 2 17 105 work/player/stand03.pcx 0 3 17 105 ; 文件结尾 |
关于sprmaker详细的操作,看MUGEN工具包带来的mtools.txt文件。请你先看过以后再继续本教程。
每张图片的组号和图片号被用在.air(动画)文件里。这对数字是图片的代号。例如stand02.pcx表示为0,2。
组号0的被用作站立动作。待会你可以参考AIR docs了解其它推荐使用的动画号。这定义的图片号正好是特殊的组号。图片的X和Y坐标要你自己调整。地面的图片帧,通常都在图片的底部中央。空中的图片,坐标一般在如果人物站着脚该在的地方,通常在人物下方中间。你可以检查KFM的图片,运行MUGEN然后在使用时按Ctrl-C,就会显示该人物的范围筐和坐标。下面是一些坐标点。
|
|
关于定坐标的问题,因为人物的动作是连贯的,因此可以用定好的图来参照。地面上的动作,着力的那只脚应该是不动的。而空中则以人物腰部为定点参照。当然有一些动作不是这样,可以具体改动。这样一来人物的站立(0)和跳跃(41)的图就是很重要的了。站立图要注意这种情况:因为表示层次感,人物的两只脚底高度不同,这时Y坐标轴线要以里面那只脚对齐,也就是高的那只脚。
坐标的位置是很重要的,如果图片之间很明显的不对齐,你会注意到动画来回“跳动”。如果有更大的错误,图片会显示在完全不对的地方。
一旦你有了player.txt,到放置mugen.exe和sprmaker.exe等的目录。在命令行下键入以下一行来制作player.sff:
sprmaker < work\player\player.txt
如果发生错误或player.sff没有被建立,就在文本文件中寻找错误。
这里说的是用SprMaker的方法,但是现在有更好的工具Mugen
Character Maker(MCM)。MCM不是Elecbtye的作品,但是直观而方便,基本上现在都用MCM。本节的方法也可成为一种有效的辅助方法。有关MCM的用法,请看本站的其他教程。
OK,现在player.sff里有了人物的站立图片,是让它动起来的时候了。要做站立动画,你要为它做一个action(action指描述一组顺序要显示的图片的文字块)。以文本编辑工具打开player.air,准备添加站立动画。如果你的player.air是复制自kfm.air,你可以很简单的编辑相应的动画组(action 0为站立动画)。
该做player.air了。如果你读过AIR docs,你会知道.air的格式是:
组号,图片号,X偏移,Y偏移,显示帧数,[选项]
现在不必管有关Clsn2和Clsn2Default的行。
; 站立动画 [Begin Action 0] ;Action 0是站立动画 Clsn2Default: 2 Clsn2[0] = -10, 0, 10,-79 Clsn2[1] = -4,-92, 6,-79 0,3, 0,0, 7 ;上一行意味使用图片(0,3)(也就是说,组号为0图片号为3的图片)并且 ;显示7个游戏tick。一个游戏tick为1/60秒,故60个ticks为1秒。组号 ;为0图片号为3是stand03.pcx。 0,2, 0,0, 7 0,1, 0,0, 7 0,0, 0,0, 7 0,1, 0,0, 7 0,2, 0,0, 7 ;文件结尾 |
好,保存文件你就可以看人物的动作结果了。
上述所有文件各就各位后,你可以在命令行下这样启动你的MUGEN:
mugen player player
这是打开对战模式的快捷启动。现在你还不必担心屏幕顶端的那些错误信息。错误信息适当人物有错误或遗漏时的信号。在这里,你的人物肯定还缺少图片和动画。
如果发现你的人物过高了,即还浮于地面上方,你要将坐标再提高一点。注意人物在地面时坐标Y轴要正在地面上。类似的,要是人物太靠前了,就要把坐标往右移。只要把所有图片的坐标对正确了,在播动画时你的人物就不会突然滑动或来回乱抖了。
如果不小心进入不存在的图片组号+图片号,就什么也不会画出来。所以如果看到人物闪烁,就要返回检查.air文件看看相应号码的图片是否在.sff文件里已建立好。
做完站立动作后,可以接着做走路,然后是跳。既然你已经知道了做图片和动作的基本方法,就可以接着做spr.txt中提到的其他基本图片和AIR docs中“保留动作号”部分提到的基本动作。要是你都做了,屏幕上方的错误信息就都会消失了。
在教程的第二部分里,你将定义人物的范围筐(即撞击判定块)来造成被击和攻击对方。最后,还要展示如何定义.cns文件里的一些攻击。
接着是 Tutorial
Part 2
本文出自 Mugen
China
本文原件在 Elecbyte