您的位置:首页 > 移动开发 > Unity3D

Unity在Scene下绘制图片

2016-12-20 15:25 393 查看
//在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);  

        }  

    }  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息