0

マウスを使って銃を向けているキャラクターがいます。今、私は彼に狙いを定めさせていますが、彼はアニメーションで銃を完全に前方に向けていないので、正しく見えません. 以下のコードに追加してスパインを回転させ、彼が完全に前を向くようにする方法はありますか? 方法が思い浮かびません。

void LateUpdate()
{
    rotationX += Input.GetAxis("Mouse X") * sensitivityX;
    rotationY += Input.GetAxis("Mouse Y") * sensitivityY;


    rotationX = ClampAngle(rotationX, minX, maxX);
    rotationY = ClampAngle(rotationY, minY, maxY);



    Quaternion xQuaternion = Quaternion.AngleAxis(rotationX, Vector3.up);
    Quaternion yQuaternion = Quaternion.AngleAxis(-rotationY, Vector3.right);



    transform.localRotation = originalRotation * xQuaternion;

    for (int counter = 0; counter < spines.Length; counter++)
    {
        spines[counter].localRotation = originalSpineRotations[counter] * yQuaternion ;
    }
}

これは、照準を行う上記のコードの一部です

    for (int counter = 0; counter < spines.Length; counter++)
    {
        spines[counter].localRotation = originalSpineRotations[counter] * yQuaternion ;
    }

下向き 上向き 方向図

4

1 に答える 1

0

わかりましたので、何時間も数学をいじり、それを機能させようとした後、Quaternion.AngleAxis には Vector3.right のような静的な方向が必要であることを忘れ始めました。私が最初にこれを行ったとき、私は Vector3.right を使用していましたが、正しく見えるようにする方法を理解しようとしているときに、gun.right 魔女の変更を使用し始めたので、より奇妙なことが起こりました。quaternion.AngleAxis が静的な方向をどのように必要とするかを最終的に考えたとき、空のゲームオブジェクトを作成し、それを銃の位置と回転に配置し、それを方向引数として使用しました

Quaternion yQuaternion = Quaternion.AngleAxis(-rotationY, axisObj.right);
于 2013-09-30T00:07:00.007 に答える