Unity3D 批处理场景的工具

本文介绍了一个用于Unity编辑器中的批量处理场景的工具类,通过调用该类的方法并传入回调函数,可以实现对多个场景文件进行打开、操作及保存等自动化流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//场景的批量处理器

public static class OperateScene
{

    public const string SceneDir = "Assets/Scene/";
    public const string SceneNamePrefix = "Scene_";
    public const string SceneNameExt = ".unity";
    public const int SceneCount = 16;

    private static void OperateSceneMenu(Action<int ,Scene , GameObject[]> call)
    {

        for (int i = 0; i < SceneCount; i++)
        {
            int idx = i + 1;
            var scenePath = Path.Combine(SceneDir, SceneNamePrefix + idx + SceneNameExt);

            try
            {
                
                var scene = EditorSceneManager.OpenScene(scenePath, OpenSceneMode.Additive);

                EditorUtility.DisplayProgressBar("OperateSceneMenu", scenePath, i / SceneCount);
                
                var gos = scene.GetRootGameObjects();

                call(i,scene, gos);

                EditorSceneManager.SaveScene(scene);
                EditorSceneManager.CloseScene(scene, true);
            }
            catch (Exception e)
            {

                Debug.LogError(scenePath+"\n"+e.Message);
            }

        }

        EditorUtility.ClearProgressBar();
    }

传入一个回掉函数就可以了

转载于:https://www.cnblogs.com/mrblue/p/8260717.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值