万丰论坛

 找回密码
 加入万丰

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 26933|回复: 121

[原创] 对所有建筑学可过单位的研究

[复制链接]
发表于 2010-5-15 22:13:30 | 显示全部楼层 |阅读模式
本帖最后由 Neo_ly1983 于 2010-10-3 00:34 编辑

前言:
前几日发现TL的wiki里面已经有了所有单位和建筑的精确大小数据(以像素为单位),
http://wiki.teamliquid.net/starc ... _and_Building_Sizes
虽然以前已经有人讨论过这个问题,但是具体的数据略有出入。为了做一个比较全面的总结,故有此帖。
---------------------

先澄清几个基本概念,如果您已经知道了可以略过:
星际的单位粗略分为大体积,中体积,小体积,但这只是对承受攻击而言(例如爆炸式攻击对小体积减半)。而单位真实的几何体积才会影响到是否能通过一些建筑学。

概念一:所有单位无论形状如何,都是一个方向不变的矩形。
例如zealot,无论他的体位面对哪个方向,他的几何判定都是横向23像素,纵向19像素)

概念二:建筑虽然理论上都是几个标准的方块大小(一个方块是32*32像素),但实际大小是一个和标准方块占据空间之间有间隙的矩形。
例如人族基地,虽然理论上是4*3的方块,也就是128*96像素,但实际大小和上,左,右,下理论边界之间的空隙分别是(7,6,5,6)个像素。可以看到,不仅上下不对称,而且左右也是不对称的。(莫非是为了印证杨老的理论~ lol)

这就是为什么当两个建筑贴近摆放时,中间是有间隙的,这个间隙是这两个建筑在相应方向上和理论占据空间之间的空隙的和。
而单位是否能穿过建筑学,就是看它在垂直于前进方向的宽度是否大于总空隙。(大于则不能过,小于或等于就可以过)
----------------------

以下是TeamLiquid百科上所有建筑的空隙数据: (每列意义分别为 建筑名称,上空隙,左空隙,右空隙,下空隙,理论大小,实际大小)单位:像素
Buiding          top          <-          ->          bot          box size          real size   
Terran Command Center:        7        6        5        6        128x96        117x83
Terran Supply Depot:        10        10        9        5        96x64        77x49
Terran Refinery:        0        8        7        0        128x64        113x64
Terran Barracks:        8        16        7        15        128x96        105x73
Terran Academy:        0        8        3        7        96x64        85x57
Terran Factory:        8        8        7        7        128x96        113x81
Terran Starport:        8        16        15        9        128x96        97x79
Terran Science Facility:        10        16        15        9        128x96        97x77
Terran Engineering Bay:        16        16        15        19        128x96        97x61
Terran Armory:        0        0        0        9        96x64        96x55
Terran Missile Turret:        0        16        15        15        64x64        33x49
Terran Bunker:        8        16        15        15        96x64        65x41

Infested Command Center:        7        6        5        6        128x96        117x83
Zerg Hatchery:        16        15        14        15        128x96        99x65
Zerg Lair:        16        15        14        15        128x96        99x65
Zerg Hive:        16        15        14        15        128x96        99x65
Zerg Nydus Canal:        0        0        0        0        64x64        64x64
Zerg Hydralisk Den:        0        8        7        7        96x64        81x57
Zerg Defiler Mound:        0        16        15        27        128x64        97x37
Zerg Greater Spire:        0        4        3        7        64x64        57x57
Zerg Queen's Nest:        4        10        15        3        96x64        71x57
Zerg Evolution Chamber:        0        4        15        11        96x64        77x53
Zerg Ultralisk Cavern:        0        8        15        0        96x64        73x64
Zerg Spire:        0        4        3        7        64x64        57x57
Zerg Spawning Pool:        4        12        7        13        96x64        77x47
Zerg Creep Colony:        8        8        8        8        64x64        48x48
Zerg Spore Colony:        8        8        8        8        64x64        48x48
Zerg Sunken Colony:        8        8        8        8        64x64        48x48
Zerg Extractor:        0        0        0        0        128x64        128x64

