zoukankan      html  css  js  c++  java
  • 将NGUI的坐标转换Unity中的世界坐标

    上一篇写了关于Unity中的世界坐标转换为NGUI中的坐标,这篇来写一下关于NGUI中的坐标转换为Unity中的世界坐标,代码如下:

     1       GameObject targetObject = (GameObject)Instantiate(Resources.Load("Model/"+name));
     2          Camera worldcamera = NGUITools.FindCameraForLayer(targetObject.layer);     //这里是通过物体的层获得相应层上的相机
     3          Camera guiCamera = NGUITools.FindCameraForLayer(obj.layer);   //通过脚本所在物体的层获得相应层上的相机
     4          if (worldcamera == null || guiCamera == null)
     5         {
     6             return;
     7         }
     8         Vector3 pos = guiCamera.WorldToScreenPoint(obj.transform.position);         //获取UI界面的屏幕坐标
     9         pos.z = 1f;//设置为零时转换后的pos全为0,屏幕空间的原因,被坑过的我提醒大家,切记要改!
    10         pos = worldcamera.ScreenToWorldPoint(pos);                              //将屏幕坐标转换为世界坐标
    11         pos.y = 0f;
    12         targetObject.transform.position = new Vector3(pos.x, pos.y, pos.z);      //将修改过的坐标赋给目标物体坐标
  • 相关阅读:
    组件基础
    css 手稿
    HTML手稿
    Vmstat命令监控Linux资源并将数据通过图形化方式显示
    JAVA---类和对象
    JAVA---Graphics2D类
    JAVA---数组
    JAVA---图形处理
    JAVA----日历源代码
    SQL常用语句大全
  • 原文地址:https://www.cnblogs.com/atong/p/3911636.html
Copyright © 2011-2022 走看看