Movimiento en una dirección
Código
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ControlJugador : MonoBehaviour
{
public float velocidad;
// Update is called once per frame
void Update()
{
transform.Translate(new Vector3(0,0,1) * Time.deltaTime * velocidad);
}
}
Es posible poner también:
transform.Translate(Vector3.forward * Time.deltaTime * velocidad);
transform.Translate(Vector3.back * Time.deltaTime * velocidad);
transform.Translate(Vector3.left * Time.deltaTime * velocidad);
transform.Translate(Vector3.right * Time.deltaTime * velocidad);
transform.Translate(Vector3.up * Time.deltaTime * velocidad);
transform.Translate(Vector3.down * Time.deltaTime * velocidad);
Movimiento en todas direcciones (con teclado)
Código
public class ControlJugador : MonoBehaviour
{
public float velocidad;
public float verticalInput;
public float horizontalInput;
// Update is called once per frame
void Update()
{
verticalInput = Input.GetAxis("Vertical");
horizontalInput = Input.GetAxis("Horizontal");
transform.Translate(Vector3.forward * Time.deltaTime * velocidad * verticalInput);
transform.Translate(Vector3.right * Time.deltaTime * velocidad * horizontalInput);
}
}
Giro de un vehículo
Código
public class ControlJugador : MonoBehaviour
{
public float velocidad;
public float velocidadGiro;
public float verticalInput;
public float horizontalInput;
// Update is called once per frame
void Update()
{
verticalInput = Input.GetAxis("Vertical");
horizontalInput = Input.GetAxis("Horizontal");
transform.Translate(Vector3.forward * Time.deltaTime * velocidad * verticalInput);
transform.Rotate(Vector3.up * Time.deltaTime * velocidadGiro * horizontalInput);
}
}
Movimiento de un avión
Código
public class ControlJugador : MonoBehaviour
{
public float velocidad;
public float velocidadGiro;
public float horizontalInput;
public float verticalInput;
// Update is called once per frame
void Update()
{
horizontalInput = Input.GetAxis("Horizontal");
verticalInput = Input.GetAxis("Vertical");
transform.Translate(Vector3.forward * Time.deltaTime * velocidad);
transform.Rotate(new Vector3(0,1,0) * Time.deltaTime * velocidadGiro * horizontalInput);
transform.Rotate(new Vector3(1, 0, 0) * verticalInput * velocidadGiro * Time.deltaTime);
}
}