Hello
I need MouseLook for tuch system .
My problem: Desktop works great. But on my Android , although I can slide my finger around to look around, every time my finger first touches the screen, my camera seems to pop to a random direction
public override void OnUpdate()
{
if (Input.GetMouseButtonDown(0))
return;
DoMouseLook();
}
void DoMouseLook()
{
var go = Fsm.GetOwnerDefaultTarget(gameObject);
if (go == null)
{
return;
}
var transform = go.transform;
switch (axes)
{
case RotationAxes.MouseXAndY:
transform.localEulerAngles = new Vector3(GetYRotation(), GetXRotation(), 0);
break;
case RotationAxes.MouseX:
transform.localEulerAngles = new Vector3(transform.localEulerAngles.x, GetXRotation(), 0);
break;
case RotationAxes.MouseY:
transform.localEulerAngles = new Vector3(-GetYRotation(), transform.localEulerAngles.y, 0);
break;
}
}
float GetXRotation()
{
rotationX += Input.GetAxis("Mouse X") * sensitivityX.Value;
rotationX = ClampAngle(rotationX, minimumX, maximumX);
return rotationX;
}
float GetYRotation()
{
rotationY += Input.GetAxis("Mouse Y") * sensitivityY.Value;
rotationY = ClampAngle(rotationY, minimumY, maximumY);
return rotationY;
}
// Clamp function that respects IsNone
static float ClampAngle(float angle, FsmFloat min, FsmFloat max)
{
if (!min.IsNone && angle < min.Value)
{
angle = min.Value;
}
if (!max.IsNone && angle > max.Value)
{
angle = max.Value;
}
return angle;
}