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);      //将修改过的坐标赋给目标物体坐标
  • 相关阅读:
    第10组 团队展示
    第一次结对编程作业
    13.Vue.js 组件
    12.Vue.js 表单
    11.Vue.js-事件处理器
    10.Vue.js 样式绑定
    9.Vue.js 监听属性
    8.Vue.js-计算属性
    7.循环语句
    6.Vue.js-条件与循环
  • 原文地址:https://www.cnblogs.com/atong/p/3911636.html
Copyright © 2011-2022 走看看