unity物体指示线


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

先上示意图:



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


再说说思路:

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

具体设置:

 *获取坐标中心点(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再完善。



评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值