unity editor里的undo操作

本文详细介绍了在Unity编辑器中使用Undo API进行撤销操作的方法,包括创建、销毁、对象状态、组件添加以及父子关系变换的撤销。同时,还讲解了如何对撤销操作进行分组,实现阶段性的撤销功能。通过Undo.RegisterCreatedObjectUndo、Undo.DestroyObjectImmediate、Undo.RegisterCompleteObjectUndo等方法,可以管理对象的创建、销毁和状态变化。此外,还提到了Undo.AddComponent和Undo.SetTransformParent等方法用于组件添加和父子关系变更,并且讨论了如何使用Undo.GetCurrentGroup、Undo.IncrementCurrentGroup等相关函数来控制撤销组。
摘要由CSDN通过智能技术生成

主要是使用unity里的Undo的API。

1.Undo.RegisterCreatedObjectUndo //撤销创建

[MenuItem("Example/Create Cube")]
    static void CreateCube()
    {
   
        var cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
        Undo.RegisterCreatedObjectUndo(cube, "Create Cube");
    }

2.Undo.DestroyObjectImmediate //撤销对象销毁

[MenuItem("Example/UndoDestory")]
    static void UndoDestory()
    {
   
        GameObject player = Selection.activeGameObject;
        if (player)
        {
   
            // Store the states of the player object.
            Undo.DestroyObjectImmediate(player);
            Object.DestroyImmediate(player);
        }
    }

3 Undo.RegisterCompleteObjectUndo //撤销Object的状态
能撤销object的各种公共字段的修改。
除了AddComponent,改变父子关系和销毁。

[MenuItem("Example/RegisterCompleteObjectUndo")]
    static void Example()
    {
   
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值