Horizontal Movement Formulas/ja: Difference between revisions

From Minecraft Parkour Wiki
Content added Content deleted
(Updating to match new version of source page)
No edit summary
 
(21 intermediate revisions by the same user not shown)
Line 17: Line 17:




::<math>M_{t} = \begin{Bmatrix}1.3 & \text{ダ } \\ 1.0 & \text{歩 き}\\ 0.3 & \text{ス }\\ 0.0 & \text{停 止} \end{Bmatrix} \times \begin{Bmatrix}0.98 & \text{通 常}\\ 1.0 & 45^{\circ}~\text{Strafe} \\ 0.98 \sqrt{2} & 45^{\circ}~\text{ス } \end{Bmatrix}</math>
<div class="mw-translate-fuzzy">
::<math>M_{t} = \begin{Bmatrix}1.3 & \textrm{ダ ッ シ ュ} \\ 1.0 & \textrm{歩 き}\\ 0.3 & \textrm{ス ニ ー ク}\\ 0.0 & \textrm{停 止} \end{Bmatrix} \times \begin{Bmatrix}0.98 & \textrm{通 常}\\ 1.0 & \textrm{45° Strafe} \\ 0.98 \sqrt{2} & \textrm{45°ス ニ ー ク} \end{Bmatrix}</math>
</div>




Line 25: Line 23:




::<math>E_{t} = \underset{\text{移 動 速 度 低 下 の レ ベ ル 1 ご と に} ~ 15\% \text{低 下}}{\underset{\text{移 動 速 度 上 昇 の レ ベ ル 1 ご と に} ~ 20\% \text{増 加}}{\underbrace{\left ( 1 + 0.2\times \text{移 昇 } \right ) ~ \times ~ \left ( 1 - 0.15\times \text{移 下 } \right )}}} \geq 0</math>
<div class="mw-translate-fuzzy">
::<math>E_{t} = \underset{\textrm{移 動 速 度 低 下 の レ ベ ル 1 ご と に} \; 15\% \textrm{低 下}}{\underset{\textrm{移 動 速 度 上 昇 の レ ベ ル 1 ご と に} \; 20\% \textrm{増 加}}{\underbrace{\left ( 1 + 0.2\times \textrm{移 動 速 度 上 昇 } \right ) \: \times\: \left ( 1 - 0.15\times \textrm{移 動 速 度 低 下 } \right )}}} \geq 0</math>
</div>




Line 33: Line 29:




::<math>S_{t} = \begin{Bmatrix}0.6 & \textrm{通 常}\\ 0.8 & \textrm{ス ラ イ ム}\\ 0.98& \textrm{氷} \\ 1.0 & \textrm{空 中} \end{Bmatrix}</math>
::<math>S_{t} = \begin{Bmatrix}0.6 & \text{通 常}\\ 0.8 & \text{ス }\\ 0.98& \text{氷} \\ 1.0 & \text{空 中} \end{Bmatrix}</math>
:
:


Line 51: Line 47:
:'''地面での速度''':
:'''地面での速度''':


::<math>V_{H,t} = \underset{\text{慣 性}}{\underbrace{\underset{ }{V_{H,t-1} \times S_{t-1} \times 0.91 }}} ~ + ~ \underset{\text{加 速 度}}{\underbrace{0.1 \times M_{t} \times E_{t} \times \left (\frac{0.6}{S_{t}} \right )^{3}}}</math>
<div class="mw-translate-fuzzy">
::<math>V_{H,t} = \underset{\textrm{慣 性}}{\underbrace{\underset{ }{V_{H,t-1} \times S_{t-1} \times 0.91 }}} \: + \: \underset{\textrm{加 速 度}}{\underbrace{0.1 \times M_{t} \times E_{t} \times \left (\frac{0.6}{S_{t}} \right )^{3}}} </math>
</div>




:'''ジャンプの速度''':
:'''ジャンプの速度''':


::<math>V_{H,t} = \underset{\text{慣 性}}{\underbrace{\underset{ }{V_{H,t-1} \times S_{t-1} \times 0.91 }}} ~ + ~ \underset{\text{加 速 度}}{\underbrace{0.1 \times M_{t} \times E_{t} \times \left (\frac{0.6}{S_{t}} \right )^{3}}} + \underset{\text{ダ ッ シ ュ ジ ャ ン プ ブ ー ス ト}}{\underbrace{\begin{Bmatrix}0.2 & \text{ダ }\\ 0.0 & \text{そ れ 以 外}\end{Bmatrix} }}</math>
<div class="mw-translate-fuzzy">
::<math>V_{H,t} = \underset{\textrm{慣 性}}{\underbrace{\underset{ }{V_{H,t-1} \times S_{t-1} \times 0.91 }}} \: + \: \underset{\textrm{加 速 度}}{\underbrace{0.1 \times M_{t} \times E_{t} \times \left (\frac{0.6}{S_{t}} \right )^{3}}} + \underset{\textrm{ダ ッ シ ュ ジ ャ ン プ ブ ー ス ト}}{\underbrace{\begin{Bmatrix}0.2 & \textrm{ダ ッ シ ュ}\\ 0.0 & \textrm{そ
れ 以 外}\end{Bmatrix} }}</math>
</div>




