没有合适的资源?快使用搜索试试~ 我知道了~
unity实现UI元素跟随3D物体
5星 · 超过95%的资源 26 下载量 145 浏览量
2020-08-19
07:50:52
上传
评论 1
收藏 139KB PDF 举报
温馨提示
试读
2页
主要为大家详细介绍了unity实现UI元素跟随3D物体,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
资源推荐
资源详情
资源评论
unity实现实现UI元素跟随元素跟随3D物体物体
主要为大家详细介绍了unity实现UI元素跟随3D物体,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的
小伙伴们可以参考一下
本文实例为大家分享了unity实现UI元素跟随3D物体的具体代码,供大家参考,具体内容如下
在Canvas不同的渲染模式(RenderMode)下实现UI跟随3D物体
当Canvas.RenderMode为为Screen Space-Overlay时
利用WorldToScreenPoint(worldPos)将物体的世界坐标转换成屏幕坐标,实时更新UI的坐标:
using UnityEngine;
using System.Collections;
public class FollowWorldObj : MonoBehaviour {
[SerializeField]
GameObject worldPos;//3D物体(人物)
[SerializeField]
RectTransform rectTrans;//UI元素(如:血条等)
public Vector2 offset;//偏移量
// Update is called once per frame
void Update () {
Vector2 screenPos=Camera.main.WorldToScreenPoint(worldPos.transform.position);
rectTrans.position = screenPos + offset;
}
}
当Canvas.RenderMode为为Screen Space-Camera时
利用RectTransformUtility.ScreenPointToLocalPointInRectangle换算出UI元素在Canvas的2D坐标:
using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;
public class UI_FollowObj : MonoBehaviour {
[SerializeField]
Camera UI_Camera;//UI相机
[SerializeField]
RectTransform image;//UI元素
[SerializeField]
GameObject obj;//3D物体
[SerializeField]
Canvas ui_Canvas;
// Update is called once per frame
void Update () {
UpdateNamePosition();
}
/// <summary>
/// 更新image位置
/// </summary>
void UpdateNamePosition()
{
Vector2 mouseDown = Camera.main.WorldToScreenPoint(obj.transform.position);
Vector2 mouseUGUIPos = new Vector2();
bool isRect = RectTransformUtility.ScreenPointToLocalPointInRectangle(ui_Canvas.transform as RectTransform, mouseDown, UI_Camera, out mouseUGUIPos);
if (isRect)
{
image.anchoredPosition = mouseUGUIPos;
}
}
}
效果如下:
资源评论
- 陈后主2023-07-26虽然对于一些经验较少的开发者来说,这个文件可能需要一些额外的解释,但总体来说它提供了理解如何实现UI与3D相互交互的基本方法。
- 顾露2023-07-26各种示例代码和详细说明帮助读者理解如何在他们自己的项目中应用这些技巧,非常实用。
- Msura2023-07-26这个文件描述了一种简单而直接的方法来实现UI元素跟随3D物体的效果,非常适合初学者。
- 叫我叔叔就行2023-07-26这个文件提供了有关如何在Unity中实现UI元素跟随3D物体的实用指导,非常实用。
- 俞林鑫2023-07-26这个文件对于那些希望在他们的游戏中实现UI元素与3D物体相互配合的开发者来说是一个宝贵的资源。
weixin_38708945
- 粉丝: 2
- 资源: 908
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功