游戏开发论坛

 找回密码
 立即注册
搜索
123
返回列表 发新帖
楼主: tony5123

[讨论] 关于格斗游戏的碰撞判定

[复制链接]

40

主题

1149

帖子

1167

积分

金牌会员

Rank: 6Rank: 6

积分
1167
发表于 2008-1-3 12:16:00 | 显示全部楼层

Re:关于格斗游戏的碰撞判定

一个矮子和一个巨人对打的时候会怎么样?

32

主题

788

帖子

837

积分

高级会员

Rank: 4

积分
837
发表于 2008-1-3 13:18:00 | 显示全部楼层

Re:关于格斗游戏的碰撞判定

比如,你给一个蛇颈龙捆绑了头部、四条腿这5个碰撞盒子

当然,你要分别制作身体,头部、腿这几个部分(方法很多,不一定非要分离式的制作)

这样你就会看到,玩家完全可以一个一个的腿打断他们,最后斩下龙头

我们将会准备让玩家可以在龙背上战斗!嘿嘿!不知道物理碰撞面在npc身上会不会很有问题,管他呢,反正现在仅仅是yy需求

希望动作游戏在国内可以有真正的长足发展,我个人并不觉得格斗类,这个动作游戏中的尖兵会有很大的市场机会的。

真正的arpg时代应该不远了!嘎嘎!

说实话,我自己不擅长这类游戏的!汗阿!

2

主题

9

帖子

9

积分

新手上路

Rank: 1

积分
9
 楼主| 发表于 2008-1-3 15:06:00 | 显示全部楼层

Re:关于格斗游戏的碰撞判定

回20楼的:我是想问,如何指定有效击打部位,呵呵,你说用属性表来标注,但是具体是如何指定是怎么做到的呢?
回21楼的:就我们现在制经验和能力来说,尽量避免这种体型差异过大的人物之间进行战斗,如果有,那就让体型大的人胳膊腿短点,体型小的人胳膊腿长些,其碰撞规则是一样的。

最后,还是想问一下大家,我用什么方法来指定有效的攻击部位呢。
在攻击桢时,我想要是具体部位具有攻击能力,而不是全身都具有攻击碰撞判定。

32

主题

788

帖子

837

积分

高级会员

Rank: 4

积分
837
发表于 2008-1-4 09:51:00 | 显示全部楼层

Re:关于格斗游戏的碰撞判定

首先不明白你的攻击桢,是如何定义的

前面说过了

我们的结构是,你首先会得到一个state_act,也就是动作或者动作序列

毫无疑问,你们肯定有这个

然后,会单独的有一个表格,针对某个主动动作或者其序列给定具有效应的模块

模块是绑定在人物模型上的

你可以把模型分的很细致,这不会有什么很大的困难

例如:头=1、左臂=2、右臂=3、左腿=4、右腿=5、上身=6

甚至,你可以单独分出脚、手等等

当你给一个动作指定了有效部位时,那些没有被指定的则无效

例如:
state_act id=92 name=普通攻击1  描述:用右拳直击对手(这个描述实际上存在于策划案而不是表格中)

attdef  stateid=92  part1=3 (3就代表了右臂) autoid=1(自动生成的索引号,没有具体意义)

这个时候,只要是调用 id92这个动作的时候,你就会看到当前只有右拳能够有效地伤害敌人(有效碰撞部位)

而,在这个动作中,身体的其他部位接触是不可能产生碰撞检测的。大概上就是如此,更细致的东西我就不可能多说了

上面的做法比较简单易懂,至少逻辑上是这样的!

这是主动方的逻辑关系

而被动方的通常是技术直接实现的,不太需要我们来编辑,至少我们没有这个的编辑需求

针对被动方,还是那个观点,如果你真的绑定了很多的碰撞检测盒子,那么你会获得很多麻烦的

当然,解决这些麻烦以后,你得到的成果毫无疑问的优秀

可是,优秀的结果需要有效的展现才可以的,先思考一下,你是否真的需要吧!

我说的属性标注,与上面是不同的,上面仅仅通过表格之间的有效逻辑指定就可以解决我理解的你得问题了

属性,是指我们的盒子(无论它是碰撞的,还是模型本身的)被赋予了一些变量
某些触发,会使这些变量得到
1 赋值(包括从新赋值)
2 作为判定条件

例如:头有一个变量叫做type
他自己有一个值 5
攻击到这个部位后
伤害=伤害计算结果*type参数
那么你就会发现,当你攻击这个怪物的头部的时候,你总是能够得到超大量的伤害结果了

显然,事实上我们不是这样给与变量和运用方法的,但这是一个能够说明属性具体是什么的例子

当我们给不同部位的属性赋予了不同的值,那么我们就可以
1 得到不同的结果
2 假设我们已经很好的区分了他们

可是,尽管如此,我还是不知道如何告诉系统,如果我打到了其中的一个,则其他不生效,因为在物理上,他们总是应该生效的

还不仅仅如此,你甚至还会发现如果你得挨打物体太小,盒子之间很容易因为模型动作而发生重合,这时,一刀下去就会出现两次甚至更多的挨打动作了

问题还会有很多的,郁闷!

32

主题

788

帖子

837

积分

高级会员

Rank: 4

积分
837
发表于 2008-1-4 10:50:00 | 显示全部楼层

Re:关于格斗游戏的碰撞判定

现在结果有变化了,我已经得到了人物绑定多个盒子以后,其中一个碰撞后,其他的不再接受碰撞消息的结果了,嘎嘎!看来一切都解决了

不过还是有很多问题的,具体的不说了,以后项目彻底完成了,有机会的话,再说吧

有时候武器从碰撞盒子里面出来的信息也是很重要的!嘎嘎!

2

主题

9

帖子

9

积分

新手上路

Rank: 1

积分
9
 楼主| 发表于 2008-1-4 15:20:00 | 显示全部楼层

Re:关于格斗游戏的碰撞判定

"模块是绑定在人物模型上的

你可以把模型分的很细致,这不会有什么很大的困难

例如:头=1、左臂=2、右臂=3、左腿=4、右腿=5、上身=6

甚至,你可以单独分出脚、手等等

当你给一个动作指定了有效部位时,那些没有被指定的则无效"
  
请问这个“模块”是什么呢?这就是我想问的关键所在。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-16 12:04

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表