Version: 2022.3

DrawGizmo

class in UnityEditor

切换到手册

描述

DrawGizmo 属性可用于为任意 Component 提供辅助图标渲染器。

渲染器函数必须是静态的,并且采用两个参数:一个是 绘制辅助图标所面向的对象,另一个是 GizmoType 参数,表示绘制辅助图标时所处的上下文。

渲染器函数可在任何类中定义,包括编辑器脚本。因此, 您可以将辅助图标绘制代码与组件脚本分离,从而 使其不会包含在构建中。

另请参阅:GizmoType

using UnityEngine;
using UnityEditor;

public class MyScript : MonoBehaviour { }

// The icon has to be stored in Assets/Gizmos

public class MyScriptGizmoDrawer { [DrawGizmo(GizmoType.Selected | GizmoType.Active)] static void DrawGizmoForMyScript(MyScript scr, GizmoType gizmoType) { Vector3 position = scr.transform.position;

if (Vector3.Distance(position, Camera.current.transform.position) > 10f) Gizmos.DrawIcon(position, "MyScript Gizmo.tiff"); } }

构造函数

DrawGizmo定义应调用辅助图标以进行绘制的情况。