Protoss Nexus:        9        8        7        8        128x96        113x79
Protoss Robotics Facility:        16        12        7        11        96x64        77x37
Protoss Pylon:        20        16        15        11        64x64        33x33
Protoss Assimilator:        0        16        15        7        128x64        97x57
Protoss Observatory:        16        4        3        3        96x64        89x45
Protoss Gateway:        16        16        15        7        128x96        97x73
Protoss Photon Cannon:        16        12        11        15        64x64        41x33
Protoss Citadel of Adun:        8        24        7        7        96x64        65x49
Protoss Cybernetics Core:        8        8        7        7        96x64        81x49
Protoss Templar Archives:        8        16        15        7        96x64        65x49
Protoss Forge:        8        12        11        11        96x64        73x45
Protoss Stargate:        8        16        15        15        128x96        97x73
Protoss Fleet Beacon:        0        8        0        7        96x64        88x57
Protoss Arbiter Tribunal:        4        4        3        3        96x64        89x57
Protoss Robotics Support Bay:        0        16        15        11        96x64        65x53
Protoss Shield Battery:        16        16        15        15        96x64        65x33

下面的图直观的展示了单位的大小和建筑的空隙(数字单位为像素):



















于是就可以方便的知道各种建筑的摆放是否能通过特定的单位。
为了总结出所有的需要达到特定目的的建筑学,必须穷举每种建筑的摆放方法,这只能通过程序了。
(具体代码就不写在帖子里了,有兴趣的可以查看下面的附件,程序的目的是检测什么建筑可以通过一种单位的同时挡住另一种单位,有问题欢迎讨论~)


现在举几个比较实用或者有意思的例子:

1. 人族让枪兵通过而挡住狂热者的人族横向建筑学的结果:
TBA TBB
TBA TVS
TBA TVI
TBA TBE
TBA TBT
TBA TBU
TBC TBB
TBC TVS
TBC TVI
TBC TBE
TBC TBT
TBC TBU
TBR TBS
TVF TBS
TBB TBS
TBS TBA
TBS TBR
TBS TVF
TBS TBS
TVS TBC
TVI TBC
TBE TBC
TBT TBC
TBU TBC
The above horizontal combinations can block zealot and pass marine.
The number of all block types is 24
(说明:例如第一个结果"TBA TBB",第一个字母T表明是人族的建筑,后面两个字母是建筑的建造快捷键,结果中的两个建筑在横向摆放时按左右顺序,在纵向摆放时按上下顺序。)

共有24种,但发现有很多不大实用的情况,比如TVA,TVS,TVI,TBA,TBT这些,不会在tvp前期zealot压制的时候就出现,可以在程序的"禁止建筑“数组中加入不想要的这些建筑,于是得到新的结果:
TBC TBB
TBC TBE
TBC TBU
TBR TBS
TVF TBS
TBB TBS
TBS TBR
TBS TVF
TBS TBS
TBE TBC
TBU TBC
The above horizontal combinations can block zealot and pass marine.
The number of all block types is 11

2. 刺蛇可以通过而狂热者不能通过的虫族横向建筑学(刺蛇宽度 小于 狂热者)
ZBH ZBD
ZBH ZVU
ZBH ZBC
ZBD ZBH
ZBS ZBH
The above horizontal combinations can block zealot and pass hydralisk.
The number of all block types is 5

3. 狂热者可以通过而刺蛇不能通过的神族纵向建筑学 (狂热者纵向长度 小于 刺蛇)
PVR PBN
PVR PVC
PVR PBY
PVR PVT
PVR PBF
PVR PVS
PBP PBN
PBP PVC
PBP PBY
PBP PVT
PBP PBF
PBP PVS
PVO PVR
PVO PVO
PVO PBG
PVO PBC
PVO PBB
PBF PBN
PBF PVC
PBF PBY
PBF PVT
PBF PBF
PBF PVS
PVB PBN
PVB PVC
PVB PBY
PVB PVT
PVB PBF
PVB PVS
The above vertical combinations can pass zealot and block hydralisk.
The number of all block types is 29

