所有gizmo繪製需要在腳本的OnDrawGizmos或OnDrawGizmosSelected裏函數完成。
OnDrawGizmos在每幀調用。所有在OnDrawGizmos中渲染的gizmos都是可見的。
OnDrawGizmosSelected僅在腳本附加的物體被選擇時被調用。
-
Gizmos.DrawLine
從obj1到obj2之間畫一條綠色的線
using UnityEngine;
using System.Collections;
public class DrawLineText : MonoBehaviour {
public GameObject obj1;
public GameObject obj2;
void OnDrawGizmos()
{
Gizmos.color = Color.green;
Gizmos.DrawLine( obj1.transform.position , obj2.transform.position );
}
}
2.Gizmos.DrawRay
從obj向上畫一條長度爲10的射線
using UnityEngine;
using System.Collections;
public class DrawRayText : MonoBehaviour {
public GameObject obj;
void OnDrawGizmos()
{
Gizmos.color = Color.gray;
Gizmos.DrawRay(obj.transform.position, Vector3.up * 10); //10 是長度
}
}
3.Gizmos.DrawCube
在(0,1,0)處畫一個(1,1,1)大小的立方體
using UnityEngine;
using System.Collections;
public class DrawCubeText : MonoBehaviour {
void OnDrawGizmos()
{
Gizmos.color = Color.red;
Gizmos.DrawCube(Vector3.up , Vector3.one);
}
}
4.Gizmos.DrawIcon
在(0,0,0)處生成一個名字爲002IMgZLzy6Mro7r94Ka2&690.jpg的Icon ,此圖片要放到Assets下的 Gizmos文件夾裏纔行。
using UnityEngine;
using System.Collections;
public class DrawIconText : MonoBehaviour {
void OnDrawGizmos()
{
Gizmos.DrawIcon(Vector3.zero , "002IMgZLzy6Mro7r94Ka2&690.jpg");
}
}