TeHArGiS10

Untitled

Aug 6th, 2016
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.59 KB | None | 0 0
  1. using UnityEngine;
  2.  
  3. public class ufoController : MonoBehaviour {
  4.  
  5. public float sensitivity;
  6. public float speed;
  7. public float smoothness = 0.3f;
  8. public Transform originalPos;
  9. public Transform targetForward;
  10. public Transform targetBackwards;
  11. public GameObject mainUFO;
  12. Rigidbody rb;
  13.  
  14. void Start ()
  15. {
  16. rb = GetComponent<Rigidbody>();
  17. }
  18.  
  19. void Update ()
  20. {
  21. //Movement
  22. float xPos = Input.GetAxisRaw("Horizontal");
  23. float zPos = Input.GetAxisRaw("Vertical");
  24.  
  25. Vector3 xMov = Camera.main.transform.right * xPos;
  26. Vector3 zMov = Camera.main.transform.forward * zPos;
  27.  
  28. Vector3 velocity = (xMov + zMov).normalized * speed;
  29.  
  30. if (velocity != Vector3.zero)
  31. {
  32. rb.MovePosition(rb.position + velocity * Time.deltaTime);
  33. }
  34.  
  35. //Camera
  36. float xRot = Input.GetAxisRaw("Mouse Y");
  37. float yRot = Input.GetAxisRaw("Mouse X");
  38.  
  39. Vector3 vectorX = new Vector3(xRot, 0, 0) * sensitivity;
  40. Vector3 vectorY = new Vector3(0, yRot, 0) * sensitivity;
  41.  
  42. rb.MoveRotation(rb.rotation * Quaternion.Euler(vectorY));
  43. Camera.main.transform.Rotate(-vectorX);
  44.  
  45. Vector3 vel = Vector3.zero;
  46. if (Input.GetKey(KeyCode.W))
  47. {
  48. Vector3 targetPosForward = new Vector3(targetForward.transform.position.x, targetForward.transform.position.y, targetForward.transform.position.z);
  49. mainUFO.transform.position = Vector3.SmoothDamp(mainUFO.transform.position, targetPosForward, ref vel, smoothness);
  50. } else
  51. {
  52. Vector3 originalPosPos = new Vector3(originalPos.transform.position.x, originalPos.transform.position.y, originalPos.transform.position.z);
  53. mainUFO.transform.position = Vector3.SmoothDamp(mainUFO.transform.position, originalPosPos, ref vel, smoothness);
  54.  
  55. }
  56.  
  57.  
  58. if (Input.GetKey(KeyCode.S))
  59. {
  60. Vector3 targetPosBackwards = new Vector3(targetBackwards.transform.position.x, targetBackwards.transform.position.y, targetBackwards.transform.position.z);
  61. mainUFO.transform.position = Vector3.SmoothDamp(mainUFO.transform.position, targetPosBackwards, ref vel, smoothness);
  62. }
  63. else
  64. {
  65. Vector3 originalPosPos = new Vector3(originalPos.transform.position.x, originalPos.transform.position.y, originalPos.transform.position.z);
  66. mainUFO.transform.position = Vector3.SmoothDamp(mainUFO.transform.position, originalPosPos, ref vel, smoothness);
  67.  
  68. }
  69. }
  70.  
  71. }
Advertisement
Add Comment
Please, Sign In to add comment