Unity3D如何脚本修改预制体并保存
一直忙于工作就很久没发博客了,从这周期打算一周一更,先从简单的实用的一些编辑器扩展用起.
这篇文章记录一下一个修改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如何脚本修改预制体并保存相关推荐
- Unity 一键制作预制体,一键修改预制体
生成 .修改预制体属性 所用到的API PrefabUtility.SaveAsPrefabAsset(GameObject instanceRoot, string assetPath); Pref ...
- Unity 运行状态下动态保存 预制体/预制体上脚本参数
前言:在Unity游戏制作过程中为了方便策划调试保存 通常会让策划可以在游戏运行时直接保存调整好的预制体 在此背景下,出现了以下代码: 一.运行状态下动态保存预制体 代码: public class ...
- Unity一键制作预制体Prefab一键修改Prefab属性
1.适用于制作多个预制体(一个模型文件下面几百个子物体,都需要制作成预制体,这一个一个拖不是要炸裂) 模型资源如下图 ![请添加图片描述](https://img-blog.csdnimg.cn/63 ...
- 【Unity入门】21.预制体
[Unity入门]预制体 大家好,我是Lampard~~ 欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢 (一)预制体制作 (1)什么是预制体 这一章节的博客 ...
- Unity 自动化1.0(代码,预制体生成到指定模块)
代码生成参考的 知乎[Unity]工具类系列教程-- 代码自动化生成! - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/30716595 操作流程: 一,创建 ...
- Unity快速入门教程-详解预制体(Prefab)及其实例化Instantiate
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.预制体(Prefab)是什么? 1.1预制体简介 1.2预制体是什么样子的? 1.3预制体作用与用途 二.制作一个 ...
- 详解Unity中的预制体
前言 在Unity中,预制体的作用是重复利用资源,比如游戏世界的花草树木.房屋建筑.这些资源都是重复出现的,我们可以将它做成预制体,方便重复利用.预制体也分原始预制体和变体,本篇我们就来说说它们的区别 ...
- unity应用(Apply)预制体时报错
错误信息:You are trying to replace or create a prefab from the instance 'Panel' that references a missin ...
- Unity -- 预制体与变体
1.一个游戏物体的图标为蓝色的时候,表明这个游戏物体是通过预制体创建的 当我们在修改预制体的时候,通过预制体创建的游戏物体也会同步修改(给预制体添加组件的时候,通过预制体创建的游戏对象也会添加对应的组 ...
最新文章
- 苹果的新Siri:不男,也不女
- 判断listview是上滑还是下滑的方法
- NewCode----数串
- Linux 网络编程详解四(流协议与粘包)
- Kubernetes的共享GPU集群调度 1
- 01_Android应用开发环境_01_android发展史及系统架构
- Android如何谷歌搜索,android – 如何从谷歌地方检索搜索建议?
- 未来机器人背景的AI人工智能PPT模板
- python蓝屏代码_死机、卡顿、蓝屏,Python部门的老江湖告诉我的一些超级变态代码...
- 李克秋 加盟天津大学 计算机学院,天津大学
- java 线程的插队运行_java笔记--线程的插队行为
- 神雕外挂 神雕ol外挂 http://www.shaguayou.com
- 收集UE4 优化Tips
- Keytool命令来生成CA数字证书
- 利用snapper实现archlinux的系统还原
- python使用爬虫写一个自己的翻译器(带图像界面)
- k8s 安装ingress nginx controller 并部署.net core ingress服务
- 你终将成为你潜意识中想要成为的人
- QT ODBC连接数据库读取中文乱码的一个解决方法
- c语言子函数返回字符串的正确方式