幽游白书-魔强统一战 制作要点分析[不可能一次写完,后续更新]
2dfm吧
全部回复
仅看楼主
level 12
厉风 楼主
[摇晃]
第一部分:系统概述
幽游白书-魔强统一战(下简称 幽)基本系统由如下要点:
1---换线系统:制作思路类似变身(可参考变身制作教程),换线前后两线人物招式拥有尺寸大小不同的两套相同动作的动画,但攻防区域实际位置如下:
外线可看作默认正常模式,攻防区域可以和人物图片位置相同。内线可看作变身模式,攻防区域制作之初可以和人物图片位置相同,制作完成后下移1000座标单位(由于场景最高960单位,所以下移1000可以保证和默认模式的攻防区域不能互相攻击),符合 幽 的不同线人物不能相互攻击的规则。
2---攻击相抵:有人说这个叫相杀,是搞错概念了,相杀是互相打中且都受伤。攻击相抵则是攻击区域相撞,互相都不受伤。2dfm制作这个有天然条件,mugen无法轻易制作此效果。
3---主动转身+按键防御:2dfm中的按键防御模式就是主动转身的,所以也是天然达成效果。mugen无法制作此类效果,主动转身很难模拟出来,而且按后防御是不能屏蔽的。此外 幽 没有空中防御,mugen也无法完美屏蔽空中防御,2dfm则有专门功能直接屏蔽空中防御。
楼下继续

2011年06月18日 04点06分 1
level 10
我擦 这个必须要顶啊 风太V5太87太牛X了[Yeah][大笑]
2011年06月18日 05点06分 2
level 12
厉风 楼主
4---0血防御不死:所有必杀技(可蹭血)的蹭血效果都用脚本制作,人物通常状态下不具有画面外特定位置的被抓属性区域,只有血见底时才出现(可以用[血]脚本判定),而所有蹭血招式都在该特定位置有一个额外攻击区域,平时这个攻击区域无用,当对方血量见底时,特殊被抓属性区域出现,攻击方通过[招]判定那个额外攻击区域攻击到被抓属性区域,屏蔽蹭血功能的脚本,于是人物0血时防御可以不死。
5---二阶跳:参看二阶跳范本游戏或相关教程即可制作,无难度
6---防御中主动转身:在“防御成功”系列招式中添加[动],设置当玩家按后时切换为反向的动画(反向防御的动画需要另外做一套),反向防御动画中也设置[动]允许转向回到原来的防御动画,实现防御中任何时刻的自由转身。
7---后换线的一方换线速度加快:实际上制作两套换线动作,一套快,一套慢。制作换线的预备动作(极其短暂的蹲预备姿态),该动作中在画面外特定位置存在一个攻击区域,而已经处于慢换线状态的人物的换线腾空招式中时刻存在一个被抓属性区域,位置和上述画面外的攻击区域相同,当一方已经进入慢换线腾空动作时,后换线的一方的这个特殊攻击区域就会击中腾空者的被抓属性区域,通过[招]判断被抓属性命中,于是后换线者的预备动作结束立即跳转到事先做好的快速换线动作,从而实现后发先至。
楼下继续

2011年06月18日 05点06分 3
level 12
厉风 楼主
待续[汗]
2011年06月18日 06点06分 6
level 12
厉风 楼主
[大笑]无吗萌葛内
2011年06月18日 06点06分 7
level 12
厉风 楼主
第二部分预告:各角色特殊难点制作
2011年06月18日 06点06分 8
level 7
这般深入详细,YUYU控的福音啊,稍后一定要细细研读。
力顶,期待个多同人的实战好文。
2011年06月18日 11点06分 9
level 10
哈哈哈哈哈~~~呐哒呐哒嘚内[大笑]
2011年06月18日 13点06分 10
level 12
厉风 楼主
11----攻击火花:由于我们要制作强度分级的攻击相抵,所以攻击火花可能会出现在画面外,这就需要给攻击火花动画添加脚本来判断其y坐标,根据其坐标所属范围来让火花图形瞬间移动特定距离,以便将其显示在画面内,例如下图中画面(黑框)外第一行的攻防区都比画面内攻防区向下移动了1000单位坐标,他们攻击相抵或者命中出现的火花都在画面外,但我们让火花判断自己的y坐标,火花判断发现自己y坐标是大于0小于1001的,所以它自动上移1000单位,就出现于画面内正确位置了。
画面外第二行攻防区域都比画面内正常攻防区位置下移2000单位,所以火花应上移2000单位。
12---按键蓄气:幽 有按住攻击键蓄气的系统,该系统可以看作是按住攻击键蓄力发射灵丸的简化版本,只不过每个人物都要做。因此对于有按住攻击键蓄力发射灵丸功能的人物,请注意对灵丸和普通蓄气设置不同的标志变量值。
以上所有功能所使用的攻防范围和变量,都不能冲突(冲突就是不同功能使用了相同的管理号的攻防区或者相同变量,或者不同功能的攻防区域占据了画面外同一片区域,每片区域的高度为1000,以此标准划分区域,不同功能的攻防区应该处于画面外不同区域内)

