Mouse Movement/zh: Difference between revisions

From Minecraft Parkour Wiki
Content added Content deleted
No edit summary
No edit summary
 
(6 intermediate revisions by the same user not shown)
Line 7: Line 7:




<span id="Sensitivity"></span>
== 灵敏度 ==
== 灵敏度 ==


Line 41: Line 42:




<span id="Remarkable_values"></span>
== 特殊的值 ==
== 特殊的值 ==


由于可以将灵敏度设置为我们想要的任何值,因此调整灵敏度以匹配特定的旋转增量可能会很有趣
由于可以将灵敏度设置为我们想要的任何值,因此可以调整灵敏度以获得特定的旋转增量。


为了得到所需增量的灵敏度 <math display="inline">\delta</math>,我们可以使用逆公式:
为了得到所需增量 <math display="inline">\delta</math> 所匹配的灵敏度,我们可以使用逆公式


<math>s = \frac{\sqrt[3]{\frac{\delta}{1.2}} - 0.2}{0.6}</math>
<math>s = \frac{\sqrt[3]{\frac{\delta}{1.2}} - 0.2}{0.6}</math>
Line 80: Line 82:
|}<br />
|}<br />


<span id="Yaw_and_Pitch"></span>
== 偏航和俯仰 ==
== 偏航和俯仰 ==


