把建筑的世界坐标转换为屏幕坐标。
//Camera.main为游戏场景中的主摄像机。
Vector3 screenPos = Camera.main.WorldToScreenPoint(buildPos);
把屏幕坐标转换为UI的坐标。
这里介绍两种方法。(因为之前用的都是第一种方法,没见过第二种。然后公司项目用的是第二种,第一次看到那些代码的时候,搞了半天才搞懂是啥意思。。。)
1、常用的方法,简单好用
//canvas即为UI所在的Canvas。
Vector2 uiPos = Vector2.zero;
RectTransformUtility.ScreenPointToLocalPointInRectangle(canvas.transform as RectTransform,screenPos,null,out uiPos);
//img的锚点需要在屏幕中间,此时就可正确的设置其坐标了。
img.rectTransform.anchoredPosition = uiPos;
2、不是很常用的方法,但也可以用
//当游戏中Canvas的渲染模式为 Screen Space - Camera时,设置渲染Camera的摄像机为UICamera。
//用UICamera把屏幕坐标转换为UI物体的世界坐标,
Vector3 uiWorldPos = UICamera.ScreenToWorldPoint(screenPos);
//然后赋值给UI的3D坐标。
img.transform.position = uiWorldPos;
Unity UI坐标系转换
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- public static double[] gcj02_To_Bd09(double lat,double lo...
- 顶视图-世界坐标系-相机坐标系-Scara坐标系转换 1. 定义 Scara相机坐标系 标准相机坐标系 顶视图坐标...
- 数学模型 已知两个坐标系在各方向上尺度缩放比例一致,两个坐标系的转换关系可以用7个参数来表示,3个旋转参数,3个平...