• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Вращение объекта в Unity

dieZel

Green Team
08.04.2018
227
598
BIT
0
Здравия, форумчане! Проблема с 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;
    }
  }
 }
}
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!