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