:'''空中での速度''':
:'''空中での速度''':


::<math>V_{H,t} = \underset{\text{慣 性}}{\underbrace{\underset{ }{V_{H,t-1} \times S_{t-1} \times 0.91 }}} ~ + ~ \underset{\text{加 速 度}}{\underbrace{\underset{ }{0.02 \times M_{t}}}} </math>
<div class="mw-translate-fuzzy">
::<math>V_{H,t} = \underset{\textrm{慣 性}}{\underbrace{\underset{ }{V_{H,t-1} \times S_{t-1} \times 0.91 }}} \: + \: \underset{\textrm{加 速 度}}{\underbrace{\underset{ }{0.02 \times M_{t}}}} </math>
</div>




Line 90: Line 79:
:'''地面での速度''':
:'''地面での速度''':


::<math>V\displaystyle _{X,t} = \underset{ }{V\displaystyle _{X,t-1} \times S_{t-1} \times 0.91 } ~ + ~ 0.1 \times M_{t} \times E_{t} \times \left (\frac{0.6}{S_{t}} \right )^{3} \times \sin (D_{t}) </math>
<div class="mw-translate-fuzzy">
::<math>V\displaystyle _{X,t} = \underset{ }{V\displaystyle _{X,t-1} \times S_{t-1} \times 0.91 } \: + \: 0.1 \times M_{t} \times E_{t} \times \left (\frac{0.6}{S_{t}} \right )^{3} \times \sin (D_{t}) </math>
::<math>V\displaystyle _{Z,t} = \underset{\text{慣 性}}{\underbrace{\underset{ }{V\displaystyle _{Z,t-1} \times S_{t-1} \times 0.91 }}} ~ + ~ \underset{\text{加 速 度}}{\underbrace{0.1 \times M_{t} \times E_{t} \times \left (\frac{0.6}{S_{t}} \right )^{3}}} \times \cos (D_{t}) </math>
::<math>V\displaystyle _{Z,t} = \underset{\textrm{慣 性}}{\underbrace{\underset{ }{V\displaystyle _{Z,t-1} \times S_{t-1} \times 0.91 }}} \: + \: \underset{\textrm{加 速 度}}{\underbrace{0.1 \times M_{t} \times E_{t} \times \left (\frac{0.6}{S_{t}} \right )^{3}}} \times \cos (D_{t}) </math>
</div>


:'''ジャンプの速度''':
:'''ジャンプの速度''':


::<math>V\displaystyle _{X,t} = \underset{ }{V\displaystyle _{X,t-1} \times S_{t-1} \times 0.91 } ~ + ~ 0.1 \times M_{t} \times E_{t} \times \left (\frac{0.6}{S_{t}} \right )^{3} \times \sin (D_{t}) + \begin{Bmatrix} 0.2 & \text{ダ }\\ 0.0 & \text{そ }\end{Bmatrix} \times \sin (F_{t}) </math>
<div class="mw-translate-fuzzy">
::<math>V\displaystyle _{X,t} = \underset{ }{V\displaystyle _{X,t-1} \times S_{t-1} \times 0.91 } \: + \: 0.1 \times M_{t} \times E_{t} \times \left (\frac{0.6}{S_{t}} \right )^{3} \times \sin (D_{t}) + \begin{Bmatrix} 0.2 & \textrm{ダ ッ シ ュ}\\ 0.0 & \textrm{そ れ 以 外}\end{Bmatrix} \times \sin (F_{t}) </math>
::<math>V\displaystyle _{Z,t} = \underset{\text{慣 性}}{\underbrace{\underset{ }{V\displaystyle _{Z,t-1} \times S_{t-1} \times 0.91 }}} ~ + ~ \underset{\text{加 速 度}}{\underbrace{0.1 \times M_{t} \times E_{t} \times \left (\frac{0.6}{S_{t}} \right )^{3}}} \times \cos (D_{t}) + \underset{\text{ダ ッ シ ュ ジ ャ ン プ ブ ー ス ト}}{\underbrace{\begin{Bmatrix} 0.2 & \text{ダ }\\ 0.0 & \text{そ }\end{Bmatrix} \times \cos (F_{t})}} </math>
::<math>V\displaystyle _{Z,t} = \underset{\textrm{慣 性}}{\underbrace{\underset{ }{V\displaystyle _{Z,t-1} \times S_{t-1} \times 0.91 }}} \: + \: \underset{\textrm{加 速 度}}{\underbrace{0.1 \times M_{t} \times E_{t} \times \left (\frac{0.6}{S_{t}} \right )^{3}}} \times \cos (D_{t}) + \underset{\textrm{ダ ッ シ ュ ジ ャ ン プ ブ ー ス ト}}{\underbrace{\begin{Bmatrix} 0.2 & \textrm{ダ ッ シ ュ}\\ 0.0 & \textrm{そ れ 以 外}\end{Bmatrix} \times \cos (F_{t})}} </math>
</div>


