Задать вращение вокруг оси в 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 градус в кадр
Но на пузыре еще висит отдельно скрипт движения по синусоидальной траектории вверх.Нужно сохранить траекторию движения и просто заставить его крутиться вокруг своей оси в процессе
Думаю,что тут надо как-то скармливать ему текущее положение пузырика в каждый кадр и уже относительно его положения вертеть,но вот как грамотно сделать,что-то не могу представить