很久没更新博客了,已经有5个月了,这段时间的经历就像过山车一样,真他*的刺激,现在算是稳定下来了。这段时间在工作上遇了一个小问题,但是在网上搜不到解决办法,觉得有必要把它记录下来,写成一篇博客。
1.需求
给两个UI素材,一个是标签框,一个是连线。在模型边上放置一个世界空间的Canvas,让其标注模型某部位的名称,摄像机旋转UI始终朝向摄像机,不会被遮挡最前端显示。
刚开始以为很普通,是很简单的需求。自己做过之后在发现实现起来有点麻烦。
如图
旋转前
旋转后
怎么让这个这个连线的终端始终在对应的点上呢?他是个图片啊!怎么处理?
2.解决方法
1.解决UI最前端显示的问题
老办法,在主摄像机下设置一个子摄像机,主摄像机CullingMask去掉显示UI。子摄像机CullingMask只显示UI,并且ClearFlags选择Depth only。Depth设置必须5以上。
子摄像机设置如图:
2.解决旋转后UI连线终点在对应点上
(1).首先在目标点下面新建一个canvas,将canvas的显示模式设置为世界坐标系。重置RectTransform 的坐标,并且将Layer层设置为UI(所有子物体Layer层都设置为UI).如图
(2).在canvas下面添加两个image,调整连线图片的坐标使其两端对准。
(3)在canvas上添加一个脚本,脚