您当前的位置: 首页 >  unity

程序员正茂

暂无认证

  • 5浏览

    0关注

    283博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Unity UGUI坐标与世界坐标转换

程序员正茂 发布时间:2019-12-16 11:22:32 ,浏览量:5

注意:将Canvas的Render Model改为Screen-Space Camera。

1.UGUI坐标转世界坐标

Vector3 ptScreen = RectTransformUtility.WorldToptScreeneenPoint (Camera.main, button.transform.position);
ptScreen.z = 0;
ptScreen.z = Mathf.Abs (Camera.main.transform.position.z - transform.position.z);
Vector3 ptWorld = Camera.main.ptScreeneenToWorldPoint (ptScreen);

2.世界坐标转UGUI坐标

Vector3 ptWorld;
ptWorld = Camera.main.WorldToScreenPoint(obj.transform.position);
Vector2 pos;
RectTransformUtility.ScreenPointToLocalPointInRectangle(canvas.transform as RectTransform, ptWorld, canvas.worldCamera, out pos);
rectTransform.anchoredPosition = pos;//如果位置与预期不一致,请修改锚点对齐方式

 

关注
打赏
1660743125
查看更多评论
立即登录/注册

微信扫码登录

0.0353s