每周转载:【DotA树林阴影生成原理】最详细的视野机制解析


❡ 摘要

视野阻挡面与观看者之间不同的角度,会生成三种不同形状的阴影。
而视野阻挡面的判定,总是会贴合某个128*128的地块。


❡ 前言

(赶时间的同学,可以跳过本段,直接阅读【正文】大节)
本博客的内容主要是与游戏相关的原创博文。但对于网上一些特殊的资料,比如今天这篇转载,年代久远可能突然消失,其内容又是分3个不同的URL分页呈现,因此保存网页/缓存/快照也不太方便。
因此采用了全文转载的方式,在起到备份作用的同时,也可以借机科普一下DotA/War3的基础知识。很多玩家都对这些机制,实现与应用津津乐道,如数家珍 :)
至于“每周转载”这个名称,可以看作是专有名词,不表示发文频率 :)


❡ 关于本文
      
(赶时间的同学,可以跳过本段,直接阅读【正文】大节
本文最早是在2009年,于一本别人送给我的DotA攻略出版物上看到的。那个年代的此类出版物都没有正规版号批次,都是内含一个光盘,书籍作为光盘的赠品而一并出售。
       然而就是这样的一本出版物,却有着满满的干货。除了具体英雄的攻略外,还刊登了寻路机制的应用,视野阻挡,治疗型闪避,shift指令序列,编队快捷键,防御塔仇恨机制,全英雄攻击/施法的前/后摇,攻击速度机制,封野/反封野眼位,全局思路,打开局面的策略等等等等。其质量高又有时效性,就算放在十多年之后的今天,仍旧是很好的教材。
       本文就是这一系列经典的其中之一。


❡ 正文


感谢游久水友3044285的投递
作者:DCN|demoncdw

魔兽中地形每一层的高度是128

DOTA中一共有4种能阻挡视野的东西

1.最基本的更高层地形
2.普通树木(高度230,相当于升高2层地形,碰撞是128*12895%的树是这种)
3.伞状树木(高度300,相当于升高3层地形,碰撞是64*645%的树是这种)
4.视野阻断器(高度230,相当于升高2层地形,无碰撞,只出现在双方英雄酒馆处和ROSHAN处)


下面3个图片是为了说明视野阻挡的方向判定
X代表了视野阻挡物,绿色是观看者所在位置所属区域,黑色代表了被阻挡的视野



 

众所周知,地形阻挡物是以64*64为基本单位
(比如人类的人口是2*2,其中“2”就代表了2*64

经过大量测试发现,视野的最小单位并不是64*64,而视野是128*128为基本单位

而视野阻挡物的位置中心决定了视野层面的位置
如果正好在边线上,则取XY轴的正方向为优先

下图为例子,那些树木所代表的视野阻挡面以红边框方块表示
Lmu041注:视野阻挡物的碰撞体积以浅粉色实心方块表示)

    测试发现,当单位移动到红边框方块区域内时,该视野阻挡物将完全失效
    即,360度完全可见,包括红边框方块区域内本身(场面非常诡异) 
 
 

roshan处的地形,其中紫色方块是小型视野阻断器

排除不可战立的区域,并且采用XY轴的正方向为优先原则进行分析


    得出结果,其中绿色实心与黄色实心区域是个不错的摆脱点,只会被相应颜色的空心圆区域的单位发现,可以用来TP或者Joke对手。

评论