Unity 判断UI在不在摄像机视口里面,也就是摄像机前面

 

1.直接上代码  根据自己需要修改

wut.position 表示3d物体 
jiantou.position 表示UI
效果是UI跟随物体显示
当物体在摄像机视口里面,能看到UI在物体上面,相反就不显示,
如果不判断 物体不在摄像机视口里面 UI错误显示在屏幕上,位置不对

Vector3 vector = Camera.main.WorldToScreenPoint(wut.position);
世界坐标转UI坐标

Vector3 vector = Camera.main.WorldToScreenPoint(wut.position); //判断在不在摄像机前面 x z 大于等于0说明在摄像机前面 小于说明在摄像机后面 if (vector.x >= 0 && vector.z >= 0) { jiantou.position = new Vector3(vector.x, vector.y + 50, vector.z); jiantou.gameObject.SetActive(true); } else { jiantou.gameObject.SetActive(false); }

 

posted @ 2021-04-23 16:26  剑起苍穹  阅读(845)  评论(0编辑  收藏  举报
/*鼠标点击特效*/