【Unity3D编辑器扩展】Unity3D中编辑器扩展基本知识讲解
推荐阅读
一、前言
今天分享一下编辑器扩展的基本知识讲解。
二、正文
1、RequireComponent的使用
用法:[RequireComponent(typeof (XXXXXX))]
其中XXXX为依赖的脚本,或者Unity组件
这样,当你挂这个脚本时,XXXX脚本也被挂上去了
当你添加的一个用了RequireComponent组件的脚本
需要的组件将会自动被添加到game object(游戏物体)
这个可以有效的避免组装错误
举个例子一个脚本可能需要刚体总是被添加在相同的game object(游戏物体)上
用RequireComponent属性的话,这个过程将被自动完成,因此你可以永远不会犯组装错误。
2、AddComponentMenu的使用
用法:[AddComponentMenu(“NGUI/Examples/cubSpin”)]
AddComponentMenu属性允许你在"Component"菜单中放置一个无论在哪的脚本,而不是仅仅在"Component->Scripts"菜单中。
3、MenuItem的使用
用法:[MenuItem(“Test/Test”)]
MenuItem的使用:在工具栏上增加新的一列。
后面必须跟一个static的方法,需要引用头文件 using UnityEditor;。
4、ContextMenu的使用
用法:[ContextMenu(“Test”)]
public void Test ()
ContextMenu的使用:属性允许你去添加命令给上下文菜单。
右键点击:会出现如图所示:
5、HideInInspector的使用
用法:[HideInInspector]
public Vector3 rotationsPerSecond = new Vector3(0f,0.1f,0f);
HideInInspector的作用:在Inspector面板中隐藏public变量
使用前:
使用后:
6、Serializable的使用
用法:[SerializeField]
private float myScale;
myScale将能在Inspector中编辑。
7、ExecuteInEditMode的使用
用法:
[ExecuteInEditMode]
public class Demo_Animation : MonoBehaviour
{
}
ExecuteInEditMode属性的作用是在EditMode下也可以执行脚本。Unity中默认情况下,脚本只有在运行的时候才被执行,加上此属性后,不运行程序,也能执行脚本。
与PlayMode不同的是,函数并不会不停的执行。
- Update : 只有当场景中的某个物体发生变化时,才调用。
- OnGUI : 当GameView接收到一个Event时才调用。
OnRenderObject 和其他的渲染回调函数 : SceneVidw或者GameView重绘时,调用。
Awake与Start调用规则:
- Awake:加载时调用。
- Start:第一次激活时调用。
需要注意的是,由于在两种模式下都可以运行,所有,切换模式的那一刻,得我们留意一下。
不管是从编辑模式进入运行模式,还是从运行模式进入编辑模式,unity都会重新加载资源,所以:
- 当该MonoBehavior在编辑器中被赋于给GameObject的时候,Awake, Start 将被执行。
- 当Play按钮被按下游戏开始以后,Awake, Start 将被执行。
- 当Play按钮停止后,Awake, Start将再次被执行。
- 当在编辑器中打开包含有该MonoBehavior的场景的时候,Awake, Start将被执行。
相关文章
- 第十章、vim 程序编辑器
- Cocos2d-x 粒子编辑器 Particle Studio 争做 Windows Particle Designer 源代码
- CKEditor在线编辑器增加一个自定义插件
- linux vi编辑器中,如何通过快捷键上下翻页?
- 适用于Win11的更新照片应用开始向Dev预览版推出:采用侧边栏设计,去除视频编辑器
- Atom 编辑器使用和学习
- 基于OpenAI的代码编辑器,有点酷有点强!
- SwiftUI macOS 精品项目大全之 markdown编辑器支持CSS实时预览与语法高亮coredata
- 【Unity3D编辑器扩展】Unity3D中解决Text的清晰度问题
- 【Unity3D编辑器扩展】Unity3D中实现Text的字体的替换
- 代码编辑器横评:为什么 VS Code 能拔得头筹
- Unity编辑器扩展简介
- Unity编辑器扩展——实现样条线编辑器
- macOS设置vs code为git默认编辑器
- thinkphp 百度编辑器和layer简单用法
- Yii2系列教程六:集成编辑器