储罐桶旋转



你好,我正在制作一个关于坦克的游戏,目前我正在制作关于坦克炮塔的脚本,我遇到了坦克炮的问题。当我旋转塔时,枪仍然保持在相同的位置,一直面向相同的方向

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TankManager: MonoBehaviour
{
public GameObject turret;
public GameObject gun;
float mouseX=0;
float mouseY=-90;
public float moveSpeed;
private void FixedUpdate()
{
MoveTower();
}
void MoveTower()
{
mouseX += Input.GetAxis("Mouse X");
mouseY += Input.GetAxis("Mouse Y")*-1;
turret.transform.rotation = Quaternion.RotateTowards(turret.transform.rotation, Quaternion.Euler(new Vector4(-90, mouseX, -180)), moveSpeed);
gun.transform.rotation = Quaternion.RotateTowards(gun.transform.rotation, Quaternion.Euler(new Vector3(mouseY, 0, turret.transform.rotation.z)), moveSpeed);
}
}

希望你能帮助我。

hum如果我猜问题没有任何其他精度,你应该测试枪的localRotation

gun.transform.localrotation = .....

旋转是在世界空间中,局部旋转是指旋转火炮相对于炮塔

最新更新