Как задать скорость вращения объекта в градусах

Программирование на Юнити.

Как задать скорость вращения объекта в градусах

Сообщение Nukiesto 11 авг 2020, 09:03

Имеется объект который вращается вслед за мышью с определенной скоростью, и так вышло что мне надо эту скорость изменять в градусах
Синтаксис:
Используется csharp
using UnityEngine;
using UnityEngine.UI;

public class TankController : MonoBehaviour
{
        [Header("Башня танка:")]
        [SerializeField] private Transform tower;
        [SerializeField] private float towerRotationSpeed;

        Quaternion TowerRotation()
        {
                Vector3 mouse = Input.mousePosition;
                mouse.z = Camera.main.transform.position.z;
                Vector3 direction = Camera.main.ScreenToWorldPoint(mouse) - transform.position;

                float angle = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;
                return Quaternion.AngleAxis(angle, Vector3.forward);
        }
        void Update()
        {
                tower.rotation = Quaternion.Lerp(tower.rotation, TowerRotation(), towerRotationSpeed * Time.deltaTime);
        }
}
 
Nukiesto
UNец
 
Сообщения: 2
Зарегистрирован: 29 июл 2020, 17:51

Re: Как задать скорость вращения объекта в градусах

Сообщение 1max1 11 авг 2020, 12:15

Дельту угла бери исходя из прошлого значения либо юзай товард вместо лерпа.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7