当前位置: 首页 > news >正文

Nested Prefab Mode 嵌套预制体 保存问题 Dirty

Unity2018.3 Nested Prefab Mode 嵌套预制体

Unity2018.3开始,新增了一个Prefab Mode,俗称嵌套预制体,在Prefab里套Prefab。实际应用中多少会有些坑。

  • 资源打包,Assetbundle一直都有依赖的问题。所以嵌套的Prefab理所当然要预加载。
  • 脚本修改Prefab,很多生产环境下都会有代码处理Prefab的情况,而这次新增的Prefab Mode,与之前的编辑模式是不同的,所以升级后需做兼容性修改。
  • 进入Prefab Mode就是双击Assets里的Prefab文件。
  • 详细教程 https://unity.com/prefabs

关注点 Prefab Mode

Scene ModePrefab Mode
Hierarchy 里操作的对象本质Prefab Instance 实例Assets里的UnityEngine.Object文件
Apply 保存过程从Instance写入到Asset里的Prefab文件直接操作Assets里的Prefab文件
SetDirty 脚本修改Prefab上的对象EditorUtility.SetDirty(Object)暂无(目前U3D问答上很多人在问)
设置场景DirtyEditorSceneManager.GetActiveScene()PrefabStageUtility.GetCurrentPrefabStage().scene)
Apply时的回调PrefabUtility.prefabInstanceUpdatedPrefabStage.prefabSaving

实际使用总结

  • 官网上宣称的Prefab Mode,其实在代码里的引用叫做Prefab Stage
  • 通过脚本来操作Prefab的时候,需要注意PrefabStageUtility.GetCurrentPrefabStage()优先判断是否在Prefab Mode
  • Prefab Mode下,如果通过代码脚本修改对象属性,一定要注意EditorSceneManager.MarkSceneDirty的调用。
  • 注意Scene View右上角的Auto Save按钮

参考

官方教程
脚本参考PrefabStage

转载于:https://www.cnblogs.com/oplusx/p/10333010.html

相关文章:

  • boost并发编程boost::atomic
  • JS代码和网页的混用
  • 二叉树的序列化和反序列化(先序,按层序列化),包含递归图
  • 创建漫游用户配置文件
  • 一些模板
  • cnblogs bug(1)
  • poj 2186
  • 好男人找不到女朋友的原因
  • 浅入深出Vue:前言
  • 交换两个变量
  • 使用open flash chart的BarGlass时遇到的问题
  • 09视图
  • 什么是高并发 ,详细讲解
  • Struts Nested标签
  • Codeforces Global Round 1
  • cookie和session
  • HTTP--网络协议分层,http历史(二)
  • Meteor的表单提交:Form
  • SpringCloud集成分布式事务LCN (一)
  • uva 10370 Above Average
  • V4L2视频输入框架概述
  • webpack项目中使用grunt监听文件变动自动打包编译
  • windows-nginx-https-本地配置
  • 百度小程序遇到的问题
  • 目录与文件属性:编写ls
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 用quicker-worker.js轻松跑一个大数据遍历
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • #微信小程序:微信小程序常见的配置传值
  • (1)bark-ml
  • (2.2w字)前端单元测试之Jest详解篇
  • (差分)胡桃爱原石
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (一)appium-desktop定位元素原理
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • ... 是什么 ?... 有什么用处?
  • ..回顾17,展望18
  • .htaccess 强制https 单独排除某个目录
  • .htaccess配置重写url引擎
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .net MVC中使用angularJs刷新页面数据列表
  • .NET 使用配置文件
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .NET中的Exception处理(C#)
  • ?
  • @transaction 提交事务_【读源码】剖析TCCTransaction事务提交实现细节
  • [ 攻防演练演示篇 ] 利用通达OA 文件上传漏洞上传webshell获取主机权限
  • [Angularjs]asp.net mvc+angularjs+web api单页应用
  • [AutoSar]BSW_Memory_Stack_004 创建一个简单NV block并调试
  • [BUUCTF]-Reverse:reverse3解析
  • [C++] cout、wcout无法正常输出中文字符问题的深入调查(1):各种编译器测试
  • [CC2642R1][VSCODE+Embedded IDE+IAR Build+Cortex-Debug] TI CC2642R1基于VsCode的开发环境
  • [codeforces]Recover the String