Hi, i will make a topdown shooter, and i have a little problem.
Move character will be in WASD and aim will be in mouse, but if i try move mouse, for rotate my character aim, the character move coordinate is changed.
I like my character moving in global/world coordinate. Up will be forever up, down will be forever down, etc… But i can not do make this, anybody please help, my code is following:
using UnityEngine;
using System.Collections;
public class Player : MonoBehaviour {
CharacterController controller;
public float speed = 10;
public float gravity = -0.05f;
public float rotationSpeed = 400;
private float velocityY;
// Use this for initialization
void Start () {
controller = GetComponent<CharacterController>();
}
// Update is called once per frame
void Update () {
velocityY += gravity;
Vector3 rotation = new Vector3(0, Input.GetAxis("Mouse X")*rotationSpeed, 0);
transform.Rotate(rotation * Time.deltaTime);
Vector3 direction = new Vector3(Input.GetAxis("Horizontal")*speed, velocityY, Input.GetAxis("Vertical")*speed);
direction = transform.TransformDirection(direction);
controller.Move(direction * Time.deltaTime);
}
}
Please, excuse me my english, i’m germany.