意外と知られていなさそうな、シーンビューのカメラの位置をセーブ&ロードする方法。製作時の見た目の調整ならゲームカメラを使えばよいが、製作過程の記録などに役立つ……かも。
ポイントは lastActiveSceneView の camera ではなく pivot を使う所。camera を使うと、ロード時に上手くいかない。
using UnityEditor;
static Vector3 mCameraPos = Vector3.zero;
static Quaternion mCameraRot = Quaternion.identity;
[MenuItem("配置ツール/カメラ位置をセーブ",false , 10)]
static void SaveCameraPos()
{
mCameraPos = SceneView.lastActiveSceneView.pivot;
mCameraRot = SceneView.lastActiveSceneView.rotation;
}
[MenuItem("配置ツール/カメラ位置をロード",false , 11)]
static void LoadCameraPos()
{
SceneView.lastActiveSceneView.pivot = mCameraPos;
SceneView.lastActiveSceneView.rotation = mCameraRot;
SceneView.lastActiveSceneView.Repaint();
}