【mcbe】關(guān)于掉落物的簡單研究 ep.2 由擠壓簡述掉落物運(yùn)動

寫在前面(感謝)
本章借助了 @hhhxiao_ 的trapdoor插件完成了掉落物精確坐標(biāo)的采集。數(shù)據(jù)均采集自1.16.40服務(wù)器

由于大部分?jǐn)?shù)據(jù)僅為測試結(jié)果,并沒有源碼支持,所以僅供參考
本章2.2部分大量參考了 q43776343?和 @什么都不會的茍鑫森?等rct大佬完成的《紅石炮資料庫3.5期》
感謝 @Maple_楓溪?為本文提供的部分思路以及配圖
由于本文大部分?jǐn)?shù)據(jù)來自于五月中旬的測試且沒有經(jīng)過整理,部分思路與結(jié)論可能有誤,歡迎指正

2.1、擠壓
2.1.1、什么是擠壓
掉落物實(shí)體在方塊碰撞箱內(nèi)會受到擠壓效果,具體表現(xiàn)為嘗試將掉落物實(shí)體推離方塊自身的碰撞箱
這里的碰撞箱指的是掉落物會受到擠壓的范圍,常見的碰撞箱為方塊內(nèi)部
2.1.2、擠壓的兩種方塊
擠壓對于方塊判定的嚴(yán)苛程度可以分為兩種,從輕到嚴(yán)分別是擠壓外圍方塊、擠壓中心方塊
擠壓外圍方塊允許半磚等較小的不完整方塊。當(dāng)擠壓外圍方塊圍住擠壓中心方塊時(shí),掉落物將嘗試向上浮動
擠壓中心方塊允許末地傳送門框架等高度大于0.75b(即方塊缺失高度小于掉落物高度)的較大的不完整方塊
當(dāng)?shù)袈湮锉粩D壓中心方塊包裹時(shí),且所有擠壓中心方塊的四個方向都被包裹時(shí),掉落物則能被向上擠壓
如果擠壓中心方塊沒有被包裹時(shí),其擠壓方向參考圖片1.1及2.1.4小節(jié)的描述
2.1.3、擠壓對掉落物產(chǎn)生什么效果
當(dāng)?shù)袈湮锏闹行奈挥诜綁K內(nèi)部時(shí),擠壓會持續(xù)消除掉落物的所有速度。同時(shí)擠壓會對掉落物賦予一個固定的速度。側(cè)向擠壓掉落物會在1gt內(nèi)讓掉落物擁有0.25b/gt的速度并保持這個速度,直至掉落物的中心完全離開方塊
同理,豎向擠壓則會賦予0.21b/gt的速度并保持。這里之所以會產(chǎn)生與側(cè)向擠壓不同的效果將在2.2.4說明
特別的,當(dāng)?shù)袈湮镏行牟晃挥诜綁K內(nèi)部時(shí),物品將受到下方方塊的阻力,且不會持續(xù)清除掉落物速度。掉落物只會在剛接觸碰撞箱的時(shí)候被清除速度且賦予0.25b/gt的速度
2.1.4、擠壓的優(yōu)先級
當(dāng)?shù)袈湮镂挥趫D中所標(biāo)注的錐體時(shí),會被擠壓向錐體所擁有的方塊外表面

中心點(diǎn)處會固定向東(x+)處擠壓
當(dāng)存在某個方向上被擠壓外圍方塊阻擋時(shí),對應(yīng)錐體和共用中心點(diǎn)的掉落物會按照 下(y-)—西(x-)—東(x+)—北(z+)—南(z-)—上(y+)的順序依次順延
---------------------
2.2、掉落物的運(yùn)動
在mc中的運(yùn)動并沒有加速度的概念,實(shí)體運(yùn)動遵守
????????????????????????????????????????????公式 2.0
2.2.1、掉落物的橫向運(yùn)動
掉落物橫向運(yùn)動時(shí),不考慮水流等額外加速,其速度遵守以下公式:
???????? ???????? ????????????????????公式 2.1
顯而易見的,當(dāng)阻力系數(shù)越接近1時(shí),其產(chǎn)生的阻力越小
以下阻力均為該方塊上表面阻力系數(shù)
空氣的阻力系數(shù)為0.98
藍(lán)冰阻力系數(shù)約為0.97
浮冰和冰的阻力系數(shù)約為0.96
普通方塊的阻力系數(shù)約為0.6
粘液塊的阻力系數(shù)約為0.3
蜜塊的阻力系數(shù)小于0.25
當(dāng)?shù)袈湮镂挥诓煌暾綁K上時(shí),掉落物會受到不完整方塊下側(cè)方塊的阻力影響
特別的,當(dāng)利用下半磚等不完整方塊將粘液塊或蜜塊與掉落物隔離時(shí),其受到的阻力系數(shù)約為0.75
當(dāng)利用下半磚等不完整方塊將空氣與掉落物隔離時(shí),其受到的阻力系數(shù)約為0.6
當(dāng)?shù)袈湮飶姆綁K邊緣落下時(shí),掉落物會失去約0.098b/gt的速度。若掉落物此時(shí)沒有約0.098b/gt的速度,將會停止在方塊邊緣
2.2.2、掉落物的縱向運(yùn)動
當(dāng)?shù)袈湮锟v向運(yùn)動時(shí),不考慮水流等額外加速,其速度遵守以下公式:
公式 2.2
(mc不存在加速度概念,這里考慮到便于理解,采用了“重力加速度”這個名稱)
空氣的阻力系數(shù)為0.98
重力加速度為0.04b/gt
顯而易見的,當(dāng)橫向運(yùn)動出現(xiàn)其他力時(shí),公式2.1也將變化成公式2.2的類似形式?????公式 2.3
2.2.3、一些常見的速度
粘液塊彈射速度1b/gt
活塞推動速度0.5b/gt
擠壓速度0.25b/gt
*2.2.4、豎直方向上的擠壓運(yùn)動
在參考公式2.2的情況下,我們將阻力系數(shù)1、上一gt速度0.25b/gt、重力加速度0.04b/gt帶入公式,很容易得到當(dāng)前速度為0.21b/gt這一結(jié)論
且由于當(dāng)?shù)袈湮锸艿綌D壓時(shí)會將掉落物速度清除,下1gt又一次將0.25b/gt賦予掉落物,于是掉落物將一直保持0.21b/gt的速度持續(xù)上升

寫在最后(作者的碎碎念)
在之前群友問了關(guān)于煉藥臺的一個問題后,我覺得應(yīng)該更新掉落物專欄了
本來以為可以把之前的掉落物數(shù)據(jù)打包成大雜燴發(fā)出來就行了,結(jié)果發(fā)現(xiàn)居然在這之前更了一期(沒錯我已經(jīng)忘干凈了)那就沒辦法更大雜燴了。按照之前的文章思路進(jìn)行數(shù)據(jù)整理和補(bǔ)充后,和群友討論了一些靠譜的模型放在了這篇專欄里