Tengo el Siguiente Script, y me funciona bien. Pero el problema es que cuando le doy hacia atrás, mi personaje se queda caminando en reversa. ¿Alguien sabe como hacer que rote, de modo que cuando le de a la flecha hacia abajo, camine en dirección opuesta, en lugar de caminar en reversa?
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(CharacterController))]
public class MoveCharacter : MonoBehaviour
{
public float speed;
public float gravity;
public float rotateSpeed;
public float jumpForce;
private Vector3 motion = Vector3.zero;
private CharacterController controller {
get {
return GetComponent<CharacterController> ();
}
}
void Update ()
{
Move ();
Rotate ();
}
private void Move ()
{
if (controller.isGrounded) {
motion = new Vector3 (Input.GetAxis ("Horizontal"), , Input.GetAxis ("Vertical"));
motion *= speed;
motion = transform.TransformDirection (motion);
if (Input.GetKeyDown (KeyCode.Space)) {
if (Input.GetButton ("Jump") ) {
motion.y = jumpForce;
}
}
}
motion.y -= gravity * Time.deltaTime;
controller.Move (motion * Time.deltaTime);
}
private void Rotate ()
{
transform.Rotate (, Input.GetAxis ("Mouse X") * rotateSpeed * Time.deltaTime, );
Camera.main.transform.Rotate (-1 * Input.GetAxis ("Mouse Y") * rotateSpeed * Time.deltaTime,