这个类用来做自己的组件很不错,比如下面这个图的路径点,他其实是个Empty Object,可以自己加脚本让他带上标记。
官方解释还可以用来做帮助提示的-.- 大游戏场景的制作时候,你可以用这个在地图上写下注释。

属性:
color 画得颜色
matrix 设置矩阵,用于画所有Gizmos (具体用法未知)
方法:
DrawRay画射线
DrawLine画直线
DrawWireSphere画线框球
DrawSphere画实心球
DrawWireCube画线框方体
DrawCube画实体方体.
DrawIcon画一个图标
DrawGUITexture画一个GUI贴图

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

[Unity3D]开发视图中的标记 - Gizmos的更多相关文章

  1. unity 在Game视图中显示Gizmos

    自己画的Gizmos要想在Game视图中能看到,需要把Game视图窗口右上角的"Gizmos"按钮点下去.如图: 比如,下面代码以角色的capsuleCollider中心为中心画一 ...

  2. unity3d开发的android应用中增加AD系统的详细步骤

    unity3d开发的android应用中增加AD系统的详细步骤 博客分类: Unity3d unity3d  Unity3d已经支持android,怎样在程序里增加admob?  试了一下,确实能够, ...

  3. 使用VS2010开发Qt程序的4点经验(QT4到QT5的升级,更改sln文件,切换工程使用的Qt库,在VS的Solution Explorer视图中建立文件夹)

    导读 相比于Qt Creator,我更喜欢用VS2010来进行开发.虽然启动时间相对较慢,但是VS下强大的快捷键和丰富的插件,以及使用多年的经验,都让我觉得在开发过程中得心应手.其中最重要的一点是,有 ...

  4. 【VS开发】单文档中往视图中加入控件

    [VS开发]单文档中往视图中加入控件 标签(空格分隔): [VS开发] 分隔视图的但文档窗口,要显示控件,推荐使用CFormView或者CCtrlView,前者和对话框的做法一致. 在MainFram ...

  5. OAF_开发系列12_实现OAF开发中URL中的标记和加密参数传递(案例)

    20150712 Created By BaoXinjian

  6. [原]Unity3D深入浅出 - 认识开发环境中的Layers面板

    Layers(分层)下拉列表:用来控制Scene视图中游戏对象的显示,在下拉菜单中为勾选状态的物体将显示在Scene视图中. Everything:显示所有的游戏对象 Nothing:不显示任何游戏对 ...

  7. Unity3D研究院之Inspector视图中的get/set使用

    get set 使用起来很方便,但是编辑时在Inspector视图中问题就来了,因为get/set的属性即使是public了,但是在Inspector视图中依然不显示..谷歌一下估计就是下面这样的答案 ...

  8. Unity3D引擎扩展中的编辑器定制方法

    http://gamerboom.com/archives/36432 作者:Richard Fine Unity3D的方便之处在于,它很容易地扩展编辑器套件.每款游戏都对加工有着不同的需求,可以快速 ...

  9. Coroutine协同程序介绍(Unity3D开发之三)

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢! 原文地址: http://www.cocos2dev.com/?p=496 Coroutine在Uni ...

随机推荐

  1. yii2复选框

    Yii2复选框的具体使用方法如下,以商品中的品牌为例在页面显示 第一种方法:使用ActiveForm::checkBoxlist()(这种方法可以把后台获取到的数据都生成复选框),具体使用如下: &l ...

  2. 图像处理之常用颜色RGB、灰度值

    128/0/0       深红         255/0/0       红           255/0/255     粉红        255/153/204 玫瑰红       153 ...

  3. selenium webdriver三种等待方法

    webdriver三种等待方法 1.使用WebDriverWait from selenium import webdriverfrom selenium.webdriver.common.by im ...

  4. java小程序整理及排序算法

    1. 利用循环打印如下图形 ***** **** *** ** * public class Main { public static void main(String[] args) { // TO ...

  5. XP+devOps开发模式与scrum敏捷开发对比,docker虚拟化

    XP+devOps开发模式与scrum敏捷开发对比,docker虚拟化 我们现在用的就是典型的XP+devOps模式,已经放弃scrum了 现在还很多公司弄docker虚拟化docker非常复杂,当然 ...

  6. linux,Mac下lu 一把

    习惯Terminal没有不知道ls命令的(等同于DOS的dir),经常只是需要查看目录的内容大小,但ls -h显示的只是目录的本身大小,而且很多项内容 ls 在这方面的两个诟病出现了: 小诟1. 显示 ...

  7. shell if

    shell中if做比较 比较两个字符串是否相等的办法是: if [ "$test"x = "test"x ]; then 这里的关键有几点: 1 使用单个等号 ...

  8. Linux设备模型(9)_device resource management ---devm申请空间【转】

    转自:http://www.wowotech.net/linux_kenrel/device_resource_management.html . 前言 蜗蜗建议,每一个Linux驱动工程师,都能瞄一 ...

  9. oracle 定时备份

    第一步.bat脚本: @echo off echo 删除10天前的备分文件和日志 forfiles /p "z:/back" /m *.dmp /d -10 /c "cm ...

  10. Windows 7 驱动开发

    本文是对Win7(64)+VS2010+WDK7.1.0(WinDDK\7600.16385.1)开发驱动的小结. 一.系统工具 1.Win7(amd64位)系统 注:已装系统后,管理员身份运行cmd ...