2011年06月19日 08点06分 11
level 12
厉风 楼主
13---击中角落敌人后被推开时蹲着转身滑向敌人:
幽 中的所有人物被同一强度(轻或重)的攻击后后退速度都是一样的,所以如果我们击中在角落里的敌人,被敌人推开的速度也是这个速度。
那么,如果我用轻击打中敌人,敌人将我推开,我被推开的速度一定等于敌人被轻击击中后的受伤反应的后退速度。
我可以设置在攻击命中后,检测命中瞬间我的人物的x坐标是否在角落附近的一定范围内(不在这个范围说明我不是在角落打中敌人,这个范围应该是从“场地边缘坐标+中等敌人的宽度”到“场地边缘坐标+中等敌人的宽度+我的角色宽度的1.5倍”),如果我的人物的x坐标在这个限度内,就跳转到专门事先做好的本攻击招式攻击命中后的动画去。
在那个动画里,攻击结束之前的一瞬间有一个[令]的脚本来检测玩家是否输入了后下这个指令,如果输入了这个指令就跳转到事先做好的背对敌人蹲着滑向敌人的动画去。
背对敌人蹲着滑向敌人的动画的滑行速度应该是敌人被轻击后退的速度的-2倍,这样既能让我方抵消本来存在的后退速度,又能完美模仿反向滑行。
在这个滑行动画中各个[图](每个的停留时间为2)之前添加[令]设置当玩家按下 前下 指令时,跳转到默认黑体字的“蹲着”招式去,由于我们把“蹲着”招式动画做的时间特别短,因此实际上人物迅速恢复自由,玩家就可以自由攻击敌人了。
这个功能主要用于模仿 幽 的滑行bug效果,以便实现背向滑行的连击。
当我方用重攻击打中敌人时,应该制作一个重攻击使用的攻击命中后动作以及一个重攻击专用的逆向滑行招式。击倒对手时也应该制作与敌人向后飞落速度相匹配的逆向滑行招式。

2011年06月19日 11点06分 12
level 12
厉风 楼主
第二部分:各角色特殊难点制作
以上都是幽游白书所有人物通用的一些系统的制作,下面介绍的是每个人物独特的制作难点。
1---浦饭幽助:22A或B或C的 散弹勾拳 中按A或B或C可增加钩拳次数。
首先,按照次数最大状态的 散弹钩拳 制作出完整招式。
这个招式在原著MD游戏中的特点是,前2拳是不变的,我们象征性地写出这个招式的脚本如下:
{第1拳}[图1]{第2拳}[图2][跳(至默认第3拳)]{玩家按攻击键发出的第3拳}[图3][跳(至槽)]{第4拳}[图4][跳(至槽)]{第5拳}[图5][跳(至槽)]{第6拳}[图6][跳(至槽)]{第7拳}[图7][跳(至槽)]{默认的第3拳}[槽]{收招动作}[完]
分析一下:[图1]是第一拳结束动作的图片,但停留时间只有2(很短),[图n]就是第n拳的结束动作。这7个[图]是为了添加[令]预留的。
这样写好的招式,实际上只能发出前两拳和默认的第三拳,因为我们在[图2]之后就跳到默认的第三拳去了,之后就结束了。[槽]是重要的占位脚本,因为玩家发出的3~7每一拳结束都默认跳转到它结束 散弹钩拳。
现在我们给每个[图n]之前添加一个[令],检测玩家输入攻击键进行跳转。
脚本变成:
{第1拳}[图1]{第2拳}[令(至玩家发出的第3拳)][图2][跳(至默认第3拳)]{玩家按攻击键发出的第3拳}[令(至第4拳)][图3][跳(至槽)]{第4拳}[令(至第5拳)][图4][跳(至槽)]{第5拳}[令(至第6拳)][图5][跳(至槽)]{第6拳}[令(至第7拳)][图6][跳(至槽)]{第7拳}[图7][跳(至槽)]{默认的第3拳}[槽]{收招动作}[完]
可见,当玩家在[图2]之前输入攻击键,就会跳转到玩家发出的第三拳去。
玩家在[图2]之前没有输入攻击键,就会跳转到默认的第三拳。
玩家在[图3]之前输入攻击键,就会跳转到第4拳去。
玩家在[图3]之前没有输入攻击键,就会跳转到[槽]去。
玩家在[图4]之前输入攻击键,就会跳转到第5拳去。
玩家在[图4]之前没有输入攻击键,就会跳转到[槽]去。
。。。。
当玩家可以在每一拳末尾的[图n]之前输入攻击键,就能顺利发出下一拳,否则本招到此为止,进入收招动作(钩拳的静立姿态)。

