У меня есть сценарий C#, который вращает объект колеса ацте c, который вращается пальцем игрока. Однако каждый раз, когда начинается перетаскивание, угол поворота начинается с 0. Как добавить класс, чтобы запомнить последний угол, чтобы колесо не сбрасывалось? Я пытался добавить код и удалить биты, но это не помогает. Я не кодер по профессии, поэтому я немного растерялся. Это код ниже
using System.Collections;
using UnityEngine;
public class rotate : MonoBehaviour {
private float baseAngle = 0.0f;
void OnMouseDown(){
Vector3 pos = Camera.main.WorldToScreenPoint(transform.position);
pos = Input.mousePosition - pos;
baseAngle = Mathf.Atan2(pos.y, pos.x) * Mathf.Rad2Deg;
baseAngle -= Mathf.Atan2(transform.forward.y, transform.forward.x) *Mathf.Rad2Deg;
}
void OnMouseDrag(){
Vector3 pos = Camera.main.WorldToScreenPoint(transform.position);
pos = Input.mousePosition - pos;
float ang = Mathf.Atan2(pos.y, pos.x) *Mathf.Rad2Deg - baseAngle;
transform.rotation= Quaternion.AngleAxis(ang,Vector3.forward);
}
}