前提・実現したいこと
エディタ拡張でオブジェクトの配置を試しましたが、Ctrl+Zで元の位置に戻れるようにするにはどうすればよいのでしょうか?
通常、シーンビューで、ドラッグなどでオブジェクトを移動させて配置すると、
Ctrl+Zで移動前の位置に戻すことができます。
しかし、自作したエディタ拡張のオブジェクト配置処理では、実行すると、
シーンビューでCtrl+Zを押しても、戻らないです。
該当のソースコード
C#
using UnityEngine; using UnityEditor; public class SetObject { [MenuItem("MyMenu/SetObject")] private static void setCube() { GameObject cube = GameObject.Find("Cube"); cube.transform.position = new Vector3(0, 0, 0); } }
試したこと
考えられることとしては、移動前にオブジェクトの位置を記憶させておくとかですが、
この力技しかないのでしょうか?
位置だけでなく、回転も戻したい、スケールも戻したい、とかいろいろ戻したくなったら、全ての情報を保存しなければなりません。
また、通常のシーンビューの操作では、Ctrl+Zで1個前だけでなく、2個前、3個前と遡って戻せます(これも自作で保存してたら手間です)。
本来のCtrl+Zで戻すようにできる方法(Ctrl+Zで位置を戻すというより、Ctrl+Zを有効にして前回の操作に戻す方法)が知りたいです。
ご教示お願いします。
まだ回答がついていません
会員登録して回答してみよう