U3D 如何计算一个UI四个角的绝对坐标

screen space overlay 下直接取UI坐标和长,宽,计算得到四角坐标。

screen space camera 下需要转换长宽到相机空间单位:如下:

        var cam = GameObject.Find("Camera").GetComponent<Camera>();
        var cam_h = 2*cam.orthographicSize;
        var cam_w = cam_h * Screen.width /Screen.height;

        var rtrans = gameObject.GetComponent<RectTransform>();
        Vector3[] worldcorners = new Vector3[4];
        rtrans.GetWorldCorners(worldcorners);

        float[] wcs = new float[4];
        float fw = rtrans.rect.width / Screen.width * cam_w;
        float fh = rtrans.rect.height / Screen.height * cam_h;
        var c1 = transform.position.x - fw / 2;
        var c2 = transform.position.x + fw / 2;
        var c3 = transform.position.y - fh / 2;
        var c4 = transform.position.y + fh / 2;
时间: 2024-11-06 09:28:14

U3D 如何计算一个UI四个角的绝对坐标的相关文章

js如何计算一个字符在字符串中出现的次数

js如何计算一个字符在字符串中出现的次数:在实际应用中可能要计算一个字符在字符串中出现的次数,实现此功能的方式有多种,下面就介绍一个非常简单的方式.代码实例如下: function func(str,char) { var str=str; var num=(str.split(char)).length-1; return num } document.write(func("abcdefga","a")); 以上代码可以实现计算一个字符串中指定字符出现的次数.相

创建第一个UI

创建一个2D UI 制作UI时,首先要创建UI的"根".在Unity顶部NGUI菜单中选择Create,然后选择2D UI. 创建完成后,在Scene窗口中,NGUI自动生成了一个名为UI Root的物体,其中带有一个Camera作为子物体. 这个新生成的Camera,是NGUI生成的专门用来渲染UI的相机,当生成NGUI的UI Root时,就自动将生成的UI放在默认的UI Layer上.在这个相机上,只能看见UI Layer上的物体,也就是只能看见UI.因为是2D UI,所以从图中可

制作第一个UI图集

按钮分有两种形式,一种是普通按钮,也就是一张没有文字的按钮图片,在需要用时,就在上面写上不同的.当前所需要的文字.量一种按钮则是图片按钮,这种按钮的特点是整个按钮就是一张图片,它既是按钮也是图片. 在剖析UI资源结构时一定要秉承一下几个原则: 1.尽量保证还原设计图的效果,不损失质量,这是前提. 2.尽量发现重复的元件,而且重复的元件只需要一份就足够. 3.尽量分割得零碎一点,避免多个元件合并一起出图,这样对项目不利. 4.尽量使用九宫格来制作比较大的底板.底框等. 5.UI切图全部让美术人员以

unity3d 获取相机视口四个角的坐标

功能:如标题所示,主要考虑用来做3d Plane的自适应屏幕 /// <summary> /// 获取指定距离下相机视口四个角的坐标 /// </summary> /// <param name="cam"></param> /// <param name="distance">相对于相机的距离</param> /// <returns></returns> public

Android 二维码扫描框 加四个角及中间横线自动下滑

红色为加四个角  黄色为扫描线自动下滑 /* * Copyright (C) 2008 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http:/

Quick-cocos2d-x3.3 Study (一) --------- 创建一个UI标签

创建一个UI标签: 1 cc.ui.UILabel.new({ 2 UILabelType = 2, text = "Hello ,World", size = 64 3 }) 4 :align(display.CENTER, display.cx, display.cy) 5 :addTo(self) 6 7 UILabelType : 创建文本对象所使用的格式 8 1 表示使用位图字体创建文本显示对象,返回的是LabelBMFont 9 2 表示使用TTF字体创建文本显示对象,返回

一个从四秒到10毫秒,花了1年的算法问题?

原文:一个从四秒到10毫秒,花了1年的算法问题? 五一后的第一周,由于搬家腰扭伤了,没注意导致压迫神经,躺在床上休息了好几天.所以没事就挂 QQ,一个网友突然问了我一个算法问题.所以有了这篇文章.感触很深,所以特发此文,以纪念和写给新朋友,以及那些热爱编程的非专业人事.本人可能技术含量很低,但都很真实.虽然我只花了很少的时间,但解决了这个网友困惑了1年的问题,这个网友倒是特别感激,而我倒是感觉特别心塞.那大家喝杯茶,看看这个过程吧. 本文原文地址:http://www.cnblogs.com/a

新建一个UI窗口-XproerUI(MFC)教程

版权所有 2009-2015 荆门泽优软件有限公司 保留所有权利 产品首页:http://www.ncmem.com/apps/xproerui/index.asp 在线文档(XproerUI):XproerUI(MFC)类文档,如何使用XproerUI库(MFC),如何使用XproerUI库(WTL) 在线文档(SkinStudio):为图片添加九宫格信息,为窗体设置背景图片,添加图片按钮,共用字体属性,控件的相对位置与绝对位置 升级日志:http://www.cnblogs.com/xpro

自已实现一个UI库

[2014年写一个UI库时写的几个文章,发布出来] 几年前的一个嵌入式的UI开发,使自己有机会接触到了UI的一些底层知识,虽然之前也开发过很多Windows下的信息应用系统,也做很多的界面开发,但一直却对UI的一些运作却不了解. BOSS决定使用UCGUI做为UI的基本库来开发UI界面的一些应用.用UCGUI的库来做开发,它已经有很完善的基本构件,像窗体的管理,基本的控件,图片,文字处理等,不过听说UCGUI的授权费用也是不菲的,但我认为它确实是一个物有所值的东西. 在使用中也还是遇到过一些问题