第一百二十九章 深入地了解一下实体
我们知道,在Minecraft,方块、实体、粒子是三种常见的东西。
其中,方块还可以按照性质细分为:
——流体(水、岩浆...)
——气体(空气、洞穴空气...)
——固体(石头、木板...)
而固体又可以按照重力分为:
——可下落方块(沙子、混凝土粉末....)
——可浮空方块(圆石、灵魂沙...)
既然方块都能分出这么多类别,那么实体呢?
也可以分,虽然我们在三十一章时就分过了,但这次我们是要正经的分的。
实体可以按照性质分为:
——玩家[Players](Minecraft中可被控制的角色)
——生物[Mobs](除玩家外拥有生命值、碰撞箱,拥有AI,可自主移动的实体。比如:僵尸、羊)
——交通工具(可被玩家乘坐并控制的实体。比如:马[这也是生物]、船)
——矿车[Minecart](可在铁路上行驶的实体。比如:运输矿车、命令方块矿车)
——物品[Item](处于实体状态的物品。比如:掉落物)
——经验值[Exbr /erience](处于实体状态的经验值,可被玩家吸收。比如:经验球)
——弹射物[Projectile](拥有重力,撞击后会碎裂或停止,大部分会对非弹射物实体造成击退甚至伤害。比如:鸡蛋、末影珍珠)
——TNT[TNT](TNT的实体形式,会爆炸。比如:激活的TNT、核弹[IC2])
——下落的方块(产生于可下落方块下落时,当遇到地面会转化成方块,又叫实体方块。比如:下落的方块)
——盔甲架[Armor Stand](不会自主移动,可被推动,可装备,有生命值)
——其他(剩下的一些零碎的实体类别:末影之眼、烟花火箭、浮漂、闪电、栓绳的结、画、JAVA版的物品展示框、潜影贝导弹、末影水晶、尖牙)
其中,生物按习性可以分为:
——敌对生物[Monster](会主动攻击玩家。例如:僵尸、小白)
——中立生物(在被激怒后才会攻击。例如:末影人、羊驼)
——被动生物(玩家攻击后也不会反击。例如:羊、村民)
——BOSS生物(血条厚,耐打,玩家靠近会显示BOSS血条)
而被动生物还可以分为:
——和平型被动生物(不会直接对其他生物造成伤害,比如:羊、鸡)
——防御型生物(会对其他生物造成伤害,但并不会主动攻击。比如:河豚)
玩家也可以分,具体分为:
——Steve(模型是Steve的玩家)
——Alex(模型是Alex的玩家)
是不是没想到啊?这里科普一下,玩家的皮肤不管怎么换,模型都只有两种:Steve和Alex,明显区别就在于手臂的粗度,Steve比较粗,Alex比较细(这大概就是一个男一个女的区别吧)。
现在你已经知道了实体有很多类别,但其实你也并不需要全记下来,因为常用的也就那么几种:玩家[br /layer]、生物[mobs]、弹射物以及盔甲架。掉落物和下落的方块在一些时候也比较常用,比如制作地图或者是拍个《用晃晕你的方式打开MC》。
既然实体有这么多的类别,那么我们是否可以根据它们的性质进行个归类呢?
可以!
比如我们可以按照“自然消失”来归类:
会自然消失——生物、掉落物(5min)、经验值(5min)、部分弹射物(箭、三叉戟:1min)、末影之眼(≈10sec)、烟花火箭(爆炸)、TNT(爆炸)、闪电(1~3tick)、浮漂(1min)、尖牙(1~2sec)、下落的方块
不会自然消失——玩家、非生物交通工具、矿车、部分弹射物(雪球、末影珍珠等)、拴绳的结、画、物品展示框、盔甲架、潜影贝导弹、末影水晶
也可以按照其他的比如生命值、固体性质什么的来归类,具体作者我就不再列举了。
分类完了,我们该干些什么呢?
研究研究实体的运动?当然可以。
我们知道实体是会受到重力影响的,而我相信你的小学老师曾教过你一篇课文:《两个铁球同时着地》。简单概括这篇课文呢就是伽利略证明了物体的下落速度跟物体本身的质量一毛钱关系都没有,同时赞扬了伽利略不迷信权威的独......唉总之呢,伽利略的这个实验纠正了“自由落体定律”中的错误。
那么问题来了,如果我们学着伽利略做这个实验该怎么做?肯定不能在现实世界做,万一被人发现我们在高空抛物就完蛋了。所以我们可以在MC中做这个实验。
我们在MC中的天上同时丢下铁锭和铁块,可以发现他们的速度都是差不多的,这说明MC的重力也是比较科学的。
真的是这样吗?
现在我们把铁锭换成羽毛,然后又在天上同时丢下,现在你可以猜一下最终情况是怎么样的:
A.铁块先落地
B.羽毛先落地
C.同时落地
D.无法确定
按自由落体定律,MC主世界并不是真空,而是有空气的,所以轻的羽毛必然会被空气阻力拖住而缓缓下落,重的铁块空气阻力几乎拖不住,必然会比羽毛提前到达地面。
但实际上并不是如此,是两个东西同时到达地面。
这说明了什么?如果还要继续以自由落体定律解释的话,那就是我们的MC的大气非常稀薄,稀薄到几乎没有,所以空气阻力就很小,两样东西才会同时落地。
但如果这样子解释的话就无法解释为什么天空是蓝色的,而且太阳落山时还会出现红光。
所以我们得出结论:MC并不遵循自由落体定律。
但这或许还无法说服某些杠精,那么我们就再做一个实验:
假设一个矿车和一张未折叠的纸同时下落,谁会最先落地?
按理来说,矿车用铁做,下落速度肯定要比空气阻力大的未折叠纸要快,但实际上呢?
纸最先落地。
这到底是为什么?
其实关于MC实体的下落速度,有这么几个参数:
加速度、阻力和终端速度。
加速度,顾名思义,就是实体在固定时间所增加的下落速度,单位一般是m/tick²或m/sec²。
阻力,顾名思义,就是实体在固定时间所抵消的下落速度,单位一般是m/tick⁻¹。
终端速度,也就是最大下落速度,实体的下落速度都不会超过这个值,单位一般是m/tick或m/sec。
而我们的矿车,它的这三个参数是——
加速度:16m/sec²;阻力:0.05m/tick⁻¹;终端速度:15.2m/sec
也就是说,我们的矿车,它的最快速度是每秒下落15.2米。
然后再来看看我们的纸:
加速度:16m/sec²;阻力:0.02m/tick⁻¹;终端速度:39.2m/sec
可以发现,矿车和纸的加速度都是相同的,但由于纸的终端速度比矿车的终端速度大了将近一倍,且纸受到的阻力还比矿车受到的阻力还要小(这就NM离谱),所以我们的矿车最终敌不过纸。
实际上,MC里的每个实体都有自己的加速度、阻力和终端速度,当然Mojang可没有那么勤劳,会给MC里的每个实体都弄一个独一无二的下落参数。所以Mojang是这样做的:
玩家和生物——加速度:32m/sec²;阻力:0.02m/tick⁻¹;终端速度:78.4m/sec
物品、下落的方块、TNT——加速度:16m/sec²;阻力:0.02m/tick⁻¹;终端速度:39.2m/sec
船和矿车——加速度:16m/sec²;阻力:0.05m/tick⁻¹;终端速度:15.2m/sec
扔出的雪球、鸡蛋、药水以及末影珍珠——加速度:12m/sec²;阻力:0.01m/tick⁻¹;终端速度:60m/sec
射出的箭——加速度:20m/sec²;阻力:0.01m/tick⁻¹;终端速度:100m/sec
火球、凋灵头、龙息球、潜影贝导弹——加速度:0m/sec²;阻力:0m/tick⁻¹;终端速度:38m/sec
相信看完了上面的这些数值,你应该已经总结了几条:
1.玩家和生物的下落最大速度(78.4m/sec)是物品的下落速度的两倍
2.箭的下落最大速度是最快的(100m/sec)
3.船和矿车的下落最大速度最慢(15.2m/sec)
其中,第一条估计是最常用的。
在哪里常用呢?看那些网上秀操作的视频就有很多有用到这条。
没映象?相信我说一下他们是怎么做的你就想起来了:
他们会通过某种方式(一般是无缝剪辑)来到一个很高的地方。通常先把一个东西(一般是水桶)扔下去,然后跳下去,在这过程中他们通常会使用武器(一般是弓)击落几只安排好的动物(一般是猪、牛或羊),接着在半空中拿到刚才扔下去的东西,落到地上(如果是水桶的话通常是表演一下落地水),收工或者继续来个无缝剪辑。
想起来了吧?学完了上面这个后,或许你可以来个比半空接东西更高级的操作:
半空上船或车
听起来就是一个很棒的想法有木有?相信如果真拍出来观众不给个三连那是不可能的。
这就是实体的运动。但运动研究完了不代表本章就结束了。
接下来我们看看实体的历史发展:
Java:
Beta1.8——出现了一个bug:玩家能在创造模式中相隔很远甚至隔着方块都能和实体互动。
1.1——玩家不再能在创造模式下与远方的实体进行互动。
1.4.2
—12w34a——实体现在可以穿过传送门。
1.9
—15w31a——稍微更改了弹射物的运动机制。
—15w36a——大部分实体(物品和经验值除外)能够被另一个实体推动。
—15w45a——在一个1x1的洞中聚集的实体不再能推开接触相邻角落的实体。
—15w49a——玩家在坠落、使用鞘翅飞行或被击退时的动力现在会影响弹射物的运动轨迹,但在玩家步行、骑乘实体和在创造模式中飞行时除外
1.11
—16w32a——①实体ID现在改成了下划线,没有大写字母。它们也能在ID前面前面打下minecraft:,就像方块ID那样。②人类的IDMonster和拉娜、史蒂夫(生物)、黑史蒂夫和野兽小子的IDMob被移除。
携带版(Albr /ha):
?——生物的内部不再渲染。
携带版:
0.9.?——出现了和JAVA beta1.8一样的bug(见上JAVA beta1.8)。
基岩版:
?——生物的内部现在再次渲染。
了解了一点实体的历史,接下来我们进入这个章节最后的一部分:
易搞混的两个东西
这两个东西是什么?为什么会很容易搞混呢?
首先来解答第一个问题:这两个东西是什么?
这两个东西分别是实体方块和方块实体。
然后是第二个问题:为什么会很容易搞混呢?
这就要详细说了。
首先是名字,可以发现这两个东西的名字一个是“实体方块”,另一个是“方块实体”,仅差在这两个词是相反的排列顺序。
实体方块我们知道就是指实体状的方块,那么这个“方块实体”是什么东西?
实际上这个方块实体虽然有“实体”二字,也是“实体方块”的倒排列,但跟实体和实体方块是八杆子打不着的。方块实体指的并不是实体状的方块,也不是指方块状的实体,而是:方块储存的东西。
举个例子,我们在告示牌上写了一些文字,那么这些文字就是这个告示牌存储的东西,也就是“告示牌的实体”;我们在箱子里放的物品,这些物品也是这个箱子存储的东西,也就是“箱子的实体”。
所以以后,不要把实体状的方块叫做“方块实体”,而要反过来说成“实体方块”,避免产生歧义。
OK这一章就到这里了,下一章我们来了解一下实体中的一个大类——生物。
(又称:MC生物学[滑稽])