ボタンを押しながらオブジェクトを回転させるスクリプトがあります。回転平面は、ドロップダウンメニューでどの軸が選択されているかによって異なります。このスクリプトは主にY軸とZ軸で正常に機能しますが、X軸では予期しない動作をします。ユニティX軸回転クール
左の回転ボタンを押していると、音量は-90になり、「つぶれ」ます。私は右の回転ボタンを押したままにして、90以上には戻りません。さらに奇妙なのは、特定の方向に拘束されて別の方向に切り替わった後で、ボリュームが別の方向に戻るのではなく、最初に詰まっていない方向に続きます。これにより、左右の回転ボタンが入れ替わります。
ここには、すべての主な操作のコードがあります。
public void Update()
{
axis = axisDropdown.value;
Vector3 originalRot = transform.eulerAngles;
if (buttonHeld)
{
if (rotateRight)
{
if (axis == 0)
{
originalRot.x += 1;
transform.rotation = Quaternion.Euler(originalRot);
}
else if (axis == 1)
{
originalRot.y += 1;
transform.rotation = Quaternion.Euler(originalRot);
}
else if (axis == 2)
{
originalRot.z += 1;
transform.rotation = Quaternion.Euler(originalRot);
}
else
{
print("Error: Selected axis option is invalid");
}
}
else
{
if (axis == 0)
{
originalRot.x -= 1;
transform.rotation = Quaternion.Euler(originalRot);
}
else if (axis == 1)
{
originalRot.y -= 1;
transform.rotation = Quaternion.Euler(originalRot);
}
else if (axis == 2)
{
originalRot.z -= 1;
transform.rotation = Quaternion.Euler(originalRot);
}
else
{
print("Error: Selected axis option is invalid");
}
}
}
}
私は私に他の同様の問題を読んだことがあるが、それらはすべて、任意の助けをいただければ幸いですので、若干異なるように見えます。
それだけでジンバルロック効果を見上げ、それはジンバルロック効果 – Bijan
うんだ私には思えます。それは私の問題とまったく同じように思えます。これを修正する方法はありますか? – jarthur