Вращение ствола танка - PullRequest
2 голосов
/ 30 апреля 2020

Здравствуйте, я делаю игру в единство о танках, и в настоящее время я делаю сценарий о башне танка, и у меня возникла проблема с танковой пушкой. Когда я вращаю башню, пистолет все еще остается в одном и том же положении лицом к лицу все время

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);

    }
}

Надеюсь, вы поможете мне.

1 Ответ

2 голосов
/ 30 апреля 2020

гул, если я угадаю проблему без какой-либо другой точности, вы должны проверить localRotation для пушки

gun.transform.localrotation = .....

вращение в мировом пространстве, localrotation для вращения пушки относительно башни

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...