unity中有一个划线的辅助类,很多插件中都有看到,在某些时候还是比较有用的。这里实际上手测试一波。
脚本如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GizmosTest : MonoBehaviour {
//Gizmos类是用来在scene视图中可视化调试的辅助类,在game视图中不可见
//也不需要运行执行,保存代码后就会看到效果
//OnDrawGizmos,unity特定方法,每帧都会执行
private void OnDrawGizmos()
{
//在原点生成一个图标,无论怎么旋转观察都是这样的。图片要放在Gizmos文件夹下
// Gizmos.DrawIcon(Vector3.zero,"psd.psd");
//以vector3.zero为中心,画一个边长3米的cube
Gizmos.color = Color.cyan;
// Gizmos.DrawCube(Vector3.zero,Vector3.one*3);
//从一个点到另一个点 画一条线
// Gizmos.DrawLine(Vector3.zero,Vector3.one*7);
//从一个点出发向某一方向发射一条射线
// Gizmos.DrawRay(Vector3.zero, Vector3.forward);
//以原点为中心,画一个半径为5的圆
// Gizmos.DrawSphere(Vector3.zero,5);
//绘制摄像机视锥体可视区域
//Gizmos.DrawFrustum(Vector3.zero,60,1000,0.3f,1);
//画一个线框的圆
// Gizmos.DrawWireSphere(Vector3.zero,5);
//画一个线框的正方体
// Gizmos.DrawWireCube(Vector3.zero,Vector3.one*5);
}
public Transform cube;
//与OnDrawGizmos()不同的是:这个方法所在脚本挂在某个物体上,必须选中该物体才会显示出效果
private void OnDrawGizmosSelected()
{
Gizmos.DrawWireSphere(cube.position,5);
}
}
各种效果图片:
摄像机可视区域:
实体正方体:
实体球体:
线框正方体:
线框球体:
scene视图下的图标: