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

这篇文章记录一下一个修改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. lua userdata
  2. soap签名_签名SOAP消息–生成封装的XML签名
  3. go int 转切片_「快学 Go 语言」第 4 课——低调的数组
  4. 用英文单词模拟数字计算c语言,C语言程序设计用英文单词模拟数学计算
  5. 前端学习(1551):补充cloak
  6. 五省竞赛计算机作品,关于征集2017年华北五省(市、自治区)及港澳台大学生计算机应用大赛河北赛区竞赛作品的通知...
  7. 物流 计算机管理 好处,ERP系统在物流管理中的作用
  8. 王春晖:发展自主知识产权的网安核心技术迫在眉睫
  9. C++折半查找的实现
  10. 通过 Powershell 来替换 ARM 模式下虚拟机的网络接口
  11. c++实现飞机大战小游戏
  12. 【读书笔记】 —— 《数学女孩》
  13. html 星星字体,做华丽的星星文字效
  14. U盘启动盘如何恢复成普通的U盘
  15. 魔兽争霸无法在这个计算机,win10魔兽争霸三无法初始化directx怎么办_win10魔兽争霸三不能初始化directx解决步骤...
  16. Php微云解析,更新微云网盘解析规则
  17. 如何将计算机硬盘导出,移动硬盘坏了怎么导出数据?这几点一定要牢记!
  18. 2022---hgame第一周WriteUp
  19. 使用VMware虚拟机搭建爱快路由器PPPoE服务器环境
  20. 安全检查如何确保建筑幕墙施工的安全管理呢

热门文章

  1. 意识风骚的66条法则
  2. 狂神闲谈:正确的学习态度
  3. spring batch (二) 元数据表
  4. mysql 分表 导入_如何解决MySQL分表与新数据的插入
  5. 图片在wps中复制粘贴的问题
  6. 聚观早报|苹果冻结研发之外所有招聘 ;推特裁员内部信曝光
  7. 30个实用的Linux find命令示例
  8. 企业人力资源管理师取消!经济师人力资源管理了解一下
  9. python【pyecharts】【简单绘制图表】
  10. html css 奥运五环,CSS3 奥运五环加载动画