:'''空中での速度''':
:'''空中での速度''':


::<math>V\displaystyle _{X,t} = \underset{ }{V\displaystyle _{X,t-1} \times S_{t-1} \times 0.91 } ~ + ~ 0.02 \times M_{t} \times \sin (D_{t}) </math>
<div class="mw-translate-fuzzy">
::<math>V\displaystyle _{X,t} = \underset{ }{V\displaystyle _{X,t-1} \times S_{t-1} \times 0.91 } \: + \: 0.02 \times M_{t} \times \sin (D_{t}) </math>
::<math>V\displaystyle _{Z,t} = \underset{\text{慣 性}}{\underbrace{\underset{ }{V\displaystyle _{Z,t-1} \times S_{t-1} \times 0.91 }}} ~ + ~ \underset{\text{加 速 度}}{\underbrace{\underset{}{0.02 \times M_{t}}}} \times \cos (D_{t}) </math>
::<math>V\displaystyle _{Z,t} = \underset{\textrm{慣 性}}{\underbrace{\underset{ }{V\displaystyle _{Z,t-1} \times S_{t-1} \times 0.91 }}} \: + \: \underset{\textrm{加 速 度}}{\underbrace{\underset{}{0.02 \times M_{t}}}} \times \cos (D_{t}) </math>
</div>





Latest revision as of 09:49, 26 December 2023

Other languages:

ゲーム内では、以下の3ステップが毎tick実行される:

  1. プレイヤーの速度に加速度を加える。
  2. プレイヤーを動かす(新しい位置 = 元の位置 + 速度)。
  3. 抗力の再現のため、プレイヤーの速度を落とす。

公式をより読みやすくするため、各種倍率の紹介から始める。


倍率

移動方法の倍率45°Strafeを参照)



エフェクトの倍率ステータス効果を参照)



滑りやすさの倍率滑りやすさを参照)



直線の公式

以下の簡易式は、直線的な動き(移動方向の変化なし)にのみ適用される。 この条件は限定的に思えるかもしれないが、シンプルなジャンプや助走の分析に非常に有用である。 角度を含めた公式への拡張は、後の見出しで行う。


定義:
  • はプレイヤーの初速(デフォルト = 0)。
  • tick目でのプレイヤーの速度。


地面での速度:


ジャンプの速度:


空中での速度:


完全な公式

新しい変数を2つ導入する:

  • (Direction)、プレイヤーの動いている角度、単位は度(キー入力と回転角度によって決まる)。
  • (Facing)、プレイヤーの向いている角度、単位は度(回転角度のみによって決まる)。


実際には、significant angleの数が限られているため、角度はそれほど単純ではない(角度を参照)。

簡略化のため、この事実は無視する。


定義:
  • はプレイヤーの初速に対応する。
  • tick目でのプレイヤーの速度に対応する。

地面での速度:
ジャンプの速度:
空中での速度:


停止条件

水平方向の速度は、プレイヤーが壁に接触するか、その速度が無視できるほど小さいと判断された場合、0に設定される。


壁の衝突判定:
プレイヤーがX方向の壁と接触すると、慣性がキャンセルされ、に含まれるのは加速度のみになる。
プレイヤーがZ方向の壁と接触すると、慣性がキャンセルされ、に含まれるのは加速度のみになる。
どちらの場合も、ダッシュは途切れる。


無視できる速度のしきい値:
の場合、慣性がキャンセルされ、加速度のみが残る。
の場合、慣性がキャンセルされ、加速度のみが残る。
1.9以降は、このしきい値は0.003となる。


ソースコード

[...]