美文网首页
二、坐标:2、本地坐标和世界坐标

二、坐标:2、本地坐标和世界坐标

作者: GameObjectLgy | 来源:发表于2020-12-31 10:36 被阅读0次
1、从自身坐标到世界坐标

transform.TransformPoint()
这个方法的返回值就是Vector3类型的世界坐标,transform就是相对的物体,括号里的就是相对这个transform的本地坐标。

2、Unity 不同父物体的UI坐标转换

场景中A的父物体和B的父物体并不是同一个物体,但是他们有可能需要进行坐标上的交互,那么此时需要用到
RectTransformUtility.ScreenPointToLocalPointInRectangle() 这个方法。
用法:
Vector2 ui2ScreenPos = Camera.main.WorldToScreenPoint(ui2.position);
Vector2 localPos;
bool isSucess = RectTransformUtility.ScreenPointToLocalPointInRectangle(uiParent1, ui2ScreenPos, Camera.main, out localPos);
得到的localPos就是ui2.position相对于uiParent1的屏幕坐标,这样uiParent下的物体就可以用这个坐标进行交互。
这个方法体一共有四个参数,下面分别讲一下:
参数一:需要进行位置改变的ui物体的父物体的RectTransform组件
参数二:参照物体的屏幕坐标
参数三:相机,一般为主相机,或者特殊需求换相机也可
参数四:接收返回值得Vector2类型,这个值就是需要进行位置改变的ui物体的相对坐标
返回值:bool类型,为true时证明转换成功
需要注意的是:这个相机只是针对worldspace和camera模式,如果用的是overlay模式,第三个参数直接给null即可。
这个方法典型应用,是用在摇杆制作上。但是这里需要注意到的是,这里得到的是UI体系的坐标,也就是屏幕坐标。屏幕坐标以像素来定义的,屏幕的左下角为(0,0),右    上角为(Screen.width, Screen.height),z轴的坐标是相机的世界坐标中z轴坐标的负值。相机如果没给对,则有可能达不到预期的效果。

相关文章

  • 二、坐标:2、本地坐标和世界坐标

    1、从自身坐标到世界坐标 transform.TransformPoint()这个方法的返回值就是Vector3类...

  • Unity坐标转换

    世界坐标转换本地坐标 public Transform ObjectPos; public void CdPos(...

  • AR测量

    启动ARSession 提示检测状态 屏幕坐标转换成世界坐标 算出2个世界坐标的差值

  • OpenGL 坐标系

    OpenGL 坐标系可分为:世界坐标系和当前绘图坐标系。 世界坐标系 在OpenGL中,世界坐标系是以屏幕中心为原...

  • OpenGL 中坐标系的理解

    OpenGL坐标系可分为:世界坐标系和当前绘图坐标系。 世界坐标系:在OpenGL中,世界坐标系是以屏幕中心为原点...

  • 相机标定原理总结和实现

    相机标定就是世界坐标到像素坐标的映射,这个世界坐标是我们人为去定义的,标定就是已知标定控制点的世界坐标和像素坐标我...

  • 世界坐标,本地坐标的转换

    一个是变换自身坐标到世界坐标 一个是变换世界坐标到自身坐标 比如说物体a的坐标内有一个3,3,3的点你想知道这个点...

  • 坐标系转换

    简介 基本API用法以及一些注意事项 世界坐标-->本地坐标 InverseTransformPoint:转换点,...

  • Unity Physics.Raycast踩坑

    关键点:发射射线的起点坐标是世界坐标 关键点:发射射线的起点坐标是世界坐标 关键点:发射射线的起点坐标是世界坐标 ...

  • 着色器

    数值(并行)计算 Vertex Shaders(顶点着色器): 1.将本地坐标转换为世界坐标 2.边缘过度 3.额...

网友评论

      本文标题:二、坐标:2、本地坐标和世界坐标

      本文链接:https://www.haomeiwen.com/subject/wbdloktx.html