Collisions/zh: Difference between revisions

From Minecraft Parkour Wiki
Content added Content deleted
(Created page with "玩家往往倾向于面向 Z 的旋转跳更容易,但面向 X 的旋转跳实际上距离更短:")
(Created page with "*面向z的旋转跳非常类似于线性跳跃(假设最优移动)。要转换一个Z轴的旋转跳,只需将其距离增加1.2,并将其[[Special:MyLanguage/Tiers|tier]...")
Line 51: Line 51:
== 水平碰撞(X/Z) ==
== 水平碰撞(X/Z) ==


由于X轴是在Z轴之前处理的,因此旋转碰撞的行为因方向而异。
<div lang="en" dir="ltr" class="mw-content-ltr">
Due to the X axis being processed before the Z axis, corner collisions don't behave the same depending on the direction.
</div>


这种现象在高速时尤为明显。
这种现象在高速时尤为明显。
Line 59: Line 57:
[[File:XZ collision.png|frameless|720x720px]]
[[File:XZ collision.png|frameless|720x720px]]


区分“X”跳和“Z”跳十分重要:
区分“X”旋转跳和“Z”旋转跳十分重要:


*'''X''' 指的是指向东/西的跳跃。很难避免卡墙,所以玩家不得不离墙更远起跳。
<div lang="en" dir="ltr" class="mw-content-ltr">
*'''X-facing''' refers to jumps that point towards East/West. The corner is difficult to avoid, and the player may have to start jumping further back than expected.
</div>


*'''Z''' 指的是指向北/南的跳跃。不容易卡墙,甚至可以贴墙延立。
<div lang="en" dir="ltr" class="mw-content-ltr">
*'''Z-facing''' refers to jumps that point towards North/South. The corner is easier to avoid, and in particular it's possible to do a hh-timing from the front.
</div>


面向的轴向可以用[[Special:MyLanguage/Debug Screen|F3]]查看。
面向的轴向可以用[[Special:MyLanguage/Debug Screen|F3]]查看。
Line 74: Line 68:
玩家往往倾向于面向 Z 的旋转跳更容易,但面向 X 的旋转跳实际上距离更短:
玩家往往倾向于面向 Z 的旋转跳更容易,但面向 X 的旋转跳实际上距离更短:


*面向z的旋转跳非常类似于线性跳跃(假设最优移动)。要转换一个Z轴的旋转跳,只需将其距离增加1.2,并将其[[Special:MyLanguage/Tiers|tier]]增加1。例如,一个三墙相当于一个“4.2+0.25”(不能构建,但这种比较对分析是有用的)
<div lang="en" dir="ltr" class="mw-content-ltr">
*面向x的旋转跳没有线性等效。与面向z的旋转跳相比,它们“移动”了1个刻度(墙壁碰撞的开始和结束都提前了1个刻度)。这种转变会减少动量,但却会让它变得更短,因为玩家在跳跃结束时的速度通常比开始时更快。
*Z-facing neos are very similar to linear jumps (assuming optimal movement). To convert a neo, simply add 1.2 to its distance and increase its [[Special:MyLanguage/Tiers|tier]] by one. For example, a triple neo is equivalent to a "4.2+0.25" (which cannot be built, but this sort of comparison is useful for analysis)
*X-facing neos don't have a linear equivalent. Compared to Z-facing neos, they are "shifted" by 1 tick (wall collision begins and ends 1 tick earlier). This shift reduces the momentum, but makes it more efficient as the player typically has more speed at the end of a jump than at the start.
</div>


某些跳跃只有在面向一个轴或另一个轴时才有可能(例如,[https://youtu.be/apWPY4_-Qbg 2bm三墙] 仅面向 X 有解)
<div lang="en" dir="ltr" class="mw-content-ltr">
Some jumps are only possible when facing one axis or the other (for example, a [https://youtu.be/apWPY4_-Qbg 2bm triple neo] is only possible X-facing)
</div>





Revision as of 08:46, 14 November 2021

Other languages:

Minecraft 的碰撞物理非常簡單:遊戲沒有光線追蹤碰撞,而是簡單地沿每個軸順序移動玩家。

在此提醒,Minecraft的物理更新速度為每秒 20 ticks。玩家的移動和碰撞每Tick更新一次。


碰撞箱

一個碰撞箱由一個或多個邊界箱組成,邊界箱是由最小和最大 X/Y/Z 坐標定義的簡單長方體。

碰撞通常涉及一個實體和一個方塊:方塊和方塊之間通常不會相互碰撞。

  • 玩家只有一個邊界箱,尺寸為 0.6×1.8×0.6 m3。它們的位置(如F3所示)位於底部中心


注意:判定箱'是玩家可以點擊的(例如攻擊實體、按下按鈕、打開門)。它不一定與碰撞框重疊。


碰撞順序

每次更新玩家速度後,遊戲會執行以下步驟來檢查碰撞情況:

  • 沿 Y 軸移動玩家。如果在向下移動時檢測到垂直碰撞,則玩家現在被認定在地面上。
  • 沿 X 軸移動玩家。
  • 沿 Z 軸移動玩家。
  • 如果玩家在地面上撞到一堵牆並且牆的高度小於0.6米,他們可以跨過牆。


垂直碰撞(Y)

在水平移動之前處理垂直移動。因此:

  • 玩家可以在跑過一個方塊後跳一個滴答。這就是延立的原理。
  • 為了降落在方塊上,玩家的邊界箱必須在跳躍的最後時刻與其表面重疊。


當玩家撞到地板或天花板時,他們的垂直速度會重置為 0。


水平碰撞(X/Z)

由於X軸是在Z軸之前處理的,因此旋轉碰撞的行為因方向而異。

這種現象在高速時尤為明顯。

區分「X」旋轉跳和「Z」旋轉跳十分重要:

  • X 指的是指向東/西的跳躍。很難避免卡牆,所以玩家不得不離牆更遠起跳。
  • Z 指的是指向北/南的跳躍。不容易卡牆,甚至可以貼牆延立。

面向的軸向可以用F3查看。


玩家往往傾向於面向 Z 的旋轉跳更容易,但面向 X 的旋轉跳實際上距離更短:

  • 面向z的旋轉跳非常類似於線性跳躍(假設最優移動)。要轉換一個Z軸的旋轉跳,只需將其距離增加1.2,並將其tier增加1。例如,一個三牆相當於一個「4.2+0.25」(不能構建,但這種比較對分析是有用的)
  • 面向x的旋轉跳沒有線性等效。與面向z的旋轉跳相比,它們「移動」了1個刻度(牆壁碰撞的開始和結束都提前了1個刻度)。這種轉變會減少動量,但卻會讓它變得更短,因為玩家在跳躍結束時的速度通常比開始時更快。

某些跳躍只有在面向一個軸或另一個軸時才有可能(例如,2bm三牆 僅面向 X 有解)


1.14+

1.14 更新了碰撞物理。碰撞顺序现在取决于玩家的速度:
  • 如果玩家的Z速度大於X速度(絕對值),碰撞順序為Y-X-Z
  • 否則,碰撞順序為Y-Z-X

In most cases, all collisions now resemble X-facing. Some jumps which involve cutting corners may be very different compared to pre-1.14.