Unity模型上动态展示UI标签

本文介绍了在Unity中如何实现在3D模型上动态展示UI标签和连线,确保UI始终朝向摄像机并在旋转后正确对齐。通过在主摄像机下创建子摄像机处理UI显示,以及在目标点创建世界坐标系的Canvas来定位连线终点,实现了需求。详细步骤包括子摄像机设置、Canvas配置和脚本编写。
摘要由CSDN通过智能技术生成

很久没更新博客了,已经有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上添加一个脚本,脚

  • 7
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值