Unity3D腳本18:可視化輔助設置類 Gizmos


Gizmos   類

     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);
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM