ResetTransform.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. transform.position = Xunjian.position;
  18. transform.eulerAngles = Xunjian.eulerAngles;
  19. /*
  20. transform.LookAt(OpenXRCamera.Instance.head);
  21. transform.localEulerAngles = new Vector3(0, transform.localEulerAngles.y + 180f, 0);
  22. Transform Player = OpenXRCamera.Instance.head;
  23. Player.eulerAngles = new Vector3(0, OpenXRCamera.Instance.head.eulerAngles.y, 0);
  24. transform.position = OpenXRCamera.Instance.head.position + Player.forward * 1.6f;
  25. transform.position = new Vector3(transform.position.x, transform.position.y + 0f, transform.position.z);
  26. */
  27. }
  28. public void FixedHeightExecute()
  29. {
  30. Vector3 v3 = Xunjian.position;
  31. v3.y = height;
  32. transform.position = v3;
  33. Vector3 v3Rot = Xunjian.eulerAngles;
  34. v3Rot = new Vector3(0, v3Rot.y, 0);
  35. transform.eulerAngles = v3Rot;
  36. }
  37. }