unity物体指示线


在项目中遇到物体带有指示线的需求,想到线,可以用两种方法,一个是Line Render,一个是GL。因为之前刚玩了玩GL,就选用GL来完成画线。

先上示意图:

unity物体指示线


物体旋转,指示线也会跟随,并向外拉出。避免折叠。


再说说思路:

首先设定一个自己的直角坐标系,坐标原点自己设定,当物体处在第一象限或第四象限,指示线向右拉出;处在第二象限或第三象限,指示线向左拉出。

具体设置:

 *获取坐标中心点(px,py,pz)
* 指示线长度L
* 起点 pos=parent.transform.position
* 中间点(posx,posy)

* 如果pos.x-px>=0&&pos.y-py>0
* 在第一象限
*  x1=pos.x+L*(pos.x-px)/(Mathf.Sqrt((pos.x-px)*(pos.x-px)+(pos.y-py)*(pos.y-py)))
*  y1=pos.y+L*(pos.y-py)/(Mathf.Sqrt((pos.x-px)*(pos.x-px)+(pos.y-py)*(pos.y-py)))
* 终点(x1,y1)

* 如果pos.x-px<0&&pos.y-py>=0
* 在第二象限

* 如果pos.x-px<=0&&pos.y-py<0
* 在第三象限

* 如果pos.x-px>0&&pos.y-py<=0
* 在第四象限

代码很简单就不上了,需要的可以回复。

后面发现BUG再完善。



;