Синтаксис:
Используется csharp
float rotSpeed = 7;
float rotX = Input.GetAxis("Mouse X") * rotSpeed * Mathf.Deg2Rad;
float rotY = Input.GetAxis("Mouse Y") * rotSpeed * Mathf.Deg2Rad;
cubo.transform.RotateAround(Vector3.up, rotX);
cubo.transform.RotateAround(Vector3.right, rotY);
float rotX = Input.GetAxis("Mouse X") * rotSpeed * Mathf.Deg2Rad;
float rotY = Input.GetAxis("Mouse Y") * rotSpeed * Mathf.Deg2Rad;
cubo.transform.RotateAround(Vector3.up, rotX);
cubo.transform.RotateAround(Vector3.right, rotY);
После вращения кубик может оказаться в любом положение, что усложняет задачу определения стороны поворота.
Сам метод поворота уже готов но вот проворачивает он не в те стороны.
Как делал я , определял точку начального клика на определенном кубике (через Input.MousePosition) и там где пользователь отжал, определял смещение и вращал в нужную сторону грань. Но данный метод не подходит только потому, что во время вращения кубика, он может быть перевернут и получится так, что пользователь будет крутить грань вверх, а программа будет крутить грань в низ (Например если посмотреть на кубик так ( [6] ) Input.mous верх и низ будет определять верно, а если его перевернешь кубик ( [9] ), то уже верх это будет вниз а низ вверх ) Да и верхние и нижние грани имеют линии поворота наклонные от прямых координат на кране x y.
Отсюда вытекает,что способ не подходит.
Не подскажите какие есть идеи у вас, для реализации этой задачи?