mugen人物制作教程.doc
32页mugen人物制作教程 part1 通过这么久的学习,大家应 该也知道了一些 mugen 的基本知识那么从这期开始,我们开始大家最关心的人物制作教程! 不过要做一个人物需要的时间和精力比较多,要有一定的心理准备哦~ 诚邀极限流师傅坂崎良作为我们的示范人物,也就是说我这里给大家讲演的就是坂崎良的制作全过程~ 1, 文件结构信息 def 首先我们 先在 chars 目录下建立一个新的目录,目录名 ry o 建几个文件: ryo.def ryo.air ryo.cmd r s 然后编辑 ryo.def [Info] name = "Ryo Sazaki" ;人物全名 displayname = "Ryo" ;人物在游戏中显示的名字 versiondate = 10,29,2002 ;人物最后更新日期(方便版本控制而已,没有什么实际意义) m ugenversion = 04,14,2001 ;人物适应的 mugen 版本 author = "Misamu K Young" ;人物的制作者,当然是署上您自己的大名了! ;pal.def aults = 1 ;默认的色表顺序(由于我们现在还没有做色表,所以先把这段注释掉,mugen 程序的注释的方法就是在前面加";" 号) ; 人物文件列表 [Files] cmd = ryo.cmd ;出招方法及条件 cns = s ;人物定义 st = s ;人物 states stcommon = s ;公用 states sprite = ryo.sff ;图片 anim = ryo.air ;动画编号等 ;sound = ryo.snd ;声音文件,现在暂时不加 先暂时写这些吧,保存。
2,图像信息 sff 然后,我们开始抓图,首先先抓大小头像和站立,前进,转向,后退,跑步,急退等动作 除了大头像不必使用公用色表外,其他图片都需要公用色表(公用色表就是说这些图片的颜色表是一样的抓图以及图片处理在前面的杂志上都有做过详细介绍,不熟悉的的话可以找以前的杂志或者下载电子版查阅这里就不详细说明了,就大概的介绍一下步骤吧 a,使用你习惯的模拟器抓这些图,记得把背景色设为洋红色或其他比较显眼的颜色 b,使用 acdsee 或其他工具将这些 bmp 或png 格式的图片转换成 pcx 格式 c,把一张人物的图片用 paint shop 或 photoshop 打开,转 成 256 色,并把黑色和洋红色位置互掉,然后保存该色表(图片不需要保存) d ,除大头像外其它图片也load 这个色表,保存 图片处理好后,接下来的步骤就是使用mcm 这个工具来制作 sff 文件了 首先加入大小头像. Sff ->Add Sprite ,选图片 ,输入编号,加入. 值得注意的是在加入图片的时候有些要注意的东西,如下图所示 记得在加大头像 9000,1 的时候要把共享色表 ,"Use 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 文件 ;站立动作 [be gin action 0] 0,0,0,0,63 ;前面两个数字是图片在 sff 中的编号,第三个和第四个是相对坐标,最后一个是该帧图片的持续时间 0,1,0,0,13 ;图片的时间可以用模拟器数.或者你偷懒的话 随便写也成,不过感觉可能会有点怪. 0,2,0,0,13 顶 0* 2006-6-8 16:46 * 回复 * * 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 Ac tion 11] 10,1,0,0,1 ;蹲到站的过渡动作 [Begin Action 12] 10,0,0,0,3 ;往前走动作 [Begin Ac tion 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 Ac tion 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 Act ion 105] 101,0,0,0,3 ;疾退空中 [Be gin Action 106] 105,0,0,0,-1 ;疾退着地 [Begin Act ion 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.e cho = 0 ;被KO 的时候,声音是否有回音效果 volume = 0 ;语音音量修正值 power = 4000 ;能量值(默认是 3000,3 段气) Int PersistIndex=0 ;var 参数跨场次变化台阶 F loatPersistIndex=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.bac k = -4.5,-3.8 ;后退速度 jump.neu = 0,-9.62352941;直跳速度 jump.back = -2.55 ;后跳速度 * 2006-6-8 16:46 * 回复 * * BUG 绝缘酷仔 * 7 位粉丝 * 3 楼jump.fwd = 2.5 ;前跳速度 run jump.back = -2.55,-9.62352941;跑步中后跳跃的速度 runjump.fwd = 5,-9.62352941;跑步中前跳跃的速度 ;airjump.neu = 0,-8.1 ;空中直接跳跃速度 ;airj ump.fwd = 2.5,-8.1 ;空中前跳速度 [Movement] airjump.num = 0 ;允许空中2段跳 (0,不允许 ;1 ,允许) airjump.heig ht = 35 ;空中跳跃高度 yacc el = .56862745 ;重力加速度 stand.frictio n = .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 的之间的整数.数字越大越靠前. ;两个图有重合的时候,数字小的会被数字大的遮住. velset = 0,0 ;x 轴和y 轴速度设置 [State 100, 1] ; type = VelSet ;速度设置 trigger1 = 1 ;在该state内的所有时间都需要进行设置 x = const(velocity.run.fwd.x) ;取得前面设置的数字 [State 100, 2] type = AssertSpecial;特别设置 trigger1 = 1 ;在该 state 内的所有时间都需要进行设置 flag = No Walk ;在这里设置这个参数,就不会进入步行的 state. [State 100, 3] type = ChangeState ;state 转换 trigger1 = command != "holdfwd";如果没有一直按住前的按钮 trigge r1 = Time > 12 ;同时需要12 桢之后 value = 101 ;进入刹车 state ;完整的解释:如果没有一直按住往前的按钮在 12 桢之后就进入刹车的 state ;---------------------------------------------。





