Guest User

Untitled

a guest
Mar 20th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.68 KB | None | 0 0
  1. public float moveSpeed;
  2. private Vector3 rotationSpeed;
  3. public Camera cam;
  4.  
  5. public Vector3 straightForward;
  6.  
  7. public Quaternion spreadAngleRight;
  8. public Quaternion spreadAngleLeft;
  9.  
  10. public Vector3 localRightVector;
  11. public Vector3 localLeftVector;
  12.  
  13. public Vector3 newVectorRight;
  14. public Vector3 newVectorLeft;
  15.  
  16. private Rigidbody rb;
  17.  
  18. Vector3 movement;
  19. void Start () {
  20. rb = gameObject.GetComponent<Rigidbody> ();
  21. rotationSpeed = new Vector3(0, 100, 0);
  22.  
  23. straightForward = transform.TransformDirection (Vector3.forward);
  24.  
  25. spreadAngleRight = Quaternion.AngleAxis (45, new Vector3 (0, 1, 0));
  26. spreadAngleLeft = Quaternion.AngleAxis (315, new Vector3 (0, 1, 0));
  27.  
  28. localRightVector = spreadAngleRight * straightForward;
  29. localLeftVector = spreadAngleLeft * straightForward;
  30.  
  31. newVectorRight = transform.TransformDirection (localRightVector);
  32. newVectorLeft = transform.TransformDirection (localLeftVector);
  33. }
  34.  
  35. // Update is called once per frame
  36. void Update () {
  37.  
  38. #region Control
  39. if(Input.GetKey(KeyCode.W)){
  40. rb.MovePosition(transform.position + transform.TransformDirection(Vector3.forward * moveSpeed) * Time.deltaTime);
  41. }
  42. if (Input.GetKey (KeyCode.A)) {
  43. rb.MovePosition(transform.position + transform.TransformDirection(-Vector3.right * moveSpeed) * Time.deltaTime);
  44. }
  45. if (Input.GetKey (KeyCode.S)) {
  46. rb.MovePosition(transform.position + transform.TransformDirection(-Vector3.forward * moveSpeed) * Time.deltaTime);
  47. }
  48. if (Input.GetKey (KeyCode.D)) {
  49. rb.MovePosition(transform.position + transform.TransformDirection(Vector3.right * moveSpeed) * Time.deltaTime);
  50. }
  51. if (Input.GetKey(KeyCode.W) && Input.GetKey(KeyCode.D)){
  52. rb.MovePosition(transform.position + transform.TransformDirection(newVectorRight * moveSpeed) * Time.deltaTime);
  53. }
  54. if (Input.GetKey(KeyCode.W) && Input.GetKey(KeyCode.A)){
  55. rb.MovePosition(transform.position + transform.TransformDirection(newVectorLeft * moveSpeed) * Time.deltaTime);
  56. }
  57. if (Input.GetKey(KeyCode.S) && Input.GetKey(KeyCode.D)){
  58. rb.MovePosition(transform.position - transform.TransformDirection(newVectorLeft * moveSpeed) * Time.deltaTime);
  59. }
  60. if (Input.GetKey(KeyCode.S) && Input.GetKey(KeyCode.A)){
  61. rb.MovePosition(transform.position - transform.TransformDirection(newVectorRight * moveSpeed) * Time.deltaTime);
  62. }
  63. Vector3 mouseInputX = Input.GetAxis ("Mouse X") * rotationSpeed;
  64. Vector3 mouseInputY = Input.GetAxis ("Mouse Y") * rotationSpeed;
  65.  
  66. gameObject.transform.Rotate (mouseInputX * Time.deltaTime, Space.Self);
  67. cam.transform.LookAt(gameObject.transform.position + Vector3.up * 2f);
  68.  
  69. #endregion
  70. }
Add Comment
Please, Sign In to add comment