Имею на камере скрипт:
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
public class FlyCam : MonoBehaviour {
public float rotationX;
public float rotationY;
public float MouseX;
public float MouseY;
public float sensitivityX;
public float sensitivityY;
// Use this for initialization
void Start () {
sensitivityX = 2.0F;
sensitivityY = 2.0F;
rotationX = transform.eulerAngles.y;
rotationY = transform.eulerAngles.x;
}
void Update () {
MouseX = Input.GetAxis("Mouse X");
if(MouseX < -2) MouseX = -2;
if(MouseX > 2) MouseX = 2;
MouseY = Input.GetAxis("Mouse Y");
if(MouseY < -2) MouseY = -2;
if(MouseY > 2) MouseY = 2;
rotationY -= MouseY * sensitivityY;
if(rotationY > 360 || rotationY < -360) rotationY = 0;
if(rotationY < -90 && rotationY > -270 || rotationY > 90 && rotationY < 270) {
rotationX -= MouseX * sensitivityX;
}
else {
rotationX += MouseX * sensitivityX;
}
transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.Euler(rotationY,rotationX,0), 2*Time.deltaTime);
}
}
using System.Collections;
public class FlyCam : MonoBehaviour {
public float rotationX;
public float rotationY;
public float MouseX;
public float MouseY;
public float sensitivityX;
public float sensitivityY;
// Use this for initialization
void Start () {
sensitivityX = 2.0F;
sensitivityY = 2.0F;
rotationX = transform.eulerAngles.y;
rotationY = transform.eulerAngles.x;
}
void Update () {
MouseX = Input.GetAxis("Mouse X");
if(MouseX < -2) MouseX = -2;
if(MouseX > 2) MouseX = 2;
MouseY = Input.GetAxis("Mouse Y");
if(MouseY < -2) MouseY = -2;
if(MouseY > 2) MouseY = 2;
rotationY -= MouseY * sensitivityY;
if(rotationY > 360 || rotationY < -360) rotationY = 0;
if(rotationY < -90 && rotationY > -270 || rotationY > 90 && rotationY < 270) {
rotationX -= MouseX * sensitivityX;
}
else {
rotationX += MouseX * sensitivityX;
}
transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.Euler(rotationY,rotationX,0), 2*Time.deltaTime);
}
}
Вопрос собственно такой, при повороте камеры на 90 градусов вверх или вниз камера вращается вокруг "полюса сферы", с чем это связано?
ps Битва, собственно, за то, чтобы камера свободно вращалась, типо авиасим-космосим....