4. 居然还存在白球可以过大象却不能过的情况(神族横向建筑学)  
PBC PVC
PBF PVC
The above horizontal combinations can block ultralisk and pass archon.
The number of all block types is 2
原来大象还要宽一点,呵呵。。

所以可以方便的测试各种需要的情况了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入万丰

x

评分

参与人数 6人品 +3 金币 +80 收起 理由
sherry + 3 但愿不算太晚~~
ginins + 5 不许挖坟,没说不许补加分吧?
FVV190 + 2 + 50 精品文章
人族FANS + 1 强淫啊!
流浪 + 1 太强了....这都能有!
michaelzhao + 1 + 20 这。。。wf研究帝!

查看全部评分

发表于 2010-5-15 22:24:50 | 显示全部楼层
这也行,您研究这个不觉得枯燥吗?呵呵,不过技术含量是相当的高啊。。。
 楼主| 发表于 2010-5-15 22:25:03 | 显示全部楼层
谨以此帖祝贺wf令人心潮澎湃的两连胜~
(激情贴已经很多了,所以发个技术型的~ :))
 楼主| 发表于 2010-5-15 22:28:13 | 显示全部楼层
本帖最后由 Neo_ly1983 于 2010-5-15 22:29 编辑

回复 2# michaelzhao

呃,有您这句话,就一点也不枯燥了~~~

而且我还是一直保持着关注其实用性方面的。

呵呵~
发表于 2010-5-15 22:29:19 | 显示全部楼层
膜拜,这个太专业了
发表于 2010-5-15 22:29:42 | 显示全部楼层
已经过了24小时了呀?怎么还不能加分?
发表于 2010-5-15 22:29:49 | 显示全部楼层
太强了!
发表于 2010-5-15 22:30:01 | 显示全部楼层
您的研究方向和思路的确令我望尘莫及,改天仔细拜读一下,今晚太累就洗洗睡了!{:3_198:}
发表于 2010-5-15 22:32:16 | 显示全部楼层
专业人士啊{:3_167:}
头像被屏蔽
发表于 2010-5-15 22:44:13 | 显示全部楼层
您太有才了
发表于 2010-5-15 22:47:17 | 显示全部楼层
这个太有技术了 有空细细研究之
发表于 2010-5-15 22:48:41 | 显示全部楼层
哇。。。太强大了。。。。
发表于 2010-5-15 23:14:16 | 显示全部楼层
太NB了。。。
发表于 2010-5-15 23:20:09 | 显示全部楼层
{:3_169:}膜拜~~~
发表于 2010-5-15 23:25:34 | 显示全部楼层
LZ强淫啊,佩服!
发表于 2010-5-15 23:26:05 | 显示全部楼层
专业才是王道
发表于 2010-5-15 23:30:05 | 显示全部楼层
技术贴,必须得顶~
发表于 2010-5-15 23:32:11 | 显示全部楼层
oh shit...大概5年前看过一个简略表明建筑4个方向空隙的帖子。。。

而你这个数据编程帝。。
发表于 2010-5-15 23:35:08 | 显示全部楼层
白球红球看着大 实际就是一格

大象很肥的
发表于 2010-5-15 23:40:07 | 显示全部楼层
精了,还上头条了!!!{:3_145:}
发表于 2010-5-15 23:41:42 | 显示全部楼层
回复 1# Neo_ly1983


    解决了长期困扰我的问题啊...v5
 楼主| 发表于 2010-5-15 23:44:08 | 显示全部楼层
回复 18# steventcyh

