Задать вращение вокруг оси в Unity 2D объекту

встал квест сделать вращение объекта по Z оси,имеется спрайт пузырика,который должен крутиться.Кручение само я сделал,но оно работает ровно до того момента,пока он стоит на месте.Как только к нему добавляется вектор движения он начинает крутиться также вокруг Z оси,но со смещенным центром,что выводит его в спираль.

Сделай такой скрипт на кручение

using UnityEngine;

public class BubbleRotation : MonoBehaviour
{
    //[SerializeField]
    //private float bubbleRotateSpeed;

    Quaternion rotationZ;

    private void Start()
    {

    }

    void FixedUpdate()
    {

        Rotation();
    }

    private void Rotation()
    {
        rotationZ = Quaternion.AngleAxis(1, new Vector3(0, 0, 1));
        transform.rotation *= rotationZ;
    }
}

крутится,грубо говоря,вокруг оси Z на 1 градус в кадр

Но на пузыре еще висит отдельно скрипт движения по синусоидальной траектории вверх.Нужно сохранить траекторию движения и просто заставить его крутиться вокруг своей оси в процессе

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


Ответы (0 шт):