Hi, I am trying to rotate a cube with this script. In editor it acts as I would expect, but on Android device, the rotation is not that smooth, the cube is being rotated on every touch on screen in such way, I can’t really work with it.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class rotateCube : MonoBehaviour
{
Vector3 mPrevPos = Vector3.zero;
Vector3 mPosDelta = Vector3.zero;
void Update() {
mPosDelta = Input.mousePosition - mPrevPos;
bool interacted = false;
if (!Input.touchSupported)
{
interacted = Input.GetMouseButton(0);
}
else
{
interacted = (Input.touchCount == 1);
}
if(interacted)
{
if(Vector3.Dot(transform.up, Vector3.up) >=0)
{
transform.Rotate(transform.up, -Vector3.Dot(mPosDelta, Camera.main.transform.right), Space.World);
}
else
{
transform.Rotate(transform.up, Vector3.Dot(mPosDelta, Camera.main.transform.right), Space.World);
}
transform.Rotate(Camera.main.transform.right, Vector3.Dot(mPosDelta, Camera.main.transform.up), Space.World);
}
mPrevPos = Input.mousePosition;
}
}