当前位置:   article > 正文

Unity在编辑器中的Scene面板中绘制指定的区域_unity如何在区域标记

unity如何在区域标记

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

何时绘制?

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

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:圆弧半径
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/660408
推荐阅读
相关标签
  

闽ICP备14008679号