画线

in 编程
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9

画线方式1. Debug.drawLine

     在scence视图,显示参数是起点,终点,颜色,显示时间。显示时间为0则显示时间为1帧。如果game视图打开gizmos,也会显示出来。但是无法在应用上显示。

画线方式2.Gizmos.drawLine

     在scence视图中,game视图打开gizmos也会显示。参数是起点,终点。只能在OnDrawGizmos或OnDrawGizmosSelected 中调用。在editor状态下都会显示线条。但是无法在应用上显示。

画线方式3.Graphic.drawmesh

      在game和scence视图中显示,在update或fixedupdate中调用,多达25中重载,参数是位置,材质等信息,画出的是一个模型。没有研究。。。

画线方式4.GL

       一般在OnRenderObject,OnPosRender。GL.Begin/GL.End里的渲染是自动合并的,一般是一个Drawcall。     

         可以在应用中显示。

         格式如下 pushMatrix loadpixelmatrix(加载矩阵) popmatrix。 gl.begin gl.end。gl.vertex设置点,注意点是一对一对的。如 (1,2)(2,3)(3,4)。可以设置材质。  

 void OnPostRender()
    {        
        GL.PushMatrix(); //保存当前Matirx  
        mat.SetPass(0); //刷新当前材质  
        GL.LoadPixelMatrix();//设置pixelMatrix  
        GL.Color(Color.yellow);
        GL.Begin(GL.LINES);
        GL.Vertex3(0, 0, 0);
        GL.Vertex3(Screen.width, Screen.height, 0);
        GL.End();
        GL.PopMatrix();//读取之前的Matrix  
    }

画线方式5.LineRender

        如同GL。用到组件linerender。可以设置材质,设置节点(但是不是成对的是线性的节点)。画出之后一直显示。可以在应用上显示。性能开销比GL大,不适合画太多的线条。

    

关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9
扫一扫关注公众号添加购物返利助手,领红包
Comments are closed.

推荐使用阿里云服务器

超多优惠券

服务器最低一折,一年不到100!

朕已阅去看看