Unity在Scene下绘制图片

转载:http://blog.csdn.net/liqiangeastsun/article/details/42124181

//在Scene下,在一个坐标位置显示一个图片,在Game中看不到。有时为了编辑方便使用
//注意: 图片必须放在Gizmos文件夹下面。 
using UnityEngine;
using System.Collections;

public class CameraMove : MonoBehaviour { 
   
    private Transform myTransform;

    void Start()
    {
        myTransform = transform;
    }

    //这里OnDrawGizmos()方法,脚本继承了MonoBehaviour后,并且在编辑模式下就会每一帧都执行它。
    //发布的游戏肯定就不会执行了,它只能用于在scene视图中绘制一些小物件。比如要做摄像机轨迹,
    //那么肯定是要在Scene视图中做一个预览的线,那么用Gizmos.DrawLine 和Gizmos.DrawFrustum就再好不过了。
    void OnDrawGizmos()
    {
        //绘制图片,参数1 为位置, 参数2 为 图片名(图片需放在Gizmos文件夹),参数 3 是否允许缩放
        Gizmos.DrawIcon( transform.position, "1.png", true);
       
        //下面3行代码绘制的图片不显示,因为获得坐标的时候
        //不是直接用 “transform”获取坐标会失败(具体原因没做处理)
        Vector3 pos = myTransform.position;
        pos.y += 2;
        Gizmos.DrawIcon( pos, "2.png", true); 
    }

    //在Scene下划线
    public GameObject EndPoint;

    void OnDrawGizmosSelected() //选择绑定该脚本的对象时划线
    {
        if (EndPoint != null)
        {
            Gizmos.color = Color.green;
            //绘制线段 参数1 起点位置,参数2 结束位置
            Gizmos.DrawLine(transform.position, EndPoint.transform.position);
        }
    }
}

你可能感兴趣的:(Unity在Scene下绘制图片)