ResetTransform.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using GHZLangChao;
  2. using UnityEngine;
  3. /// <summary>
  4. /// 重置位置---Action
  5. /// </summary>
  6. public class ResetTransform : MonoBehaviour
  7. {
  8. [SerializeField] private Transform Xunjian => SceneIOCContainer.Instance.Pull("Dof") as Transform;
  9. public bool FixedHeight;
  10. private float height;
  11. private void Awake()
  12. {
  13. height = OpenXRCamera.Instance.head.position.y;
  14. }
  15. public void Execute()
  16. {
  17. if (FixedHeight)
  18. {
  19. Vector3 v3 = Xunjian.position;
  20. v3.y = height;
  21. transform.position = v3;
  22. Vector3 v3Rot = Xunjian.eulerAngles;
  23. v3Rot = new Vector3(0,v3Rot.y,0);
  24. transform.eulerAngles = v3Rot;
  25. }
  26. else
  27. {
  28. transform.position = Xunjian.position;
  29. transform.eulerAngles = Xunjian.eulerAngles;
  30. }
  31. /*
  32. transform.LookAt(OpenXRCamera.Instance.head);
  33. transform.localEulerAngles = new Vector3(0, transform.localEulerAngles.y + 180f, 0);
  34. Transform Player = OpenXRCamera.Instance.head;
  35. Player.eulerAngles = new Vector3(0, OpenXRCamera.Instance.head.eulerAngles.y, 0);
  36. transform.position = OpenXRCamera.Instance.head.position + Player.forward * 1.6f;
  37. transform.position = new Vector3(transform.position.x, transform.position.y + 0f, transform.position.z);
  38. */
  39. }
  40. }