@Gioo12x

Как сделать скрипт вращения объекта по оси Y плавным на зажатия левой кнопки мыши в юнити 2Д?

Мне нужна помощь со своим скриптом. У меня проблема объект поворачиваются резко когда я кликаю но он должен действовать, поворачивается плавно когда я зажимаю левую кнопку мыши.
И я хочу спросить как сделать так чтоб объект в этом скрипте когда мышь не зажата объект возвращался по оси Y в исходную точку (как руки в неон абисс после стрельбы).

Вот сам скрипт:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class RotaleInMause : MonoBehaviour
{
    public float offset;

    void Update()
    {if (Input.GetMouseButtonDown(0))
        {
            Vector3 diference = Camera.main.ScreenToWorldPoint(Input.mousePosition) - transform.position;
            float rotateZ = Mathf.Atan2(diference.y, diference.x) * Mathf.Rad2Deg;
            transform.rotation = Quaternion.Euler(0f, 0f, rotateZ + offset);


            Vector3 LocalScale = Vector3.one;

            if (rotateZ > 90 || rotateZ < -90)
            {
                LocalScale.y = -1f;
            }
            else
            {
                LocalScale.y = +1f;
            }


            transform.localScale = LocalScale;
        }
      
    }
    
}
  • Вопрос задан
  • 72 просмотра
Пригласить эксперта
Ответы на вопрос 2
freeExec
@freeExec
Участник OpenStreetMap
Задачка 5 класс.
Дано: нужно переместить объект из точки А в точку Б за 1 секунду.
Вопрос: на сколько объект переместиться за время, которое прошло с предыдущего кадра?

Не сразу его телепортируем в Б, а по чуть чуть, с каждым кадром.
Ответ написан
Комментировать
@Helpmiplis
Для плавности умножь координаты на Time.deltaTime.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы