Hello, I’m been trying to create a action game like movement.
So far I big doing a lot research on this, like from
and so on. The way it look like to me that when you hit W your character move up and it rotation you up
when you hit S it rotation the character down so he facing the camera and move down. The A and D key
make the character turn that way and move that way. I script this and it worker good. the error come from
when I’m trying to make the 45 angle one. like WD, WA, SA, SD, I can’t come up with how the player slower rotation to that point.
By the way I’m using transform.eulerAngles to rotation the character and before that it check if( transform.eulerAngles.y != 90){ change transform.eulerAngles.y to 90;
PLZ HELP
I am working on a top down type of game to and I have the script for the player movement.
using UnityEngine;
using System.Collections;
public class PlayerMovement : MonoBehaviour
{
public float Speed = 15;
public float RotSpeed = 180;
void FixedUpdate()
{
//ROTATING
Quaternion rot = transform.rotation;
float z = rot.eulerAngles.z;
z -= Input.GetAxis ("Horizontal") * RotSpeed * Time.deltaTime;
rot = Quaternion.Euler (0, 0, z);
transform.rotation = rot;
//MOVING
Vector3 pos = transform.position;
Vector3 velocity = new Vector3(0, Input.GetAxis ("Vertical") * Speed * Time.deltaTime, 0);
pos += rot * velocity;
transform.position = pos;
}
}
Just add this to what you want to move and it should work.
Let me know if this worked for you!
I would assume that you want smoothing involved, consider using Mathf.SmoothDamp