You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.3 KiB

  1. using UnityEngine;
  2. using UnityEditor;
  3. public class SceneViewCameraTest
  4. {
  5. [MenuItem("Tools/Camera/Snap Scene To Camera #c")]
  6. static public void MoveSceneViewCamera()
  7. {
  8. if(Camera.main == null)
  9. {
  10. Debug.LogError("No Main camera in scene");
  11. return;
  12. }
  13. Vector3 position = Camera.main.transform.position;
  14. Quaternion rotation = Camera.main.transform.rotation;
  15. SceneView.lastActiveSceneView.size = 0.1f;
  16. SceneView.lastActiveSceneView.rotation = rotation;
  17. SceneView.lastActiveSceneView.pivot = position;
  18. SceneView.lastActiveSceneView.Repaint();
  19. }
  20. [MenuItem("Tools/Camera/Snap Camera To Scene &#c")]
  21. static public void MoveCameraToScene()
  22. {
  23. if (Camera.main == null)
  24. {
  25. Debug.LogError("No Main camera in scene");
  26. return;
  27. }
  28. GameObject camera = Camera.main.gameObject;
  29. Undo.RegisterCompleteObjectUndo(camera, "Snapped Camera to Scene View");
  30. camera.transform.position = SceneView.lastActiveSceneView.pivot;
  31. camera.transform.rotation = SceneView.lastActiveSceneView.rotation;
  32. camera.transform.position -= Camera.main.transform.forward * SceneView.lastActiveSceneView.size;
  33. }
  34. }