首页 > 其他分享 >Unity批处理修改prefab内容并保存

Unity批处理修改prefab内容并保存

时间:2024-12-30 15:57:22浏览次数:6  
标签:prefab ... 批处理 GameObject AssetDatabase ids instance Unity

EditorUtility.DisplayProgressBar("Modify Prefab", "Please wait...", 0);

string[] ids = AssetDatabase.FindAssets("t:Prefab", new string[] { "Assets/Resources/Prefabs"});
for (int i = 0; i < ids.Length; i++) {

    string path = AssetDatabase.GUIDToAssetPath(ids[i]);
    GameObject prefab = AssetDatabase.LoadAssetAtPath(path, typeof(GameObject)) as GameObject;
    GameObject instance = PrefabUtility.InstantiatePrefab(prefab) as GameObject;

    // change instance
    Transform[] trans = instance.GetComponentsInChildren<Transform>();
    int layer = LayerMask.NameToLayer("Player");
    for (int j = 0; j < trans.Length; j++) {
        trans[j].gameObject.layer = layer;
    }

    // other change instance ... ...

    // save
    PrefabUtility.ReplacePrefab(instance, prefab, ReplacePrefabOptions.ConnectToPrefab);

    DestroyImmediate(instance);

    EditorUtility.DisplayProgressBar("Modify Prefab", "Please wait...", i/(float)ids.Length);
}

AssetDatabase.SaveAssets();

EditorUtility.ClearProgressBar();

参考链接

标签:prefab,...,批处理,GameObject,AssetDatabase,ids,instance,Unity
From: https://www.cnblogs.com/open-coder/p/18641453

相关文章

  • WPF笔记13——CommunityToolKit.Mvvm
    1、[ObservableProperty]标记private字段上有[ObservableProperty]标记,CommunityToolkit.Mvvm会自动给它生成一个对应的public属性,并在属性值改变时自动触发属性变更通知。2、[ObservableObject]标记ObservableObject类型实现了实现了INotifyPropertyChanged和INotifyProperty......
  • 【从零开始入门unity游戏开发之——unity篇01】unity6基础入门开篇——游戏引擎是什么
    文章目录前言**游戏引擎是什么?****游戏引擎对于我们的意义**1、**降低游戏开发的门槛**2、**提升游戏开发效率****以前做游戏****现在做游戏****主流的游戏引擎有哪些?**Unity相比其他游戏引擎的优势?**为什么选择Unity?**Unity游戏市场占比unity发展前景刚发布不久的Unit......
  • 使用 `hash-wasm` 的 `createMD5`方法,生成md5值,批处理500张图片会报错, `RangeError: W
    处理大量文件时遇到RangeError:WebAssembly.instantiate():Outofmemory错误,通常是因为一次性创建了过多的WebAssembly实例,导致内存不足。每个createMD5()调用都会创建一个新的WebAssembly实例,这对于大量的并发操作来说是不可行的。为了优化代码并避免此问题,可以考虑......
  • 基于 Unity 引擎的 VR/AR 音视频编解码技术总结
    在VR/AR应用开发中,音视频编解码技术是实现沉浸式体验的关键环节之一。通过高效的音视频处理,可以实现实时通信、虚拟会议、在线视频流、沉浸式音频等功能。本文将围绕Unity引擎的VR/AR开发需求,系统总结音视频编解码的技术原理、常用工具、实现方案及优化策略。1.VR/AR......
  • Unity 引擎实现动作游戏技能和战斗功能的实现与优化
    动作游戏的核心在于流畅的技能与战斗系统,这包括打击判定、技能表现、战斗逻辑以及联机对战等多个关键模块。以下从技能系统实现、打击判定、表现优化和联机功能等方面详细总结Unity引擎如何实现和优化动作游戏的战斗功能。1.技能系统的实现动作游戏的技能系统通常涉及技......
  • 【unity】学习制作类银河恶魔城游戏-4-
    制作攻击计数器给全部攻击动作应用帧事件但是理想情况下应该是,短间隔时间内连续点击鼠标才能连击,加入连击计时器编辑代码修补“桶子”解决攻击时移动的问题解决冲刺时攻击的问题解决无方向键输入时原地冲刺的问题解决空中攻击无法掉落的问题继承“inheritance......
  • 【Unity架构插件】Soap 是一款基于 ScriptableObject 模式的 Unity 插件,旨在通过采用
    Soap是一款基于ScriptableObject模式的Unity插件,旨在通过采用一种清晰且模块化的架构模式,简化项目中的数据管理、事件处理和跨模块的通信。Soap提供了一个轻量级、易于扩展和维护的解决方案,帮助开发者在Unity项目中实现更高效、更清晰的代码结构。主要特点Scriptab......
  • 【Unity 像素风格植物图标资源包】Vegetation Icons 32×32 Pixel Art 包含大量32x32
    VegetationIcons32×32PixelArt是一款专为Unity开发者设计的像素风格植物图标资源包。该插件包含大量32x32像素大小的植物图标,适用于2D游戏中需要使用植物、树木、花卉等自然元素的场景。无论是为游戏中的UI、物品栏、任务列表还是资源管理系统提供图标,还是作为游戏内环......
  • Unity笔记之MVVM框架推荐
    前言:mvvm框架不用不知道,一用发现这玩意还是挺好的,就是第一次的时候比较麻烦。以后维护或者换皮之类的老方便了。[设计思路,还是挺有用的,umvvm](https://www.cnblogs.com/OceanEyes/p/unity3d_framework_designing_get_started_with_mvvm_part1.html#_label3)[良心,还在维护者呢,老......
  • 【Unity 图标资源包】RPG Engineering Skill Icons 专为角色扮演游戏(RPG)开发者设计的
    RPGEngineeringSkillIcons是一款专为角色扮演游戏(RPG)开发者设计的图标资源包,旨在为游戏中的工程技能和工艺系统提供高质量的图标。这些图标特别适用于RPG游戏中的技能树、任务栏、物品制作系统等,帮助开发者清晰地展示各种与工程和工艺相关的技能和操作。无论是打造武器......