在这篇教程中你会学习如何扩展你的Unity3D编辑器,以便在你的项目中更好的使用它。你将会学习如何绘制你自己的gizmo,用代码来实现创建和删除物体,创建编辑器窗口,使用组件,并且允许用户撤销他们所作出的任何动作,这些全部都是用编辑器脚本来实现的。
这篇教程假设你已经熟悉Unity的基本工作流程。如果你知道如何在编辑器中创建物体、预设、场景并且知道如何移动它们,知道如何添加组件,那么你可以开始本教程的学习了。
最终结果预览
让我们看一下我们做出的最终结果是什么样子:
如你所见,我们会创建一个编辑器窗口,里面有一个颜色拾取器,我们可以用所选取的颜色来绘制网格。我们也能够创建和删除物体,把他们对齐到网格,并且能够撤销这些动作。
Step 1: Gizmos
首先我们来学习如何使用gizmo。这里有一些内置gizmo的例子:
你可能会经常在Unity中看到这个gizmo,因为它会为每一个拥有transform
组件的物体绘制,因此基本上每一个被选中的物体都会有这个gizmo。
这是另一个gizmo,它能够让我们知道绑定在我们游戏对象上的BoxCollider
的大小。
Step 2: 创建一个Grid脚本
创建一个C#脚本Grid.cs,我们用它来为一个物体绘制我们自己的gizmo;我们会在编辑器中绘制一个简单的网格(Grid)来作为一个例子。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
using UnityEngine; using System.Collections; public class Grid : MonoBehaviour { void Start() { } void Update() { } } |
对于一个网格,我们需要添加2个变量:width和height