博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unity3D脚本18:可视化辅助设置类 Gizmos
阅读量:6258 次
发布时间:2019-06-22

本文共 2607 字,大约阅读时间需要 8 分钟。

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文件夹或.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);
}

转载地址:http://euxsa.baihongyu.com/

你可能感兴趣的文章
这是一个蒟蒻的计划……QAQ
查看>>
设置局域网共享文件不需要用户名密码
查看>>
raft--分布式一致性协议
查看>>
Solidity notes
查看>>
网上购物系统(Task005)——通用数据库访问函数集SqlHelper类
查看>>
java 单例模式浅析
查看>>
Codeforces Round #389 (Div. 2,) B C
查看>>
python中configparser模块记录
查看>>
IIIDX[九省联考2018]
查看>>
Protobuf3 序列化
查看>>
C语言面试题大汇总
查看>>
JavaSE-List常用方法
查看>>
json 和 pickel 详解
查看>>
Linux基础命令之grep
查看>>
python自动化开发-7
查看>>
使用VS2010+SVN出現的問題
查看>>
谁说Javascript简单的?
查看>>
UVA 1374 Power Calculus
查看>>
表结构更改后或新增加数据后同步到表中
查看>>
软媒魔方u盘装系统
查看>>