第一百二十九章 深入地了解一下實體
我們知道,在Minecraft,方塊、實體、粒子是三種常見的東西。
其中,方塊還可以按照性質(zhì)細分為:
——流體(水、巖漿...)
——氣體(空氣、洞穴空氣...)
——固體(石頭、木板...)
而固體又可以按照重力分為:
——可下落方塊(沙子、混凝土粉末....)
——可浮空方塊(圓石、靈魂沙...)
既然方塊都能分出這么多類別,那么實體呢?
也可以分,雖然我們在三十一章時就分過了,但這次我們是要正經(jīng)的分的。
實體可以按照性質(zhì)分為:
——玩家[Players](Minecraft中可被控制的角色)
——生物[Mobs](除玩家外擁有生命值、碰撞箱,擁有AI,可自主移動的實體。比如:僵尸、羊)
——交通工具(可被玩家乘坐并控制的實體。比如:馬[這也是生物]、船)
——礦車[Minecart](可在鐵路上行駛的實體。比如:運輸?shù)V車、命令方塊礦車)
——物品[Item](處于實體狀態(tài)的物品。比如:掉落物)
——經(jīng)驗值[Experience](處于實體狀態(tài)的經(jīng)驗值,可被玩家吸收。比如:經(jīng)驗球)
——彈射物[Projectile](擁有重力,撞擊后會碎裂或停止,大部分會對非彈射物實體造成擊退甚至傷害。比如:雞蛋、末影珍珠)
——TNT[TNT](TNT的實體形式,會爆炸。比如:激活的TNT、核彈[IC2])
——下落的方塊(產(chǎn)生于可下落方塊下落時,當遇到地面會轉(zhuǎn)化成方塊,又叫實體方塊。比如:下落的方塊)
——盔甲架[Armor Stand](不會自主移動,可被推動,可裝備,有生命值)
——其他(剩下的一些零碎的實體類別:末影之眼、煙花火箭、浮漂、閃電、栓繩的結(jié)、畫、JAVA版的物品展示框、潛影貝導彈、末影水晶、尖牙)
其中,生物按習性可以分為:
——敵對生物[Monster](會主動攻擊玩家。例如:僵尸、小白)
——中立生物(在被激怒后才會攻擊。例如:末影人、羊駝)
——被動生物(玩家攻擊后也不會反擊。例如:羊、村民)
——BOSS生物(血條厚,耐打,玩家靠近會顯示BOSS血條)
而被動生物還可以分為:
——和平型被動生物(不會直接對其他生物造成傷害,比如:羊、雞)
——防御型生物(會對其他生物造成傷害,但并不會主動攻擊。比如:河豚)
玩家也可以分,具體分為:
——Steve(模型是Steve的玩家)
——Alex(模型是Alex的玩家)
是不是沒想到???這里科普一下,玩家的皮膚不管怎么換,模型都只有兩種:Steve和Alex,明顯區(qū)別就在于手臂的粗度,Steve比較粗,Alex比較細(這大概就是一個男一個女的區(qū)別吧)。
現(xiàn)在你已經(jīng)知道了實體有很多類別,但其實你也并不需要全記下來,因為常用的也就那么幾種:玩家[player]、生物[mobs]、彈射物以及盔甲架。掉落物和下落的方塊在一些時候也比較常用,比如制作地圖或者是拍個《用晃暈?zāi)愕姆绞酱蜷_MC》。
既然實體有這么多的類別,那么我們是否可以根據(jù)它們的性質(zhì)進行個歸類呢?
可以!
比如我們可以按照“自然消失”來歸類:
會自然消失——生物、掉落物(5min)、經(jīng)驗值(5min)、部分彈射物(箭、三叉戟:1min)、末影之眼(≈10sec)、煙花火箭(爆炸)、TNT(爆炸)、閃電(1~3tick)、浮漂(1min)、尖牙(1~2sec)、下落的方塊
不會自然消失——玩家、非生物交通工具、礦車、部分彈射物(雪球、末影珍珠等)、拴繩的結(jié)、畫、物品展示框、盔甲架、潛影貝導彈、末影水晶
也可以按照其他的比如生命值、固體性質(zhì)什么的來歸類,具體作者我就不再列舉了。
分類完了,我們該干些什么呢?
研究研究實體的運動?當然可以。
我們知道實體是會受到重力影響的,而我相信你的小學老師曾教過你一篇課文:《兩個鐵球同時著地》。簡單概括這篇課文呢就是伽利略證明了物體的下落速度跟物體本身的質(zhì)量一毛錢關(guān)系都沒有,同時贊揚了伽利略不迷信權(quán)威的獨......唉總之呢,伽利略的這個實驗糾正了“自由落體定律”中的錯誤。
那么問題來了,如果我們學著伽利略做這個實驗該怎么做?肯定不能在現(xiàn)實世界做,萬一被人發(fā)現(xiàn)我們在高空拋物就完蛋了。所以我們可以在MC中做這個實驗。
我們在MC中的天上同時丟下鐵錠和鐵塊,可以發(fā)現(xiàn)他們的速度都是差不多的,這說明MC的重力也是比較科學的。
真的是這樣嗎?
現(xiàn)在我們把鐵錠換成羽毛,然后又在天上同時丟下,現(xiàn)在你可以猜一下最終情況是怎么樣的:
A.鐵塊先落地
B.羽毛先落地
C.同時落地
D.無法確定
按自由落體定律,MC主世界并不是真空,而是有空氣的,所以輕的羽毛必然會被空氣阻力拖住而緩緩下落,重的鐵塊空氣阻力幾乎拖不住,必然會比羽毛提前到達地面。
但實際上并不是如此,是兩個東西同時到達地面。
這說明了什么?如果還要繼續(xù)以自由落體定律解釋的話,那就是我們的MC的大氣非常稀薄,稀薄到幾乎沒有,所以空氣阻力就很小,兩樣東西才會同時落地。
但如果這樣子解釋的話就無法解釋為什么天空是藍色的,而且太陽落山時還會出現(xiàn)紅光。
所以我們得出結(jié)論:MC并不遵循自由落體定律。
但這或許還無法說服某些杠精,那么我們就再做一個實驗:
假設(shè)一個礦車和一張未折疊的紙同時下落,誰會最先落地?
按理來說,礦車用鐵做,下落速度肯定要比空氣阻力大的未折疊紙要快,但實際上呢?
紙最先落地。
這到底是為什么?
其實關(guān)于MC實體的下落速度,有這么幾個參數(shù):
加速度、阻力和終端速度。
加速度,顧名思義,就是實體在固定時間所增加的下落速度,單位一般是m/tick2或m/sec2。
阻力,顧名思義,就是實體在固定時間所抵消的下落速度,單位一般是m/tick?1。
終端速度,也就是最大下落速度,實體的下落速度都不會超過這個值,單位一般是m/tick或m/sec。
而我們的礦車,它的這三個參數(shù)是——
加速度:16m/sec2;阻力:0.05m/tick?1;終端速度:15.2m/sec
也就是說,我們的礦車,它的最快速度是每秒下落15.2米。
然后再來看看我們的紙:
加速度:16m/sec2;阻力:0.02m/tick?1;終端速度:39.2m/sec
可以發(fā)現(xiàn),礦車和紙的加速度都是相同的,但由于紙的終端速度比礦車的終端速度大了將近一倍,且紙受到的阻力還比礦車受到的阻力還要?。ㄟ@就NM離譜),所以我們的礦車最終敵不過紙。
實際上,MC里的每個實體都有自己的加速度、阻力和終端速度,當然Mojang可沒有那么勤勞,會給MC里的每個實體都弄一個獨一無二的下落參數(shù)。所以Mojang是這樣做的:
玩家和生物——加速度:32m/sec2;阻力:0.02m/tick?1;終端速度:78.4m/sec
物品、下落的方塊、TNT——加速度:16m/sec2;阻力:0.02m/tick?1;終端速度:39.2m/sec
船和礦車——加速度:16m/sec2;阻力:0.05m/tick?1;終端速度:15.2m/sec
扔出的雪球、雞蛋、藥水以及末影珍珠——加速度:12m/sec2;阻力:0.01m/tick?1;終端速度:60m/sec
射出的箭——加速度:20m/sec2;阻力:0.01m/tick?1;終端速度:100m/sec
火球、凋靈頭、龍息球、潛影貝導彈——加速度:0m/sec2;阻力:0m/tick?1;終端速度:38m/sec
相信看完了上面的這些數(shù)值,你應(yīng)該已經(jīng)總結(jié)了幾條:
1.玩家和生物的下落最大速度(78.4m/sec)是物品的下落速度的兩倍
2.箭的下落最大速度是最快的(100m/sec)
3.船和礦車的下落最大速度最慢(15.2m/sec)
其中,第一條估計是最常用的。
在哪里常用呢?看那些網(wǎng)上秀操作的視頻就有很多有用到這條。
沒映象?相信我說一下他們是怎么做的你就想起來了:
他們會通過某種方式(一般是無縫剪輯)來到一個很高的地方。通常先把一個東西(一般是水桶)扔下去,然后跳下去,在這過程中他們通常會使用武器(一般是弓)擊落幾只安排好的動物(一般是豬、牛或羊),接著在半空中拿到剛才扔下去的東西,落到地上(如果是水桶的話通常是表演一下落地水),收工或者繼續(xù)來個無縫剪輯。
想起來了吧?學完了上面這個后,或許你可以來個比半空接東西更高級的操作:
半空上船或車
聽起來就是一個很棒的想法有木有?相信如果真拍出來觀眾不給個三連那是不可能的。
這就是實體的運動。但運動研究完了不代表本章就結(jié)束了。
接下來我們看看實體的歷史發(fā)展:
Java:
Beta1.8——出現(xiàn)了一個bug:玩家能在創(chuàng)造模式中相隔很遠甚至隔著方塊都能和實體互動。
1.1——玩家不再能在創(chuàng)造模式下與遠方的實體進行互動。
1.4.2
—12w34a——實體現(xiàn)在可以穿過傳送門。
1.9
—15w31a——稍微更改了彈射物的運動機制。
—15w36a——大部分實體(物品和經(jīng)驗值除外)能夠被另一個實體推動。
—15w45a——在一個1x1的洞中聚集的實體不再能推開接觸相鄰角落的實體。
—15w49a——玩家在墜落、使用鞘翅飛行或被擊退時的動力現(xiàn)在會影響彈射物的運動軌跡,但在玩家步行、騎乘實體和在創(chuàng)造模式中飛行時除外
1.11
—16w32a——①實體ID現(xiàn)在改成了下劃線,沒有大寫字母。它們也能在ID前面前面打下minecraft:,就像方塊ID那樣。②人類的IDMonster和拉娜、史蒂夫(生物)、黑史蒂夫和野獸小子的IDMob被移除。
攜帶版(Alpha):
?——生物的內(nèi)部不再渲染。
攜帶版:
0.9.?——出現(xiàn)了和JAVA beta1.8一樣的bug(見上JAVA beta1.8)。
基巖版:
?。俊锏膬?nèi)部現(xiàn)在再次渲染。
了解了一點實體的歷史,接下來我們進入這個章節(jié)最后的一部分:
易搞混的兩個東西
這兩個東西是什么?為什么會很容易搞混呢?
首先來解答第一個問題:這兩個東西是什么?
這兩個東西分別是實體方塊和方塊實體。
然后是第二個問題:為什么會很容易搞混呢?
這就要詳細說了。
首先是名字,可以發(fā)現(xiàn)這兩個東西的名字一個是“實體方塊”,另一個是“方塊實體”,僅差在這兩個詞是相反的排列順序。
實體方塊我們知道就是指實體狀的方塊,那么這個“方塊實體”是什么東西?
實際上這個方塊實體雖然有“實體”二字,也是“實體方塊”的倒排列,但跟實體和實體方塊是八桿子打不著的。方塊實體指的并不是實體狀的方塊,也不是指方塊狀的實體,而是:方塊儲存的東西。
舉個例子,我們在告示牌上寫了一些文字,那么這些文字就是這個告示牌存儲的東西,也就是“告示牌的實體”;我們在箱子里放的物品,這些物品也是這個箱子存儲的東西,也就是“箱子的實體”。
所以以后,不要把實體狀的方塊叫做“方塊實體”,而要反過來說成“實體方塊”,避免產(chǎn)生歧義。
OK這一章就到這里了,下一章我們來了解一下實體中的一個大類——生物。
?。ㄓ址Q:MC生物學[滑稽])