一直忙于工作就很久没发博客了,从这周期打算一周一更,先从简单的实用的一些编辑器扩展用起.

这篇文章记录一下一个修改prefab的简单方法,只做一下Api的简单列举,用此方法可以单独或批量进行prefab内容修改

    using System;using UnityEditor;using UnityEngine;namespace FrameWork.Editor.Scripts.TestScripts{public class TestEditorWindow : EditorWindow{[MenuItem("Test/TestWindow")]private static void ShowWindow(){var window = GetWindow<TestEditorWindow>();window.titleContent = new GUIContent("TITLE");window.Show();}private void OnGUI(){if (GUILayout.Button("读取prefab并修改")){LoadPrefabAndDoSomething("Assets/TestFolder/Cube.prefab", ChangeBoxCollider);}}/// <summary>/// 通过路径加载预制体,并对预制体进行修改操作保存/// </summary>/// <param name="prefabPath">预制体路径</param>/// <param name="doMethod">可变化的修改方法</param>private void LoadPrefabAndDoSomething(string prefabPath,Func<GameObject,bool> doMethod){GameObject targetObj =  AssetDatabase.LoadAssetAtPath<GameObject>(prefabPath);bool isChange = doMethod(targetObj);if (isChange){EditorUtility.SetDirty(targetObj);AssetDatabase.SaveAssets();AssetDatabase.Refresh();}}private bool ChangeBoxCollider(GameObject targetObj){BoxCollider boxCollider =  targetObj.GetComponent<BoxCollider>();bool isEdit = false;if (!boxCollider.isTrigger){boxCollider.isTrigger = true;isEdit = true;}return isEdit;}}}

脚本内容为简单的创建一个编辑窗口,提供打开窗口进行编辑,可以进行各种拓展

Unity3D如何脚本修改预制体并保存相关推荐

  1. Unity 一键制作预制体,一键修改预制体

    生成 .修改预制体属性 所用到的API PrefabUtility.SaveAsPrefabAsset(GameObject instanceRoot, string assetPath); Pref ...

  2. Unity 运行状态下动态保存 预制体/预制体上脚本参数

    前言:在Unity游戏制作过程中为了方便策划调试保存 通常会让策划可以在游戏运行时直接保存调整好的预制体 在此背景下,出现了以下代码: 一.运行状态下动态保存预制体 代码: public class ...

  3. Unity一键制作预制体Prefab一键修改Prefab属性

    1.适用于制作多个预制体(一个模型文件下面几百个子物体,都需要制作成预制体,这一个一个拖不是要炸裂) 模型资源如下图 ![请添加图片描述](https://img-blog.csdnimg.cn/63 ...

  4. 【Unity入门】21.预制体

    [Unity入门]预制体     大家好,我是Lampard~~     欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢  (一)预制体制作 (1)什么是预制体     这一章节的博客 ...

  5. Unity 自动化1.0(代码,预制体生成到指定模块)

    代码生成参考的 知乎[Unity]工具类系列教程-- 代码自动化生成! - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/30716595 操作流程: 一,创建 ...

  6. Unity快速入门教程-详解预制体(Prefab)及其实例化Instantiate

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.预制体(Prefab)是什么? 1.1预制体简介 1.2预制体是什么样子的? 1.3预制体作用与用途 二.制作一个 ...

  7. 详解Unity中的预制体

    前言 在Unity中,预制体的作用是重复利用资源,比如游戏世界的花草树木.房屋建筑.这些资源都是重复出现的,我们可以将它做成预制体,方便重复利用.预制体也分原始预制体和变体,本篇我们就来说说它们的区别 ...

  8. unity应用(Apply)预制体时报错

    错误信息:You are trying to replace or create a prefab from the instance 'Panel' that references a missin ...

  9. Unity -- 预制体与变体

    1.一个游戏物体的图标为蓝色的时候,表明这个游戏物体是通过预制体创建的 当我们在修改预制体的时候,通过预制体创建的游戏物体也会同步修改(给预制体添加组件的时候,通过预制体创建的游戏对象也会添加对应的组 ...

最新文章

  1. 苹果的新Siri:不男,也不女
  2. 判断listview是上滑还是下滑的方法
  3. NewCode----数串
  4. Linux 网络编程详解四(流协议与粘包)
  5. Kubernetes的共享GPU集群调度 1
  6. 01_Android应用开发环境_01_android发展史及系统架构
  7. Android如何谷歌搜索,android – 如何从谷歌地方检索搜索建议?
  8. 未来机器人背景的AI人工智能PPT模板
  9. python蓝屏代码_死机、卡顿、蓝屏,Python部门的老江湖告诉我的一些超级变态代码...
  10. 李克秋 加盟天津大学 计算机学院,天津大学
  11. java 线程的插队运行_java笔记--线程的插队行为
  12. 神雕外挂 神雕ol外挂 http://www.shaguayou.com
  13. 收集UE4 优化Tips
  14. Keytool命令来生成CA数字证书
  15. 利用snapper实现archlinux的系统还原
  16. python使用爬虫写一个自己的翻译器(带图像界面)
  17. k8s 安装ingress nginx controller 并部署.net core ingress服务
  18. 你终将成为你潜意识中想要成为的人
  19. QT ODBC连接数据库读取中文乱码的一个解决方法
  20. c语言子函数返回字符串的正确方式

热门文章

  1. PostgreSQL 表空间(TABLESPACE)
  2. Servlet中Request请求转发空白页面
  3. 自动化的优点有哪些?
  4. 统计水浒传完整姓名前十位:jieba库应用,python编程
  5. Vue:Promise用法举例
  6. UE4小知识点总结合集【二】
  7. 团队形成的阶段_如何做好团队建设:打造一只王牌团队
  8. 信息系统项目管理师-项目人力资源管理
  9. 基于javaweb的在线奶茶店系统(java+jsp+javascript+servlet+mysql)
  10. requireJs学习心得