mugen人物制作教程 part1 通过这么久的学习,大家应该也知道了一些mugen的基本知识。那么从这期开始,我们开始大家最关心的人物制作教程! 不过要做一个人物需要的时间和精力比较多,要有一定的心理准备哦~ 诚邀极限流师傅坂崎良作为我们的示范人物,也就是说我这里给大家讲演的就是坂崎良的制作全过程~ 1, 文件结构信息 def 首先我们先在chars目录下建立一个新的目录,目录名 ryo。 建几个文件: ryo.def ryo.s 然后编辑ryo.def [Info] name = "Ryo Sazaki" ;人物全名 displayname = "Ryo" ;人物在游戏中显示的名字 versiondate = 10,29,2002 ;人物最后更新日期(方便版本控制而已,没有什么实际意义) mugenversion = 04,14,2001 ;人物适应的mugen版本 author = "Misamu K Young" ;人物的制作者,当然是署上您自己的大名了! ;pal.defaults = 1 ;默认的色表顺序(由于我们现在还没有做色表,所以先把这段注释掉,mugen程序的注释的方法就是在前面加";"号) ; 人物文件列表 [Files] cmd = d ;出招方法及条件 cns = s ;人物定义 st = s ;人物states stcommon = s ;公用states sprite = ryo.sff ;图片 anim = ryo.air ;动画编号等 ;sound = ryo.snd ;声音文件,现在暂时不加 先暂时写这些吧,保存。 2,图像信息 sff 然后,我们开始抓图,首先先抓大小头像和站立,前进,转向,后退,跑步,急退等动作。 除了大头像不必使用公用色表外,其他图片都需要公用色表(公用色表就是说这些图片的颜色表是一样的。)抓图以及图片处理在前面的杂志上都有做过详细介绍,不熟悉的的话可以找以前的杂志或者下载电子版查阅。这里就不详细说明了,就大概的介绍一下步骤吧。 a,使用你习惯的模拟器抓这些图,记得把背景色设为洋红色或其他比较显眼的颜色。 b,使用acde或其他工具将这些bmp或png格式的图片转换成pcx格式。 c,把一
张人物的图片用paint shop 或photoshop 打开,转成256色,并把黑色和洋红色位置互掉,然后保存该色表(图片不需要保存)。 d ,除大头像外其它图片也load这个色表,保存。 图片处理好后,接下来的步骤就是使用mcm这个工具来制作sff文件了。 首先加入大小头像. Sff ->Add Sprite ,选图片,输入编号,加入. 值得注意的是在加入图片的时候有些要注意的东西,如下图所示 记得在加大头像 9000,1的时候要把共享色表 ,"U shared palette" 前面的勾去掉. 小头像编号为9000,0。大头像的编号为9000,1。 然后再加入站立动画, 站立图等其他的图都要对准坐标, 坐标一般设在人物重心处,当然也要考虑图片之间的过渡的平滑. 再来就是转向的图,站立转向的图片编号是5,0 ,蹲下转向的图片编号设为6,0 下
蹲的图片,编号是10,0--10,1 前进的图片,编号是20,0--20,5 同样后退的图片,编号21,0--21,5 跑步和急退的图片,编号100,0-100,5 和105,0 保存该sff为ryo.sff 3,动作定义信息 air 然后我们开始air文件的制作。 用文本编辑器打开air文件。 ;站立动作 [begin action 0] 0,0,0,0,63 ;前面两个数字是图片在sff中的编号,第三个和第四个是相对坐标,最后一个是该帧图片的持续时间。 0,1,0,0,13 ;图片的时间可以用模拟器数.或者你偷懒的话随便写也成,不过感觉可能会有点怪. 0,2,0,0,13
顶
0* 2006-6-8 16:46
* 回复 *
make money
* BUG绝缘酷仔
* 7位粉丝
* 2楼
0,3,0,0,27 0,2,0,0,13 0,1,0,0,13 ;站立转向 [begin action 5] 5,0,0,0,1,H;后面再加一个H表示是关于x轴对称 5,1,0,0,2 5,0,0,0,2, ;蹲下转向 [begin action 6] 6,0,0,0,2,H ;后面再加一个H表示是关于x轴对称 6,0,0,0,4 ;站立到蹲下的过渡动作 [Begin Action 10] 10,0,0,0,1 ;蹲下的动作 [Begin Action 11] 10,1,0,0,1 ;蹲到站的过渡动作 [Begin Action 12] 10,0,0,0,3 ;往前走动作 [Begin Action 20] 20,0,0,0,7 20,1,0,0,7 20,2,0,0,7 20,3,0,0,7 20,4,0,0,7 20,5,0,0,7 ;往后走的动作 [Begin Action 21] 21,0,0,0,7 21,1,0,0,7 21,2,0,0,7 21,3,0,0,7 21,4,0,0,7 21,5,0,0,7 ;跑步 [Begin Action 100] 100,0,0,0,4 100,1,0,0,4 100,2,0,0,4 100,3,0,0,4 100,4,0,0,4 100,5,0,0,4 ;刹车 [Begin Action 101] 101,0,0,0,3 ;疾退预备动作 [Begin Action 105] 101,0,0,0,3 ;疾退空中 [Begin Action 106] 105,0,0,0,-1 ;疾退着地 [Begin Action 107] 101,0,0,0,3 光是写好这些编号还不够,还必须给这些anim画上打击框和被打击框,这里可以借助工具airedit或mcm。 airedit是dos工具,这里也就介绍mcm吧。 选air的目录Air ->load ,把ryo.air读进去.这时候就可以看到ryo的上面的一些动作,点"play"
那个按钮还可以看看效果. 要画clsn2框就得点击clsn2那个按钮,如下图. 按了之后就可以用鼠标在ryo身上画格子了:) 全部图片都画好之后,Air - >Save ,覆盖ryo.air即可. 4,程序定义信息 cns air搞定之后,接下来就是cns了。 首先把下面这些参数抄下去。 ;基本数据 [Data] life = 1000 ;生命值 attack = 100 ;攻击力百分比 defence = 100 ;防御力百分比 fall.defence_up = 50 ;打倒时防御力临时上升的百分比 liedown.time = 12 ;倒地时间 airjuggle = 15 ;空中连击修定值(不建议改) sparkno = 2 ;默认的攻击火花编号 guard.sparkno = 41 ;默认的防御火花编号 KO.echo = 0 ;被KO的时候,声音是否有回音效果 volume = 0 ;语音音量修正值 power = 4000 ;能量值(默认是3000,3段气) IntPersistIndex=0 ;var参数跨场次变化台阶 FloatPersistIndex=40 ;fvar参数跨场次变化台阶 [Size] xscale = 1 ;x轴缩放比例 yscale = 1 ;y轴缩放比例 head.pos = -10,-75 ;头部大概的位置(在某些投技时候有用)choi这些矮个子y轴就应该低些 mid.pos = -12,-40 ;中心大概位置(在某些
投技时候有用) ground.back = 24 ;地面人物宽度(后)陈可汗这些肥肥这些参数就得设大些. ground.front = 22 ;地面人物宽度(前) air.back = 12 ;空中人物宽度(后) air.front = 11 ;空中人物宽度(前) height = 60 ;人物高度 attack.width = 4,4 ;攻击宽度 attack.dist = 160 ;攻击距离 proj.attack.dist = 90 ;飞行道具距离 proj.doscale = 0 ;飞行道具缩放比例 [Velocity] walk.fwd = 2.96078431 ;往前走的速度 walk.back = -2.96078431 ;往后走的速度 run.fwd = 5.66666666, 0;跑步速度 run.back = -4.5,-3.8 ;后退速度 u = 0,-9.62352941;直跳速度 jump.back = -2.55 ;后跳速度
postmaster
* 2006-6-8 16:46
pale blue
* 回复
*
函授本科可以考公务员吗
* BUG绝缘酷仔
* 7位粉丝
* 3楼
jump.fwd = 2.5 ;前跳速度 runjump.back = -2.55,-9.62352941;跑步中后跳跃的速度 runjump.fwd = 5,-9.62352941;跑步中前跳跃的速度 ;u = 0,-8.1 ;空中直接跳跃速度 ;airjump.fwd = 2.5,-8.1 ;空中前跳速度 [Movement] airjump.num = 0 ;允许空中2段跳 (0,不允许 ;1 ,允许) airjump.height = 35 ;空中跳跃高度 yaccel = .56862745 ;重力加速度 stand.friction = .85 ;站立时的摩擦系数 crouch.friction = .82 ;蹲下中的摩擦系数 ;再来就是写跑步的语法 ;跑步 [Statedef 100] ;定义跑步的state号 type = S ;角色的状态为S(站立),状态还可以为C(蹲下), A (空中),L(躺在地上) . ;还有就是U( 维持前一个State的状态).这里设为S应该不难理解吧. physics = S ;角色的受力环境为 S(站立) .还可以为C (蹲下),A(空中),N (没有任何受力环境) ;不理解的话就举个例,比如S就有摩擦系
数,A就有重力加速度等. anim = 100 ;对应的图片编号. sprpriority = 1 ;图层编号.可选 -5 到 5的之间的整数.数字越大越靠前. ;两个图有重合的时候,数字小的会被数字大的遮住. velt = 0,0 ;x 轴和y轴速度设置 [State 100, 1] ; type = VelSet ;速度设置 trigger1 = 1 ;在该state内的所有时间都需要进行设置 x = const(velocity.run.fwd.x) ;取得前面设置的数字 [State 100, 2] type = AsrtSpecial;特别设置 trigger1 = 1 ;在该state内的所有时间都需要进行设置 flag = NoWalk ;在这里设置这个参数,就不会进入步行的state. [State 100, 3] type = ChangeState ;state转换 trigger1 = command != "holdfwd";如果没有一直按住前的按钮 trigger1 = Time > 12 ;同时需要12桢之后 value = 101 ;进入刹车 state ;完整的解释:如果没有一直按住往前的按钮在12桢之后就进入刹车的state ;--------------------------------------------------------------------------- ; 跑步中止(刹车) [Statedef 101] type = S physics = S anim = 101 velt = 0 [State 101, 1] type = ChangeState trigger1 = AnimTime = 0 ;101动画执行完后 value = 0 ;进入待机的state ctrl = 1 ;同时把控制权交回 ;疾退 [Statedef 105] type = S physics = S anim = 105 velt = 0 ctrl = 0 [State 105, 1] type = ChangeState trigger1 = AnimTime = 0 value = 106 [State
def 106] type = A physics = N anim = 106 [State 106, 1] type = VelSet trigger1 = Time = 0 x = -8 y = -3.5 [State 106, 2] type = VelAdd trigger1 = Time > 0 x =.3 y =.45 [State 106, 3] type = ChangeState trigger1 = Vel Y > 0 trigger1 = Pos Y >= 0 value = 107 [Statedef 107] type = S physics = S anim = 10
7 velt = 0,0 [State 107, 1] type = PosSet trigger1 = Time = 0 y = 0 [State 106, 3] type = MakeDust ;制造灰尘 trigger1 = Time = 2 ;时间为第二桢 pos = -5,-2 ;位置是-5,-2 [State 107, 3] type = ChangeState ;在动画执行完后回到待机的state,同时把控制权交回 trigger1 = AnimTime = 0 value = 0 ctrl = 1
* 2006-6-8 16:46
* 回复 *
* BUG绝缘酷仔
* 7位粉丝
* 4楼
5,控制定义信息 然后抄这些到cmd文件中 ;-| Double Tap |----------------------------------------------------------- [Command] name = "FF" ;Required (do not remove) 前跑 command = F, F time = 10 [Command] name = "BB" ;Required (do not remove) 疾退 command = B, B time = 10 ;-| 2/3 Button Combination |----------------------------------------------- [Command] name = "call" command = y+a time = 1 [Command] name = "recovery";Required (do not remove) command = x+y time = 1 [Command] name = "c" com
mand = y+b time = 1 [Command] name = "z" command = a+x time = 1 ;-| Dir + Button |--------------------------------------------------------- [Command] name = "down_x" command = /$D,x time = 1 [Command] name = "down_y" command = /$D,y time = 1 [Command] name = "down_z" command = /$D,z time = 1 [Command] name = "fwd_a" command = /F,a time = 1 [Command] name = "fwd_b" command = /F,b time = 1 [Command] name = "fwd_c" command = /F,c time = 1 [Command] name = "fwd_x" command = /F,x time = 1 [Command] name = "fwd_y" command = /F,y time = 1 [Command] name = "fwd_z" command = /F,z time = 1 [Command] name = "back_a" command = /B,a time = 1 [Command] name = "back_b" command = /B,b time = 1 [Command] name = "back_c" command = /B,c time = 1 [Command] name = "back_x" command = /B,x time = 1 [Command] name = "back_y" command = /B,y time = 1 [Command] name = "back_z" command = /B,z time = 1 [Command] name = "fd_x" command = /DF,x time = 1 [Command] name = "fd_a" command = /DF,a time = 1 [Command] name = "down_a" command = /$D,a time = 1 [Command] name = "down_b" command = /$D,b time = 1 [Command] name = "down_c" command = /$D,c time = 1 ;-| Single Button |--------------------------------------------------------- [Command] name = "hold_x" command = /$x time = 1 [Command] name = "hold_y" command = /$y time = 1 [Command] name = "hold_z" command = /$z time = 1 [Command] name = "hold_a" command = /$a time = 1 [Command] name = "hold_b" command = /$b time = 1 [Command] name = "hold_c" command = /$c time = 1 [Command] name = "hold_s" comma
nd = /$s time = 1 [Command] name = "a" command = a time = 1 [Command] name = "b" command = b time = 1 [Command] name = "c" command = c time = 1 [Command] name = "x" command = x time = 1 [Command] name = "y" command = y time = 1 [Command] name
= "z" command = z time = 1 [Command] name = "s" command = s time = 1 ;-| Hold Dir |-------------------------------------------------------------- [Command] name = "holdfwd";Required (do not remove) command = /$F time = 1 [Command] name = "holdback";Required (do not remove) command = /$B time = 1 [Command] name = "holdup" ;Required (do not remove) command = /$U time = 1 [Command] name = "holddown";Required (do not remove) command = /$D time = 1 ;--------------------------------------------------------------------------- [Statedef -1] ;--------------------------------------------------------------------------- ;前跑 [State -1, Run Fwd] type = ChangeState ;state跳转 value = 100 ;跳到state 100 trigger1 = command = "FF" ;如果按了前前这个出招 trigger1 = statetype = S ;同时状态为站立 trigger1 = ctrl ;而且可以是可控制状态 ;后跳 [State -1] type = ChangeState ;state跳转 value = 105 ;跳到state 105 trigger1 = command = "BB" ;如果按了疾退的出招 trigger1 = statetype = S ;同时状态为站立 trigger1 = ctrl = 1 ;而且可以是可控制状态 嗯,之后就可以试着运行一下. 嘿嘿,至少可以有站立,蹲下走和跑等动作了吧! 篇幅有限其他的之后再讲了~ 示范人物下载
mugen人物制作教程
enews
*
* 拳皇百宝箱
* 20位粉丝
* 1楼
如果你是一个新手,我相信这篇教程还是对你有一定帮助的,如果
你是个高手,那么.....同样欢迎收看,请多多指出我对一些定义或概
念的理解错误,也算是对我的帮助。
对于MUGEN的制作人物嘛,我认为分以下部分,我就是按照这个排列顺序
编写的,中间有大量说名与代码,争取做到大家看完了能......作出一南金东箭
kilometer怎么读>广州西点培训学校个人物来.也算是提高MUGEN的知名度把,呵呵~~~~
好了,废话到此结束!
ethical
我还要说一说,在做人物之前需要抓图,着一部分MUGENCHINA上有
/
还有,ACT\SFF也得自己动手,MUGENCHINA上也有,其它的么....
都有我写在下面了,这里再次声明,由于是一个人编写,实在难免有错误
况且是一天写的...........
目前嘛,学习MUGEN就先从DEF部分开始把~~~~~~
1.DEF部分
1.1简介
burnish
所谓DEF,就是DEFINITION的缩写,是定义的意思,它的作用很大,规定了
MUGEN人物的相关文件都是什么,可以说就是一个文件列表啊,明白了
么??
1.2用法
下面看一个人物的DEF
;人物基本信息档
[Info] ;人物信息
name="freeze2" ;人物名称
DisplayName="Freeza" ;显示名称
author = "admin&Vision" ;制做者
pal.defaults = 1,2 ;默认色版
[Files] ;人物文件
cmd = d ;CMD文件
cns = s ;CNS文件
sprite = freeza.sff ;SFF文档资料
anim = freeza.air ;AIR文档资料
sound = freeza.snd ;SND
pal1 = freeza.act ;人物色版文件,注意:可以有12个,使用PHOTOSHOP制作.
pal2 = freeza2.act
pal3 = freeza3.act
pal4 = freeza4.act
需要注意的是,AIR,SFF可以使用MCM2.0