【Unity】获取UI物体在屏幕上的位置

这篇具有很好参考价值的文章主要介绍了【Unity】获取UI物体在屏幕上的位置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

获取ui在自身Canvas的相对位置且canvas全屏
ui的屏幕坐标就是自身相对于canvas位置加上canvas大小的1/2;文章来源地址https://www.toymoban.com/news/detail-527927.html


Canvas canvas = this.transform.GetComponentInParent<Canvas>();
RectTransform canvasRect = canvas.transform.GetComponent<RectTransform>();
//自身相对于Canvas的位置
Vector3 loadpos = canvas.transform.InverseTransformPoint(this.transform.position);
//屏幕位置
Vector3 screenPoint = loadpos + new Vector3(canvasRect.sizeDelta.x, canvasRect.sizeDelta.y, 0) / 2;

到了这里,关于【Unity】获取UI物体在屏幕上的位置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Unity ShaderGraph】| 物体靠近时局部溶解,根据坐标控制溶解的位置【文末送书】

    前言 本文将使用ShaderGraph制作一个根据坐标控制溶解的位置,物体靠近局部溶解的效果,可以直接拿到项目中使用。 对ShaderGraph还不了解的小伙伴可以参考这篇文章:【Unity ShaderGraph】| Shader Graph入门介绍 | 简介 | 配置环境 | 窗口介绍 | 简单案例 下面就开始看一下具体的制作

    2024年02月05日
    浏览(29)
  • 【Unity】Input——检测鼠标、键盘、手柄输入、鼠标在屏幕上的位置等等

    Unity提供的 更方便的 控制对象的 位移和旋转的解决方案 这个Axis是可以自定义的:

    2024年02月11日
    浏览(78)
  • Unity获取物体网格(mesh)顶点(vertex)的世界坐标

    ​​​​ 1、获取物体的所有顶点 注意使用:sharedMesh,而不是mesh 2、顶点的坐标转变成世界坐标 注意: 必须用myGameObject.transform.TransformPoint(v1) 而不是transform.TransformPoint(v1),这一句起始等价于:this.gameobject.transform.TransformPoint(v1) 3、剩下的比较简单了,就在是坐标处安放物体

    2024年02月11日
    浏览(42)
  • Unity获取物体自身坐标轴的方向以及沿着该方向运动的方法

    有时候对于一个游戏对象,需要其沿着自身的坐标轴方向进行运动,那么首先如何获取自身的坐标轴方向? 获取自身的坐标轴方向可以通过transform组件进行获取(负方向加负号即可)  Vector3 moveDirection = transform.right;  获取自身的x轴的方向  Vector3 moveDirection = transform.forward;  获

    2024年02月12日
    浏览(36)
  • Unity UI不被3D物体遮挡

    UI Shader: 用该Shader创建一个材质,将该材质挂到不被模型遮挡的UI上。 TextMeshPro 设置: 修改TextMesh Pro/Shaders/TMP_SDF.shader 修改如下:

    2024年02月07日
    浏览(40)
  • unity UI 跟随3D物体移动

     

    2024年02月11日
    浏览(44)
  • Unity坐标系的转换—世界坐标转为UI坐标

    直接调用WorldToAnchorPos,传入对应的参数返回UGUI坐标

    2024年04月13日
    浏览(34)
  • unity中实现3D物体在UI前方

    在Unity中,如果你想要将3D物体显示在UI的前方,可以通过Canvas和RawImage来实现。以下是一些步骤: 创建Canvas: 在场景中创建一个Canvas对象。你可以在Hierarchy视图中右键点击,选择UI Canvas,或者在创建菜单中找到。Canvas是用来渲染UI元素的。 创建RawImage: 在Canvas中创建一个Ra

    2024年02月20日
    浏览(41)
  • Unity Canvas不同模式下实现UI追随物体

    在Canvas不同渲染模式(RenderMode)下实现UI跟随3D物体功能。 利用WorldToScreenPoint()将物体的世界坐标转换成屏幕坐标,然后更新UI的坐标: 1.UI跟随3D物体 2.UI跟随鼠标 RectTransformUtility.ScreenPointToLocalPointInRectangle换算出UI元素在Canvas的2D坐标: 1.UI跟随3d物体 2.UI跟随鼠标(此处我的分辨

    2024年02月11日
    浏览(29)
  • Unity UI -- (3)管理屏幕大小和锚点

            在前面我们探索了一些基本的文本格式。我们需要考虑一个问题,这个文本在屏幕大小发生变化时该如何适应呢?         在Unity中,我们可以使用Canvas和Anchor Point(锚点)系统来确保UI元素总是出现在正确的位置,不管它们在哪种屏幕上出现。         在编辑修改

    2024年02月11日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包