介绍
Gizmos 是 Unity 提供的工具,用于在编辑器中可视化调试信息。Gizmos的中文翻译通常是辅助工具和辅助图形。Unity编辑器已经内置了一些Gizmos默认使用。

例如上面的示意图,我们可以在Game面板中设置Gizmos来隐藏和显示某些信息。在Scene面板中,摄像机的图标就是Gizmos信息。
在必要的时刻,我们也可以绘制自己的图形作为预览。通过在脚本中重写OnDrawGizmos或OnDrawGizmosSelected方法就能实现。
绘制点
通过绘制球体可以实现点的绘制。例如有一个object,我想要绘制一个绿色的点在其中心。在物体绑定的脚本中编辑:
private void OnDrawGizmos()
{
Gizmos.color = Color.green;
Gizmos.DrawSphere(transform.position, 0.1f);
}
绘制线段
使用Gizmos.DrawLine来绘制线段,接受两个参数,分别为线段的两个端点
private void OnDrawGizmos()
{
Gizmos.color = Color.white;
Gizmos.DrawLine(transform.position, transform.position + new Vector3(mShootingItem.acc.x, mShootingItem.acc.y));
} 绘制图标
// 图标的纹理
public Texture2D iconTexture;
// 在场景视图中绘制 Gizmos
private void OnDrawGizmos()
{
// 设置 Gizmos 颜色(可选)
Gizmos.color = Color.yellow;
// 绘制一个球体(可选)
Gizmos.DrawSphere(transform.position, 0.5f);
// 绘制图标
if (iconTexture != null)
{
// 在对象位置绘制图标
Gizmos.DrawGUITexture(new Rect(transform.position.x - 0.5f, transform.position.y, 1, 1), iconTexture);
}
}其他
Gizmos.DrawSphere(Vector3 center, float radius):绘制一个实心球体。Gizmos.DrawWireSphere(Vector3 center, float radius):绘制一个线框球体。Gizmos.DrawCube(Vector3 center, Vector3 size):绘制一个实心立方体。Gizmos.DrawWireCube(Vector3 center, Vector3 size):绘制一个线框立方体。Gizmos.DrawLine(Vector3 from, Vector3 to):绘制一条线段。Gizmos.DrawIcon(Vector3 position, string name):在指定位置绘制一个图标。
评论区