Unity在编辑器中的Scene面板中绘制指定的区域

为了方便的调试数据,将数据可视化是个不错的选择。比如怪物的攻击范围,如果只修改一个半径的数值,没有相应的东西进行对比,也不清楚这个数值到底合不合适,所以我们可以根据这个半径绘制一个球或者圆,攻击范围一目了然

何时绘制?

我们不希望任何时候都绘制这个范围,如果有好多怪物,每个都绘制一个范围,将得不偿失,不仅拖慢我们的运行速度,而且看起来很乱。所以只在选中当前物体时,才进行绘制比较好

MonoBehaviour.OnDrawGizmosSelected()
该函数在选中物体时执行,重写该函数即可绘制我们的图形

怎么绘制?

Gizmos

设置绘制的图形颜色
Gizmos.color

  • 青色:Color.cyan
  • 灰色:Color.gray
  • 黄色:Color.yellow
  • 洋红色:Color.magenta
  • 完全透明:Color.clear
  • 自定义:new Color(1, 1, 0, 0.75F);

使用Gizmos的静态方法


绘制球体
public static void DrawSphere (Vector3 center, float radius);
参数:

  • center:球心坐标
  • radius:球的半径

绘制线
public static void DrawLine (Vector3 from, Vector3 to);
参数:

  • from:起点坐标
  • to:终点坐标

Handles

需要引入命名空间 UnityEditor
使用Handles的静态方法

使用Handles.color属性设置绘制的颜色


绘制圆
public static void DrawSolidDisc (Vector3 center, Vector3 normal, float radius);
参数:

  • center:圆心坐标
  • normal:圆的法向量(通过法向量控制圆所在的不同平面)
  • radius:圆的半径

绘制圆弧
public static void DrawSolidArc (Vector3 center, Vector3 normal, Vector3 from, float angle, float radius);
参数:

  • center:圆弧中心坐标
  • normal:圆弧的法向量,可以控制圆弧的绘制方向(左手法则判断)
  • from:绘制的起点坐标
  • angle:绘制角度
  • radius:圆弧半径
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序鸡

如果帮到您,点个赞鼓励一下吧。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值