首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unity编辑器: ExecuteInEditMode vs编辑器脚本

Unity编辑器: ExecuteInEditMode vs编辑器脚本
EN

Stack Overflow用户
提问于 2018-03-23 23:30:58
回答 2查看 4.8K关注 0票数 1

使用ExecuteInEditMode的用例有哪些,编辑器脚本又有哪些?什么时候使用一个而不是另一个?

EN

回答 2

Stack Overflow用户

发布于 2018-03-24 00:05:27

ExecuteInEditMode -这是脚本的属性,表示为[ExecuteInEditMode]。默认情况下,MonoBehaviours仅在播放模式下执行。通过添加此属性,MonoBehaviour的任何实例都将在编辑器未处于播放模式时执行其回调函数。这方面的用例包括但不限于:

  1. Position约束对象-你的脚本可以帮助你使用自定义的algorithm.
  2. Connecting objects通过约束对象位置来定位你的游戏对象-如果ComponentA的ObjectA需要场景中某个地方的ComponentB的实例,并且你能够使用你的代码找到它,那么你可以自动完成,而不是让设计者手动操作later.
  3. In-Editor警告和错误- Unity将生成一组标准的错误,如果你的代码或初始Unity components设置出现问题。但是,如果您错误地创建了一个没有门或窗的房间,您将不会收到任何警告。这可以通过自定义脚本来完成,所以当editing.
  4. Management脚本时,设计者会得到警告--这些脚本可以让事情保持井然有序。假设您的场景有5个摄影机,但所有这些摄影机都应该具有相同的FOV参数。您可以让您的管理脚本使用一个主值调整所有值,而不是手动更改这些值(是的,您可以选择所有这些值,但不能保证其他人也会这样做)。因此,所有单个摄像头参数都将被锁定,并且只能使用管理脚本进行更改。

团结骑士已经发布了一个在此基础上扩展的tutorial on some sample functionality for ExecuteInEditMode

编辑器脚本-这是一个脚本集合,它扩展了Editor类,一个派生自定义编辑器的基类。这可用于为您的对象创建您自己的自定义检查器guis和编辑器。有关更多信息,请查看this video on Editor Scripting。由于编辑器脚本是编程的,因此您可能还想查看Scripting API

票数 6
EN

Stack Overflow用户

发布于 2018-03-23 23:52:42

您可以使用Editor自定义MonoBehaviour外观。

对于ExecuteInEditMode,大多数用例是修改场景视图,例如网格渲染器(我不知道网格渲染器是否使用ExecuteInEditMode,但它可以),它将在游戏中渲染网格,但它也会在场景视图中渲染此网格。

其他一些用例:验证,与其他组件的通信,修改其他组件,修改游戏对象,基本上你可以做大多数你可以在游戏和编辑器中做的事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49453265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档