偏航(水平旋转)和俯仰(垂直旋转)是跟踪实体头部旋转的[http://zh.wiki.sxisa.org/wiki/%E6%B5%AE%E7%82%B9%E6%95%B0 浮点数]。
偏航(水平旋转)和俯仰(垂直旋转)是跟踪实体头部旋转的[http://zh.wiki.sxisa.org/wiki/%E6%B5%AE%E7%82%B9%E6%95%B0 浮点数]。


[[Special:MyLanguage/Facing and Angles|转向]]是将偏航限制在[-180,180],如[[Special:MyLanguage/Debug Screen|F3]]所示。俯仰角自然夹在[-90,90]之间。
[[Special:MyLanguage/Facing and Angles|转向]]是将偏航限制在 [-180,180],如[[Special:MyLanguage/Debug Screen|F3]]所示。俯仰角自然夹在 [-90,90] 之间。


鼠标移动直接修改玩家的偏航和俯仰:<syntaxhighlight lang="java">
鼠标移动直接修改玩家的偏航和俯仰:<syntaxhighlight lang="java">
Line 118: Line 121:




虽然俯仰角被限制在-90°和 90°之间,但偏航角并不像预想的那样限制在-180°和180°之间。
虽然俯仰角被限制在 -90° 和 90° 之间,但偏航角并不像预想的那样限制在 -180° 180° 之间。


这意味着'''偏航是无限的''',如果你故意朝一个方向转动足够长的时间,则会产生一些意想不到的后果。
这意味着'''偏航是无限的''',如果你故意朝一个方向转动足够长的时间,则会产生一些意想不到的后果。
Line 125: Line 128:
由于它是一个浮点数,所以它的精度会随着它变大而变差,以至于它在大值时变得明显不稳定。
由于它是一个浮点数,所以它的精度会随着它变大而变差,以至于它在大值时变得明显不稳定。


* 当<math>|yaw| > 4194304</math> (<math display="inline">2^{22}</math>)它只能以0.5°的增量增加。
* 当 <math>|yaw| > 4194304</math> (<math display="inline">2^{22}</math>) 它只能以 0.5° 的增量增加。
* 当<math>|yaw| > 8388608</math> (<math display="inline">2^{23}</math>)它只能以1°的增量增加。
* 当 <math>|yaw| > 8388608</math> (<math display="inline">2^{23}</math>) 它只能以 的增量增加。






在某些时候,偏航甚至可以 [https://youtu.be/DEI_CeFlatM 扰乱运动并使玩家停止在原地]。
在某些时候,偏航甚至可以[https://youtu.be/DEI_CeFlatM 扰乱运动并使玩家停止在原地]。


这是因为偏航太大而无法转换为合适的角度(参见 [[Special:MyLanguage/Angles|角度]])。
这是因为偏航太大而无法转换为合适的角度(参见[[Special:MyLanguage/Angles|角度]])。


这种现象发生在<math>|yaw| \geq 11796480 = 360 \times 2^{15}</math>时。
这种现象发生在 <math>|yaw| \geq 11796480 = 360 \times 2^{15}</math> 时。




当<math display="inline">|yaw| > 8.59 \times 10^9</math>时,可能会导致游戏崩溃
<math display="inline">|yaw| > 8.59 \times 10^9</math> 时,可能会导致游戏崩溃

Latest revision as of 05:28, 16 August 2023

Other languages:

滑鼠移動表示光標在屏幕上的瞬時位移(以像素為單位):()。

在《我的世界》中,滑鼠移動代表視角的即時旋轉(以角度表示):()。



靈敏度

靈敏度(s)是一個參數,用於改變視角的旋轉速度。

可以在「控制」菜單中更改此設置。

  • 默認靈敏度為「100%」(
  • 原版中最低的靈敏度是「0%」(
  • 原版中最高的靈敏度是「200%」(


在1.8中, 計算如下:

以同樣的方式獲得,如果打開了「滑鼠反轉」,則乘以-1。


在默認靈敏度下(),滑鼠移動一個像素轉換為 0.15° 旋轉。

這意味著視角以 0.15° 的增量移動:如果要轉 45°,則需要移動滑鼠 300px。


此外,s 理論上並不受 [0,1] 的限制,它可以取任何值(甚至是負值)

您可以在 options.txt(.minecraft 文件夾中)中手動編輯 mouseSensitivity 的值

請注意,伺服器上可能允許也可能不允許修改 options.txt 文件。



特殊的值

由於可以將靈敏度設置為我們想要的任何值,因此可以調整靈敏度以獲得特定的旋轉增量。

為了得到所需增量 所匹配的靈敏度,我們可以使用逆公式:


此表列出了一些特殊的旋轉增量,以及 s 的相應值。

s
-0.3333333
0.1° 0.3946504
0.15° 0.5
0.25° 0.6546926
0.5° 0.9115013
1.2350600
45° 5.2452746
180° 8.5221547


偏航和俯仰

偏航(水平旋轉)和俯仰(垂直旋轉)是跟蹤實體頭部旋轉的浮點數

轉向是將偏航限制在 [-180,180],如F3所示。俯仰角自然夾在 [-90,90] 之間。

滑鼠移動直接修改玩家的偏航和俯仰:

/* 在EntityRenderer.java中 */
public void updateMouseMovement(...)
{
    ... //忽略前面的代码

    float f = this.mc.gameSettings.mouseSensitivity * 0.6F + 0.2F;
    float mult = f * f * f * 8.0F;
    float dX = (float)this.mc.mouseHelper.deltaX * mult;
    float dY = (float)this.mc.mouseHelper.deltaY * mult;

    int i = 1;
    if (this.mc.gameSettings.invertMouse)
        i = -1;

    ... //如果为平滑相视角则应用过滤器

    this.mc.thePlayer.rotateEntity(dX, dY*i);
}


/* 在Entity.java中 */
public void rotateEntity(float dX, float dY)
{
    this.rotationYaw = this.rotationYaw + dX*0.15);
    this.rotationPitch = this.rotationPitch - dY*0.15;
    this.rotationPitch = MathHelper.clamp(this.rotationPitch, -90.0, 90.0);
}


雖然俯仰角被限制在 -90° 和 90° 之間,但偏航角並不像預想的那樣限制在 -180° 和 180° 之間。

這意味著偏航是無限的,如果你故意朝一個方向轉動足夠長的時間,則會產生一些意想不到的後果。


由於它是一個浮點數,所以它的精度會隨著它變大而變差,以至於它在大值時變得明顯不穩定。

  • () 它只能以 0.5° 的增量增加。
  • () 它只能以 1° 的增量增加。


在某些時候,偏航甚至可以擾亂運動並使玩家停止在原地

這是因為偏航太大而無法轉換為合適的角度(參見角度)。

這種現象發生在 時。


時,可能會導致遊戲崩潰。