游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2047|回复: 0

浅谈DOTA2中的碰撞体积

[复制链接]

1万

主题

1万

帖子

3万

积分

论坛元老

Rank: 8Rank: 8

积分
36572
发表于 2020-3-10 17:15:52 | 显示全部楼层 |阅读模式
1.jpg

原文由我发于微博 @DotA中文Wiki(https://dota.huijiwiki.com),欢迎关注。

注:本文内容对7.24b版本生效,不排除后续更新导致本文内容过时/失效的情况发生

什么是碰撞体积

在DOTA2世界中,凡是可以交互的对象都存在一个范围,这个范围被称为碰撞体积。

一个典型的碰撞体积应用是卡兵。

在游戏文件中,碰撞体积没有明确的数值,而是分为几种(括号内为具体数值[1]):

  • DOTA_HULL_SIZE_BUILDING (298)
  • DOTA_HULL_SIZE_TOWER (144)
  • DOTA_HULL_SIZE_BARRACKS (144)
  • DOTA_HULL_SIZE_FILLER (96)
  • DOTA_HULL_SIZE_HUGE (80)
  • DOTA_HULL_SIZE_HERO (24)
  • DOTA_HULL_SIZE_REGULAR (16)
  • DOTA_HULL_SIZE_SIEGE (16)
  • DOTA_HULL_SIZE_SMALL (8)
  • DOTA_HULL_SIZE_SMALLEST (2)


不同单位的碰撞体积如下图所示。

2.jpg

3.jpg

4.jpg

5.jpg

顺便一提,狼人终极技能----变身的技能说明是错误的。变狼后碰撞体积没有发生变化,仍然是8。

测试模式下,在控制台中输入dota_unit_show_collision_radius 1 可以将单位的碰撞体积以黄色表示出来,如图。

6.jpg

需要特别注意的是,碰撞体积的大小与模型肥瘦、选中单位后的光圈大小没有任何关系。

7.jpg
如图所示,狼人的选择光圈与其他人是相同的,但其碰撞体积显然小于其他单位

碰撞体积的应用

那么碰撞体积与天怒A杖大招有什么关系呢?

前面说到,碰撞体积是用于技能交互的。对于大部分AOE技能来说,他们的交互机制是:

如果技能的作用面积与碰撞体积有交集(重叠的地方),则造成伤害。

我们知道,天怒A杖大是不会对一个已经收到大招影响的单位再次放大的,那么这个判定也是靠碰撞体积是否重叠来判定的吗?

事实证明,不是。事实上,这个判定采用的是坐标判定:如果目标单位的坐标在一个神秘之耀的作用范围外,那么系统就有可能选择这个目标,对其坐标位置施放额外的一次大招。

简单总结一下:

1.受伤与否是碰撞体积判定,面积重叠就受伤;

2.是否施放二次大招是坐标判定。

根据这两点,不难找到其中的“漏洞”:

如果我放大的位置距离敌方英雄的距离大于神秘之耀的作用范围,但离得又不是太远,大招的范围和敌方英雄的碰撞体积又有重叠,不就可以让他受到2次伤害了吗?!

8 (1).gif
采用上述方式对单一敌方英雄施放A杖大招,可以看到确实造成了2次伤害

9 (1).gif
作为对比,图中大招施放的位置稍微靠近了敌方英雄一点,可以看到只造成了1次伤害

10 (1).gif

除此之外,一些可以制造地形的技能(如沟壑、冰片)也会用到碰撞体积的知识来解释问题。

首先认识一下沟壑的碰撞体积。

如图,可以看到沟壑实际上是由一块一块小的碰撞体积组成的,而不是由一个整体组成的。

11.jpg
饰品不会影响沟壑的组成

图为玛尔斯矛的碰撞体积。

12.jpg

图为矛穿到英雄后矛和英雄的碰撞体积相互关系。

13.jpg

直观的看到了沟壑的碰撞体积组成后,我们可以瞄准碰撞体积间的缝隙,向缝隙处扔矛。根据我的测试,只要站位角度合适且瞄准了位置,是可以做到100%穿过沟壑的。

14.jpg
瞄着缝扔矛

举一反一,巨牙海民的冰片也是可以穿过去的,如图。

15 (1).gif

需要注意的是,显示碰撞体积的命令只能在开启作弊时使用,因此匹配中无法使用。

参考


^游戏文件中并没有明确写出碰撞体积的具体数值,括号内的数值为根据历史经验、英文版dota2 wiki、liquipedia wiki整理而来,可能会与实际情况存在一定出入 https://dota.huijiwiki.com/p/7583

作者:韩松
专栏地址:https://zhuanlan.zhihu.com/p/110771437

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-26 23:38

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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