30+种图形一网打尽:Vertx.Debugging全部Shape形状清单与用法
30种图形一网打尽Vertx.Debugging全部Shape形状清单与用法【免费下载链接】Vertx.DebuggingDebugging utilities for Unity项目地址: https://gitcode.com/gh_mirrors/ve/Vertx.DebuggingVertx.Debugging是一款专为 Unity 打造的快速编辑器调试与 Gizmo 绘制工具包Fast editor debugging and gizmo utilities它基于实例化渲染Instanced Rendering在场景中高效绘制 60 余种线框图形和物理投射形状。无论你在调物理射线、看相机视野、还是可视化法线这个包的Shape类几乎都能一形到位。支持 Unity 2022.23.0.0 及以上版本兼容所有渲染管线Built-in / URP / HDRP并支持从Jobs 和 Burst中直接绘制图形。为什么 Unity 开发者需要 Vertx.Debugging 图形调试传统的Gizmos和Debug.DrawLine在大量绘制时性能堪忧且 API 分散。Vertx.Debugging 的优势⚡实例化渲染所有图形走统一的 CommandBuilder 缓冲管线画几万个形状也流畅统一入口一个D.raw(...)调用即可绘制任何形状指定颜色与持续时间自动剥离打包时调试调用会被编译器自动剔除无需#if UNITY_EDITOR包裹Job 友好支持在 Burst 编译的 Job 中绘制文字图形除外三行代码画出第一个 Shape所有图形都集中在Shape静态类中见 README.md用D.raw即可绘制// 在指定位置画一个红色球体持续显示 2 秒 D.raw(new Shape.Sphere(position, 1f), Color.red, 2f); // 射线没击中画绿色击中画红色颜色可在偏好设置中自定义 D.raw(new Shape.Sphere(position, 1f), hit, 2f);小技巧如果项目里频繁使用可以静态导入后直接写new Sphere(...)using static Vertx.Debugging.Shape;这些方法几乎可以在任何地方调用Update、LateUpdate、FixedUpdate、OnDrawGizmos配合[ExecuteAlways]还能在编辑模式下工作。Vertx.Debugging 全部 Shape 形状清单60下面按类别整理全部可绘制形状。核心实现位于 Runtime/Shapes/ 目录每个分类对应一个源文件。 3D 基础实体形状最常用的几何体一族定义于 Runtime/Shapes/Shapes.cs形状用途说明Sphere球体碰撞范围、触发器可视化首选Hemisphere半球体适合半球形感知范围Box立方体包围盒、触发区域Capsule胶囊体角色控制器的经典形状Cylinder圆柱体Cone圆锥端部半径可调可画圆台Pyramid金字塔Plane平面上围绕一点绘制的矩形Frustum相机视锥体FrustumFieldOfView3D 视场角球形扇区AI 感知范围神器➖ 3D 线条、射线与箭头同样是 Runtime/Shapes/Shapes.cs 中的高频选手形状用途说明Line两点之间的线段DashedLine虚线表示逻辑关联而不占视觉焦点LineStrip由一串点组成的折线Ray从位置出发的射线方向可不归一化Point由三条线交叉构成的点标记Arrow带箭头的向量画移动方向、力的方向ArrowStrip折线 末端箭头HalfArrow单侧箭头常用于 HalfEdge 数据结构可视化CurvedArrow弧线箭头避免直线与其他图形重叠Arrow2DFromNormal用法线对齐的 2D 箭头画在 3D 空间中AxisXYZ 三轴指示器可视化 Transform 朝向SurfacePoint射线 圆圈精准标出表面上的一个点 3D 曲线与特殊形状形状用途说明Circle空间中的任意朝向圆用法线定向Arc圆弧支持起止角、弦长构造等多种方式Annulus圆环或圆环扇区Catenary悬链线模拟两点间垂挂的缆绳效果MeshNormals批量绘制 Mesh 法线见 Runtime/Shapes/Shapes.Mesh.cs 2D 形状清单2D 游戏开发者同样有完整的一套定义于 Runtime/Shapes/Shapes.2D.cs形状用途说明Point2D十字点标记Ray2D2D 射线支持角度或向量指定方向Arrow2D/ArrowStrip2D2D 箭头 / 折线箭头Axis2DXY 轴指示器Circle2D平面圆Arc2D圆弧Box2D/Box2DWithEdgeRadius矩形 / 带边缘半径的矩形Area2D区域Capsule2D2D 胶囊体Spiral2D螺旋线可视化车轮旋转很直观 3D 物理投射Casts形状把Physics的探测操作直接画出来实现于 Runtime/Shapes/Shapes.Casts.cs形状对应物理 APIRaycast/RaycastAllPhysics.Raycast/RaycastAllLinecastPhysics.LinecastSphereCast/SphereCastAllPhysics.SphereCast/SphereCastAllBoxCast/BoxCastAllPhysics.BoxCast/BoxCastAllCapsuleCast/CapsuleCastAllPhysics.CapsuleCast/CapsuleCastAll不指定颜色时默认行为非常贴心未命中画绿色命中的位置画红色一眼定位问题碰撞。 2D 物理投射Casts形状定义于 Runtime/Shapes/Shapes.Casts.2D.csRaycast2D、Linecast2D、RaycastAll2D、LinecastAll2D、CircleCast/CircleCastAll、BoxCast2D/BoxCast2DAll、CapsuleCast2D/CapsuleCast2DAll参数与Physics2D系列 API 一一对应支持传入RaycastHit2D结果。 文字、网格法线与内置类型兜底形状说明Text场景内 3D 位置上的文字标签支持 3D Gizmo 淡出ScreenText视图左上角的屏幕空间文字Scene 视图下走 OverlayMeshNormals绘制网格法线此外Shape还为 Unity 内置类型提供了兜底构造让你无缝迁移Vector3→Point、Ray→Ray、RaycastHit→SurfacePoint、Bounds→Box、Collider基础碰撞体→ 对应实体形状2D 侧Vector2→Point2D、RaycastHit2D→Ray、Rect→Box2D。文字相关形状实现见 Runtime/Shapes/Shapes.Text.cs。如何为调试场景挑选合适的 Shape选图形的 4 个实用建议画范围用实体感知半径用Sphere扇形视野用FieldOfView走廊触发器用Capsule或Box画方向用箭头速度、力、朝向一律Arrow怕线条互相遮挡就换CurvedArrow画探测用 Casts与其手动拼射线 圆不如直接用SphereCast系列命中自动标红批量点用Point/LineStrip路径点、轨迹点用LineStrip串起来比单独画点更有信息量 所有形状参数如Angle角度辅助类定义在 Runtime/Shapes/Shapes.Parameters.cs例如弧长角度可用Angle.FromDegrees构造。常见搭配与使用场景️角色调试Capsule碰撞体FieldOfView视野Arrow移动方向AI 感知RaycastAll画探测射线命中点用SurfacePoint标出相机调试Frustum画视锥Raycast画遮挡检测️场景标注Text标名称 Axis标朝向 DashedLine连逻辑关系网格排查MeshNormals配合 DebugMeshNormals 组件快速发现法线问题 除形状外包内还提供一组现成组件Runtime/Components/Debug Transform、Debug Renderer Bounds、Debug Collider Bounds、Debug Collision Events、Debug Trigger Events、Debug Mesh Normals拖到物体上即可显示对应可视化。新手常见疑问 FAQQ1打包后这些绘制代码会有性能开销吗不会。D.raw上的调用在构建时会被自动剥离你无需手动删除代码或加宏定义。Q2可以从 Jobs / Burst 中绘制吗可以除文字外的所有形状都支持并行与 Burst 编译环境绘制。若 Job 来自FixedUpdate等固定步长上下文记得用DrawPhysicsUtility.GetFixedFrameJobDuration获取时间校正后的 duration避免闪烁。Q3绘制位置会跟随物体吗duration参数控制显示时长0 表示一帧。从 Gizmo 上下文绘制时 duration 会被忽略且Gizmos.matrix生效、Gizmos 不参与拾取。Q4视图里看不到图形怎么办确认场景视图已开启Gizmos显示如出现深度测试异常或画面伪影可在Project Settings Vertx Debugging中关闭对应视图的 Depth Write / Depth Test。Q5所有形状都是线框吗是的目前所有形状均为 wireframe 风格暂无实体面片计划——这正是它轻量高效的来源。总结维度Vertx.Debugging图形总数60 种结构体形状 内置类型兜底分类覆盖3D 实体 / 线条箭头 / 曲线 / 2D / 3D 与 2D 物理投射 / 文字法线入口 APID.raw(形状, 颜色, 持续时间)核心源码Runtime/Shapes/、Runtime/Draw.cs最低版本Unity 2022.23.0.x 系列要求 2022.3从一条Line到整组SphereCastAllVertx.Debugging 的Shape清单基本覆盖了 Unity 开发中所有可视化调试需求。对照上文清单下次打开调试面板时你应该能 3 秒内找到最合适的图形了 【免费下载链接】Vertx.DebuggingDebugging utilities for Unity项目地址: https://gitcode.com/gh_mirrors/ve/Vertx.Debugging创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考