恩,那个文章我看过了,里面还有测试的方法,结果实验了一下发现有些细节不太对,后来才发现tl上这个数据,比较权威一些,而且试了一下没发现什么错误。
另外程序只是在不可避免的时候采用的,而且程序本身也比较简单的,本来这种情况用类然后读取数据文件会好一些,结果没搞定才用了次一点的方法。。
发表于 2010-5-15 23:45:34 | 显示全部楼层
是不是接口的两个数字相加就是实际间隙宽度啊?比如T的左右两bs,就是左9+右10=19

还有不同类的单位的宽度长度是多少呢?
 楼主| 发表于 2010-5-15 23:46:33 | 显示全部楼层
回复 19# steventcyh


    恩,因为本以为最大的单位也就一格,毕竟视觉上的感觉是不准的(比如zealot和刺蛇之间纠结的关系)。结果大象居然还要再大一点~
 楼主| 发表于 2010-5-15 23:55:22 | 显示全部楼层
是不是接口的两个数字相加就是实际间隙宽度啊?比如T的左右两bs,就是左9+右10=19

还有不同类的单位的宽 ...
wo-----kao 发表于 2010-5-15 23:45



    恩,是的,同理如果是上下位置关系的话就是上下两个间隙相加。

单位的大小第4张图里面很清楚的,所以我就没有贴数据表格,因为看图要比看表清楚的多。这个表格来自tl那个连接。具体如下:

Ground Unit             Size     
Spider Mine:        15x15
Terran Ghost:        15x22
Terran Marine:        17x20
Terran Medic:        17x20
Terran Firebat:        23x22
Terran Scv:        23x23
Terran Vulture:        32x32
Terran Goliath:        32x32
Terran Siege Tank (Tank Mode):        32x32
Terran Siege Tank (Siege Mode):        32x32

Zerg Larva:        16x16
Zerg Zergling:        16x16
Infested Terran:        17x20
Zerg Broodling:        19x19
Zerg Hydralisk:        21x23
Zerg Drone:        23x23
Zerg Defiler:        27x25
Zerg Lurker:        32x32
Lurker Egg:        32x32
Zerg Egg:        32x32
Zerg Ultralisk:        38x32

Protoss Scarab:        5x5
Protoss Zealot:        23x19
Protoss Probe:        23x23
Protoss Dark Templar:        24x26
Protoss High Templar:        24x24
Protoss Dragoon:        32x32
Protoss Archon:        32x32
Protoss Dark Archon:        32x32
Protoss Reaver:        32x32

注1:Ax B中,A是横向大小,B是纵向大小
注2:可以看到雷的体积还是比看上去大的(几乎和狗一样),所以有被卡住的机会。
头像被屏蔽
发表于 2010-5-15 23:57:15 | 显示全部楼层
天哪
还有比这更强大的研究么
这精准啊
发表于 2010-5-15 23:57:56 | 显示全部楼层
回复 18# steventcyh


    http://bbs.wfbrood.com/thread-4677-1-1.html
恩,
有个比较有名的帖子叫"渡口的秘密"多处转载,比如
http://pc.2u.com.cn/2_158657.html
发表于 2010-5-15 23:59:34 | 显示全部楼层
回复 1# Neo_ly1983


    我宣布lz取代大师成为中国星际建筑学第一人{:3_142:}
头像被屏蔽
发表于 2010-5-16 00:01:12 | 显示全部楼层
强烈要求无水印版
发表于 2010-5-16 00:02:16 | 显示全部楼层
不知道这些数据是不是blz在设计时精心策划的还是玩家们开发出来的,比如z的气矿就很imba....

貌似蝎子巢上、水晶下27+20=47是最大的了吧,能并排通过2个scv?
您需要登录后才可以回帖 登录 | 加入万丰

本版积分规则

小黑屋|手机版|Archiver|万丰论坛 ( 粤ICP备05029170号

GMT+8, 2018-10-19 03:17

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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