Helicopter.cs 956 B

123456789101112131415161718192021222324252627282930313233343536
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. public class Helicopter : MonoBehaviour {
  5. public float bladeRotateSpeed;
  6. public Transform blades;
  7. public Transform tailBlades;
  8. private Vector3 startPos;
  9. private Vector3 tempPos;
  10. public float hoverFrequency = 1;
  11. public float hoverAmplitude = .05f;
  12. private void Start() {
  13. startPos = transform.position;
  14. }
  15. private void Update() {
  16. Hover();
  17. RotateBlades();
  18. }
  19. private void Hover() {
  20. tempPos = new Vector3(transform.position.x, startPos.y, transform.position.z);
  21. tempPos.y += Mathf.Sin(Time.fixedTime * Mathf.PI * hoverFrequency) * hoverAmplitude;
  22. transform.position = tempPos;
  23. }
  24. private void RotateBlades() {
  25. blades.Rotate(Vector3.forward * bladeRotateSpeed * Time.deltaTime);
  26. tailBlades.Rotate(Vector3.right * bladeRotateSpeed * Time.deltaTime);
  27. }
  28. }