2016-10-13 4 views
0

Im пытается сделать мою камеру, которая прилипает к моему плееру, поворачивается вокруг нее на 45 градусов, когда я нажимаю Q или E., но по какой-то причине я не могу заставить ее работать. im используя C#.Unity3d Вращение камеры не работает

using UnityEngine; 
using System.Collections; 
public class Camera : MonoBehaviour 
{ 
    int rotatespeed = 3; 
    int rotationstart = 90; 

    public GameObject player; 

    private Vector3 offset; 

    // Use this for initialization 
    void Start() 
    { 
     offset = transform.position - player.transform.position; 
    }  

    // Update is called once per frame 
    void LateUpdate() { 
      transform.position = player.transform.position + offset; 
    } 

    void Update() 
    { 
     if (Input.GetKey("q")) 
     { 
      Camera.main.transform.rotation = Quaternion.Euler(x + 45 , y, z); 
     } 
     if (Input.GetKey("e")) 
     { 
      Camera.main.transform.rotation = Quaternion.Euler(x - 45, y, z); 
     } 
    } 
} 

ответ

3

Вы должны размножаться при вращении

if (Input.GetKey("q")) 
    { 
     Camera.main.transform.rotation *= Quaternion.Euler(45 , 0, 0); 
    } 
    if (Input.GetKey("e")) 
    { 
     Camera.main.transform.rotation *= Quaternion.Euler(-45, 0, 0); 
    } 

Однако это сделать его вверх и вниз, если вы хотите, влево и вправо используйте следующие

if (Input.GetKey("q")) 
    { 
     Camera.main.transform.rotation *= Quaternion.Euler(0, 45, 0); 
    } 
    if (Input.GetKey("e")) 
    { 
     Camera.main.transform.rotation *= Quaternion.Euler(0, -45, 0); 
    } 

Важная сторона-к сведению

Имейте в виду, что GetKey вернет true, пока пользователь удерживает его, что даже при очень быстром нажатии приведет к тому, что ваша камера, казалось бы, выйдет из-под контроля из-за того, что она все еще является несколькими кадрами. Вы, скорее всего, захотите использовать GetKeyDown, который будет возвращать true только каждый раз, когда пользователь нажимает клавишу

+0

хорошо, ive немного изменило его, ив также установил его в javascript вместо C#. но теперь камера вращается, а не вращается вокруг персонажа. Вы знаете, как заставить вращаться вокруг неподвижной точки? –

Смежные вопросы