Gizmos用於場景中給出一個可視化的調試或輔助設置。 所有的Gizmos繪製都必須在腳本的OnDrawGizmos或OnDrawGizmosSelected函數中完成。 OnDrawGizmos在每一幀都被調用。所有在OnDrawGizmos內部渲染的Gizmos都是可見的。 OnDrawGizmosSelected盡在腳本所附加的物體被選中時調用。
類變量
◆ static var color : Color // 描述:設置下次繪製的Gizmos的顏色。
function OnDrawGizmosSelected()
{
Gizmos.color = Color.red;
var direction = transform.TransformDirection(Vector3.forward) * 5; // 在物體的前方繪製一個5米長的線
Gizmos.DrawRay(transform.position, direction);
}
◆ static var matrix : Matrix4x4 // 描述:設置用於渲染所有gizmos的矩陣。
類方法
◆ Static function DrawCube(center:Vector3,size:Vector3):void // 描述:用center和size繪製一個立方體.
Function OnDrawGizmosSelected(){
Gizmos.color=Color(1,0,0,5); // 在變換位置處繪製一個變透明的藍色立方體
Gizmos.DrawCube(transform.position,Vector3(1,1,1));
}
◆ Static function DrawGUITexture(screenRect:Rect,texture:Texture,mat:Material=null):void // 描述:在屏幕座標下繪製一個紋理。用於GUI背景。
◆ Static function DrawGUITexture(screenRect:Rect,texture:Texture,leftBorder:int,rightBorder:int,topBorder:int,bottomBorder:int,mat:Material=null):void // 描述:在屏幕座標下繪製一個紋理。用於GUI背景。
◆ Static function Drawicon(center:Vector3,name:string):void // 描述:在世界位置center處繪製一個圖標.這個圖標被命名爲name並放置在Assets/Gizmos文件夾或Unity.app/Resoutces文件夾.DrawIcon允許你在遊戲中快速選擇重要的物體。
在物體位置處繪製光源燈泡圖標.因爲我們在OnDrawGizmos函數內部調用它,在場景視圖中 ,這個圖標總是可點選的.
function OnDrawGizmos(){
Gizmos DrawIcon(transform.position,”Light Gizmo.tiff”);
}
◆ Static function DrawLine(from:Vector3,to:Vector3):void // 描述:繪製一條線從from到to.
Var Larget:Transform;
function OnDrawGizmosSelected(){
if(target != null)
{
Gizmos.color = Color.blue; //從transform到target繪製一條藍色的線
Gizmos.DrawLine(transform.position,target.position);
}
}
◆ static function DrawRay(r:Ray):void
static function DrawRay(from:Vector3,direction:Vector3):void // 描述:繪製一個射線從from開始到from + direction.
◆ function OnDrawGizmosSelected(){
Gizmos.color = Color.red;
Direction = transform.TransformDirection(Vector3.forward)*5;
Gizmos.DrawRay(transform.positon,direction);
}
◆ Static function DrawSphere(center:Vector3,radius:flont):void // 描述:用center和randins繪製一個球體.
Function OnDrawGizmosSelected(){
Gizmos.color = Color.yellow; // 在變換位置處繪製一個黃色的球體
Gizmos.DrawSphere(transtorm.position,1);
}
◆ Static function DrawWireCube(center:Vector3, size: Vector3):void // 描述:用center和radius繪製一個線框立方體.
Function OnDrawGizmosSelected(){
Gizmos.color = Color.yellow; //在變換位置處繪製一個黃色立方體
Gizmos.DrawWireCube (transtorm.position, Vector3(1,1,1));
}
◆ Static function DrawWireSphere(center:Vector3,radius:float):void // 描述:用center和radius繪製一個線框球體.
Var explosionRadius = 5.0;
Function OnDrawGizmosSelected(){
Gizmos.color = Color.white; //選中的時候顯示爆炸路勁
Gizmos.DrawSphere(transtorm.position,explpsionRadius);
}