Здравия, форумчане! Проблема с Unity. У меня есть булевая переменная threeD, мне нужно, чтобы при значении true камера была повёрнута на 15 градусов вниз от горизонта, а при значении false, направление камеры должно быть параллельно горизонту. Вот код:
C#:
using UnityEngine;
using System.Collections;
public class Move : MonoBehaviour {
public GameObject player;
public int speedRotation = 3;
public int speed = 5;
public int jumpSpeed = 50;
public bool threeD = false;
void Start () {
player = (GameObject)this.gameObject;
}
void Update(){
if (threeD == true)
{
if (Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.UpArrow))
{
player.transform.position += player.transform.forward * speed * Time.deltaTime;
}
if (Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.DownArrow))
{
player.transform.position -= player.transform.forward * speed * Time.deltaTime;
}
}
else
{
if (Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.UpArrow))
{
player.transform.position += player.transform.up * jumpSpeed * Time.deltaTime;
}
}
if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow))
{
player.transform.position -= player.transform.right * speed * Time.deltaTime;
}
if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow))
{
player.transform.position += player.transform.right * speed * Time.deltaTime;
}
if (Input.GetKeyDown(KeyCode.Space))
{
player.transform.position += player.transform.up * jumpSpeed * Time.deltaTime;
}
if (Input.GetKeyDown(KeyCode.Q))
{
if (threeD == true)
{
threeD = false;
}
else
{
threeD = true;
}
}
}
}