Nie_yar
@Nie_yar
Начинающий программист.

Как сделать плавное вращение объекта с затуханием (Unity 2D)?

Добрый день ! Нужна ваша помощь. Подскажите, как мне реализовать так, чтобы при нажатии на клавишу мой объект вращался по траектории z вокруг своей оси, но вращение происходило плавно с затуханием и только против часовой стрелки, а также со смещением на градусов 60-110 от текущего положениян на оси z.

В моем коде вращение происходит резко и по разным сторонам.
Код:
spoiler

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Player : MonoBehaviour
{
    public float RotatePlayer;
    public bool isTouchClick;

    private int min;
    private int max;

    void Start()
    {

    }

    void Update()
    {
        if(Input.GetKey(KeyCode.Space))
        {
            isTouchClick = true;
        } 
        else
        {
            isTouchClick = false;
        }

        PlayerMove();
    }

    public void PlayerMove()
    {
        if (isTouchClick == true)
        {
            GetRandomRotation();
            transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.Euler(0, 0, 0 + RotatePlayer), 0.07f);
        }
        else if (isTouchClick == false)
        {
            // transform.Rotate(0, 0, 0);
        }
    }

    public void GetRandomRotation()
    {

        min = 60;
        max = 110;

        Random rnd = new Random();
        RotatePlayer = Random.Range(min, max + 1);
    }   
}
  • Вопрос задан
  • 367 просмотров
Пригласить эксперта
Ответы на вопрос 1
mopsicus
@mopsicus
Например, с помощью AnimationCurve
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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