侧栏导航

热血传奇 - 角色和怪物的渲染



本文要点:

  1. 角色和怪物移动的相互影响

  2. 角色的渲染

  3. 怪物的渲染

  4. MMORPG游戏战斗系统的设计

战斗系统的划分

既然谈到角色和怪物的渲染,必然会涉及到整个游戏的战斗系统设计.

结合玩魔兽RPG和热血传奇的经验,模块划分如下:

fightdesgin

从图中可以看到战斗系统描述的是 玩家与怪物,NPC及其他玩家之间交互的过程.

而角色和怪物的渲染指的就是交互状态的切换

角色的渲染

角色的渲染受到三个方面的影响: 1姿态 2朝向, 3装备穿着

外观姿势

角色的外观姿态有11种 ,

  1. 移动
  2. 攻击
  3. 静止
  4. 跑动
  5. 僵持
  6. 挖矿
  7. 跳砍
  8. 施法
  9. 采摘
  10. 死亡
  11. 被攻击

详细在 热血传奇 - 装备外观图片ID规则分析 一文有提及

人物朝向

每种状态有8个方向,(上下左右8方向)每个方向分别用1~8张不等帧动画图片来渲染

装备穿戴

角色身穿不同的衣服,手持不同的武器,头盔,坐骑,翅膀都会改变角色的外观.

另外, 男性和女性角色的渲染本质上是对不同衣服的渲染

如下是男性角色身穿裸装麒麟战甲的渲染

Armor0

Armor1

帧动画

以下是使用MirAnimaMarker工具制作的, 适用于Egret 引擎的, 麒麟战甲(Hum20) 帧动画数据文件示例片段

//Hum20_mc.json
{
    "file": "Hum20_tex.png",
    "mc": {
        "Hum20": {
            "labels": [{
                "name": "0_0",
                "frame": 1,
                "end": 4
            },
            {
                "name": "0_1",
                "frame": 5,
                "end": 8
            },
            ...
            {
                "res": "p_415",
                "y": -35,
                "duration": 1,
                "x": -48
            }],
            "events": []
        }
    },
    "res": {
        "p_27": {
            "x": 1412,
            "y": 1182,
            "w": 73,
            "h": 82
        },
        "p_360": {
            "x": 609,
            "y": 1404,
            "w": 73,
            "h": 68
        },
        ...
    }
}

麒麟战甲 帧动画文件:

Hum20_mc.json: https://gitee.com/geliang/PK/blob/master/clientH5/resource/mir2/Hum2/Hum20_mc.json

麒麟战甲 图集文件:

Hum20_tex.png: https://gitee.com/geliang/PK/tree/master/clientH5/resource/mir2/Hum2

怪物的渲染

怪物的渲染与角色的渲染相比,无需考虑装备的影响,其他大致相同.只有6种状态.

外观动画索引组成规则表

根据怪物和攻击特效的不同.其帧动画模型有多种. 如 128/156/232/224 , 一下是常见的2中类型.

232帧

总 360帧, 实际232 (鸡)

动作名 索引范围 动作帧数 总帧数
stand(站立) 0-79 4 80
walk 80-159 6 80
attack 160-239 6 80
beattacked 240-259 2(没有跳帧) 16
die 260-339 10 80
dead 340-359 1(没有跳帧) 8
224帧

总 360帧, 实际224 (蛤蟆),相比232帧,少了一个怪物被采集干净完后的效果动画

动作名 索引范围 动作帧数 总帧数
stand(站立) 0-79 4 80
walk 80-159 6 80
attack 160-239 6 80
beattacked 240-259 2(没有跳帧) 16
die 260-339 10 80
dead 340-340 0 0

mon*.wil 和 Monster.db 文件结构解析

##### Appr

Monster.db中的appr字段和Mon.wil的关系

1561704598092

火焰沃玛在db文件中的appr(外观)字段,其值为31,对应到Mon文件为

1+ 31/10 (取整) = 4 , 即 Mon4.wil

具体的子索引为 31%10 * 360 ,

一组怪物外怪360张图片,索引范围即为 360 ~ 719 .

再按照图片总数上述规则(224),生成各方位动画

如下图所示

appr31

此公式适用于大部分怪物,但 赤月恶魔,幻影蜘蛛不适用

RaceImg

攻击动效,攻击播放什么样的动画效果,其特效动画在Mon.wil中的索引计算方法让人难以琢磨, 可能要看源代码.或者硬提取形成配置

枚举值如下

RaceImg 解释
0 怪物不动,不攻击,形状不变
1 裸男状态,近身物理攻击
9 配合120(足球)
10 配合83(森林雪人)
11 近身物理,配合52(鹿);配合51(鸡)
12 配合11(卫士)
13 配合85(食人花)
14 物理攻击,配合86,88,89(骷髅)
15 抛斧攻击,配合87(抛斧骷髅)
16 近身喷毒,配合90(洞蛆)
17 近身物理,配合81(多钩猫)
18 近身物理,死亡时冒火,配合83(稻草人)
19 近身物理,配合81(沃玛战士)
20 喷火攻击,配合91(火焰沃玛)
21 电火花攻击,配合92(沃玛教主)
22 射针攻击,配合93(暗黑战士)
23 物理攻击,配合100(变异骷髅)
24 刀划出的锋芒,配合11(带刀护卫)
30 近身物理
31 物理攻击,配合81(蝙蝠)
32 物理攻击,配合84(蝎子)
33 大范围喷毒攻击,配合107(触龙神)
34 全屏地刺攻击,配合115(赤月恶魔)
35 配合116(幻影蜘蛛)
36 配合117(暴烈蜘蛛)
37 近身物理,配合81(虹魔教主)
40 极光电影攻击,配合94(雷电僵尸)
41 物理攻击,配合95(僧侣僵尸),有洞
42 物理攻击,配合96(其他僵尸),能复活
43 物理攻击,配合103(角蝇),能释放特定的怪
45 射箭效果,配合104(弓箭手)
47 物理攻击,配合101(祖玛卫士),从石像中释放自己
49 火球攻击,配合102(祖玛教主)
50 铁匠NPC形态
52 高空喷毒攻击,配合105(楔蛾)
53 击电效果,配合81(虹魔蝎卫)
54 配合113(神兽小)
55 喷火攻击,配合114(神兽大)
60 击电攻击+近身物理(虹魔蝎卫的新效果)
61 挥斧的魔法效果(虹魔猪卫的新效果)
62 挥拳的魔法效果+变身成牛的效果(虹魔教主的新效果)
63 挥杖的魔法效果(骷髅教主的新效果)
64 喷毒效果(恶灵尸王的新效果)
65 骷髅刀斧手死亡时的效果
66 骷髅长枪兵死亡时的效果
67 骷髅锤兵死亡时的效果
68 骷髅弓箭手死亡时的效果
70 雷电术+近身挥杖效果(牛魔法师)
71 小火球+近身挥杖效果(牛魔祭司)
72 和传奇3相同的牛魔王的新攻击效果
78 魔龙教主攻击效果
81 雷电术
83 火龙专用的群雷攻击效果(超爽),配合107.
Race

攻击附加效果, 攻击会带来什么效果,比如群里毒,麻痹,击退,

枚举值如下

Race 效果
11 无敌加瞬移攻击 主动攻击MOB和红人
51 不主动攻击死后物品不掉落要割的
52 不主动攻击死后物品不掉落 有一定几率会逃跑
53 主动攻击 物品不掉落
82 主动攻击 2x2范围内毒液攻击-弱
81 普通的攻击 进入范围自动攻击
85 地下钻出来 原地攻击 死后物品不掉落
87 主动攻击 射程5
90 贴身麻痹石化攻击-弱
92 遇到范围外攻击会瞬移
93 主动攻击 射程4 边攻击边躲避
94 主动攻击 直线攻击
95 进入范围会从地下爬出来
96 自动复活
100 道士的召唤骷髅
101 进入范围会从石像状态激活
102 边攻击边召唤!SETUP里的ZUMA1~4里的特定的怪
103 通过释放Mir200!setup.txt文件里的Bee特定的怪来攻击对象
104 主动攻击 射程8
105 麻痹攻击(高)
106 麻痹攻击(低)
107 全屏攻击+麻痹+中毒
112 只主动攻击红名 射程11
113 召唤的神兽-小
114 召唤的神兽-大
115 群雷攻击
116 通过释放Mir200!setup.txt文件里的SPIDER特定的怪来攻击对象
117 自身没有攻击力,通过自暴来攻击对象
121 物理攻击,会释放蜘蛛网
122 带毒,会释放蜘蛛网
123
124
125 物理攻击,附加技能1:范围3的单法 附加技能2:群法3*3 25%几率麻痹
127 带毒
128 技能1:单法射程6,技能2:群体攻击范围6*6 ,技能3:发动129类型怪物攻击。附加群体麻痹、群体毒的效果。
129 配合128发动指定坐标攻击
130 进程主动攻击,射程2
131 远程主动攻击 射程5
133 不攻击无敌模式 1分钟后消失
134 物理攻击
135 物理攻击 ,附带150%的必杀物理攻击
136 远程攻击射程5,寒冰掌效果、带绿毒(强)
137 远程攻击射程5,带红毒(强)
138 远程攻击射程6,带125%的法术暴击
139 物理攻击,技能1:125%的法术暴击(射程3),技能2:150%的法术暴击(射程3)
140 远程攻击射程5,带苏醒效果
141 此类怪物不攻击人物和宝宝,自动行走至魔王岭地图的X:58 Y:43的位置
150 人形怪
152 月灵
153 仿押镖
154 主动攻击,射程3.带瞬移攻击
155 物理攻击,附带野蛮冲撞技能
160 主动攻击,射程2
161 主动攻击,射程3
200 主动攻击,射程4
201 主动攻击,射程3 人打怪不掉血 连续打怪会自动死亡
206 主动攻击,射程3 5%几率中绿毒。附加特效:中毒的同时会被随机传送
207 则会使用火墙攻击(3*3).屏 附加抗拒+放随从 (随从!Setup.txt中BloodMonSlaveX)
208 主动攻击,射程2 攻击它才会中毒(5%几率中绿毒)
209 会使用火墙攻击(7*7).屏 附加抗拒+放随从 (随从!Setup.txt中BloodMonSlaveX)

下一篇 <热血传奇 - 技能施法>

最后更新于 28th Jun 2019
微信二维码
在微信上关注我