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 | 定义应调用辅助图标以进行绘制的情况。 |