扩展Scene 视图
辅助元素(在场景编辑中添加辅助元素)
● 在场景编辑的过程中有时需要添加一些辅助元素,下面代码如下:选中 Main Camera 对象时,程序会给摄像机组件添加一条红色的辅助线,并且在线段终点处添加一个立方体辅助对象。请注意这里拓展的辅助元素只能用来编辑,并不会影响到最终发布的游戏。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class Script_03_15 : MonoBehaviour
{
void OnDrawGizmosSelected()
{
Gizmos.color = Color.red;
//画线
Gizmos.DrawLine(transform.position, Vector3.one);
//立方体
Gizmos.DrawCube(transform.position, Vector3.one);
}
}
Gizmos.color——设置接下来要绘制的小玩意的颜色。
OnDrawGizmosSelected()—— 在该函数中添加辅助元素。
Gizmos.DrawLine——从一个方向向另一个方向画一条线。
transform.position——transform 在世界坐标中的位置。
Vector3.one—— Vector3(1,1,1)的简写。
如果希望辅助元素并不依赖选择对象出现,而是始终都出现在 Scene 视图中,可使用方法OnDrawGizmos()绘制元素:
void OnDrawGizmos()
{
Gizmos.DrawSphere(transform.position, 1);
}
看下扩展后的效果:
辅助UI (添加EditorGUI 在Scene 中处理一些操作事件)
● 在 Scene 视图中,我们可以添加 EditorGUI,这样可以方便地在视图中处理一些操作事件。如图所示,我们可以在 Scene 视图中绘制辅助 UI, EditorGUI 的代码需要在 Handles.BeginGUI() 和 Handles.EndGUI()中间绘制完成。这里我们只设置摄像机辅助 UI,其实也可以修改成别的对象,比如游戏对象。相关代码如下:
在scripts 文件夹创建一个文本这样写:文件名是Script_03_16Component
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class Script_03_16Component :