C# поворот объекта сброса - PullRequest
0 голосов
/ 27 апреля 2020

У меня есть сценарий 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);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...