Всем добрый день, может кто-нибудь помочь с кодом ? Код должен делать разворот объекта по оси Z и он работает , я нажимаю на объект и поворачиваю влево/вправо , но каждый раз когда я убираю палец и снова нажимаю на объект - он сам разворачивается в место моего касания , а мне нужно чтобы я мог продолжить разворот с того места где я отпускал нажатие , а тут получается каждый раз по новой поворачивать. Сколько не пробуй никак не смог настроить код , ниже сам код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ToucTurn : MonoBehaviour
{
[Header("Degree of rotation offset. *360")]
publicfloat offset = 0f;
Vector3 startDragDir;
Vector3 currentDragDir;
Quaternion initialRotation;
float angleFromStart;
void OnMouseDown()
{
startDragDir = Camera.main.ScreenToWorldPoint(Input.mousePosition) - transform.position;
initialRotation = transform.rotation;
}
void OnMouseDrag()
{
Vector3 difference = Camera.main.ScreenToWorldPoint(Input.mousePosition) - transform.position;
difference.Normalize( );
float rotationZ = Mathf.Atan2( difference.y, difference.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.Euler( 0f, 0f, rotationZ - (0 + offset) );
}
}