2011年06月19日 11点06分 13
level 12
厉风 楼主
语音(不准确,仅供参考)
浦莱温替-浦饭幽助
欧哈乌拉乌拉-百裂拳时的喊声
度哈-冲拳时的喊声
灵丸-灵丸
首苏拉-散弹钩拳
罗姆拉-桑原和真
俄阿-空间刃时的喊声
喀-挑衅
胡恰-胜利
库拉玛-藏马
赫-胜利
柳由丹森-灵狐冲击
陈海-幻海
灵丸-灵丸
灵枯玛-散弹灵丸
灵枯Q憨休-灵光镜反冲
业乙-飞影
以撒斯口Q林哈-黑龙波
酎-酎
呼呀-喊声
阵-阵
恰tey突肯-旋风拳
打居tey黑突肯-二连旋风拳
打渠都很-疾风旋转
以弃-树
三虽-仙水
抵究肯-烈蹴踢
抵究侯Q哈-烈焰红球波
投ki娄偶都桑-户愚吕(兄)
伊嘿嘿嘿-挑衅
破俄dey东-续关时放弃
投ki娄偶阿尼-户愚吕(弟)
咳-攻击喊声
呣-攻击喊声
呣hemhemhem-手指弹
咳啊-**咆哮
卡珀西娄加pong-**百分百冲击

2011年06月19日 13点06分 14
level 10
貌似图挂了两张。。。
2011年06月19日 14点06分 15
level 12
厉风 楼主
我这看着图都健在[汗]
补充桑原的喊声:
偶里哇--重攻击喊声
灵星-灵气剑
[大笑]
2011年06月20日 03点06分 16
level 12
厉风 楼主
2---桑原和真:
这个人物唯一的制作难点就是空间刀不能跑到画面外面去。理论上的制作方法是:
如果你有《斗魂》的功能模块,那么其中就有减法模块,你可以用这个模块来随时比较两个变量的取值的大小,我们把镜头坐标代给一个变量A,然后把飞镖的坐标代给变量B,用减法模块可以得到AB之间的差值,将这个差值代入能根据变量取值自动设置速度的模块,就可以让飞镖瞬间获得合适的速度,在1/100秒内移动到画面边缘的位置。
这只是个原理,实际制作中,我们要让飞镖移动到靠近画面边缘的某个位置,以便让飞镖整个显示在画面内。
而对于空间刀来说,它默认的出现位置,到人物的距离是固定的,我们在空间刀先出现在人物身边,这一瞬间它的速度是0,且不可见,没有攻防范围。先让它判断它应该到达的预定位置是不是在当前的画面外(利用减法模块),如果不是,那么就让它具有在1/100秒到达预定位置的速度,于是它在1/100内到位,然后速度清零变为静止,此时再显示为空间刀的图形,并有攻防范围。如果在判断它应该到达的位置时,系统计算发现它应该到达的位置在画面外,那就进行前面说的那种判断屏幕边缘位置进行的自动调速运动,1/100秒内移动到位,然后显示为空间刀。
可以说,上面这种办法是严格准确的。
但是大部分人恐怕不能自己制作出减法模块和自动调速模块,那么就要用下面的模拟办法,缺点是不严格精确。

2011年07月01日 13点07分 17
level 1
看了17楼,不看不知道,一看吓一跳。原来2dfm可以做复杂的计算。
其实我也学过编程的,但是2dfm里的术语是在看不懂。他如果真的用编程术语,我倒还能明白。
这里的模块应该就是完成一个功能的程序,这个东西哪里设置呢?
2011年07月01日 13点07分 18
level 12
厉风 楼主
制作一个招式项目(就是所谓的模块),然后用一系列的[变]和[跳]来实现。
减法是用加法组合来的,除法(《斗魂》仅提供计算百分比的除法,结果是1~3位整数,取值范围0~100,代表百分率)是用减法和加法组合来的。所有模块都可以用[调]脚本在其他项目中调用。
2011年07月01日 15点07分 19
level 12
厉风 楼主
桑原悲剧了,后面的内容死活审核不通过[汗]
2011年07月01日 15点07分 20
level 12
厉风 楼主
和谐测试网站貌似都挂了
2011年07月01日 15点07分 21
level 11
携图过境吧。
2011年07月01日 15点07分 22
1 2 尾页