当前位置: 首页 > news >正文

Unity Gizmos

简介

Gizmos 是Unity编辑器中的一种可视化调试工具,用于在场景视图(Scene View)中绘制辅助图形、图标或文本,帮助开发者直观理解游戏对象的位置、范围、逻辑关系等信息

核心功能

1. 辅助可视化调试

  • 在场景视图中显示碰撞体、触发器、射线等逻辑的形状和范围
  • 绘制自定义的路径、区域或标记关键点(如出生点、目标点)

2. 编辑器内预览

  • 在非运行模式下直接查看逻辑效果(如动画轨迹、物理模拟区域)
  • 通过图标(如小箭头、立方体)标记特定对象的位置和方向

3. 自定义图形绘制

  • 使用代码动态绘制线、球体、立方体等几何图形
  • 支持不同颜色和持续时间、区分不同调试信息 

Gizmos 的常用方法与场景

1. 方法

方法作用
Gizmos.DrawWireSphere绘制线框球体
Gizmos.DrawLine 绘制直线
Gizmos.DrawCube绘制实心立方体
Gizmos.DrawIcon在场景中显示图标(如Unity内置的箭头图标)
Gizmos.color设置绘制颜色
Gizmos.DrawFrustum绘制视椎体(常用于摄像机或灯光范围)
Gizmos.DrawMesh网格绘制

2. 脚本中的回调函数

  • OnDrawGizmos()
    • 调用时机:每帧调用,绘制持续显示的Gizmos(如碰撞体范围)
    • 适用场景:需要常驻显示的调试信息
  • OnDrawGizmosSelected()
    • 调用时机:仅在对象被选中时调用,绘制选中状态的Gizmos
    • 适用场景:仅在选中时显示详细信息(如触发器的精确边界)

使用示例代码

1. 自定义触发区域

public class TriggerZone : MonoBehaviour {public Color gizmoColor = Color.red;public Vector3 size = Vector3.one;// 常驻显示的Gizmosvoid OnDrawGizmos() {Gizmos.color = gizmoColor;Gizmos.DrawWireCube(transform.position, size);}// 选中时显示的Gizmosvoid OnDrawGizmosSelected() {Gizmos.color = Color.yellow;Gizmos.DrawCube(transform.position, size);}
}

2. AI路径可视化

public class AiPath : MonoBehaviour 
{public List<Vector3> pathPoints = new();void OnDrawGizmos() {Gizmos.color = Color.blue;foreach (Vector3 point in pathPoints) {Gizmos.DrawSphere(point, 0.2f);}Gizmos.DrawLineList(pathPoints.ToArray());}
}

注意事项

1. 仅在编辑器可见

  • Gizmos不会在发布后的游戏(Build)中显示,不影响运行时性能

2. 控制显示与隐藏

  • 通过场景视图工具栏的 Gizmos菜单 切换全局显示(可过滤特定类型的Gizmos)

3. Gizmos.DrawLine与Debug.DrawLine的区别

  • Debug.DrawLine:在Game视图 中绘制调试线(仅运行时),适合测试移动轨迹
  • Gizmos:在Scene视图 中绘制(支持非运行模式),适合静态逻辑调试
http://www.xdnf.cn/news/330661.html

相关文章:

  • 题解 洛谷 Luogu P1073 [NOIP 2009 提高组] 最优贸易 强连通分量 Tarjan 缩点 拓扑排序 动态规划 C++
  • Vue与Python的深度整合:构建现代Web应用的全栈范式
  • 国标GB28181设备管理软件EasyGBS打造明厨亮灶食品安全监管防线
  • 对称二叉树(简单)
  • sqlite数据库操作
  • Qt开发:枚举的介绍和使用
  • 【Win】插入u盘/固态硬盘Hub不显示在我的电脑
  • ModuleNotFoundError: No module named ‘numpy.typing‘
  • oracle 优化器
  • 【DB2】DB2启动失败报错SQL1042C
  • 深入解析进程间通信与Socket原理:从理论到TypeScript实战
  • 一文详解极大似然估计,从极大似然估计的角度理解线性回归
  • 101alpha_第4个
  • Linux系统之Shell脚本:for、while循环及脚本实操
  • 优艾智合CEO张朝辉荣膺U45杰出青年企业家
  • 强化学习环境安装——openAI gym
  • Chain-of-Draft (CoD) 是提示工程的新王者
  • openstack的网络
  • 数据结构--树
  • 第十六次博客打卡
  • mindie近期报错总结
  • WordPress_depicter Sql注入漏洞复现(CVE-2025-2011)
  • LeetCode 267:回文排列 II —— Swift 解法全解析
  • 第一章:MySQL 索引基础
  • ZYNQ笔记(十八):VDMA VGA彩条显示
  • 软考错题(一)
  • 格式工厂:一站式多媒体文件转换专家
  • 全网通电视 1.0 | 支持安卓4系统的直播软件,提供众多港台高清频道
  • 深入理解 Pinia:从基础到进阶的完整指南
  • 从交互说明文档,到页面流程图设计全过程