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);      //将修改过的坐标赋给目标物体坐标
  • 相关阅读:
    汇编笔记
    C++知识点复习
    flask 初步
    flask and postgre on heroku
    google zxing二维码库 初始
    flasklogin解读
    flasksqlalchemy 关系(一对多)
    flask的信号
    flask 范例学习
    github 操作纪录
  • 原文地址:https://www.cnblogs.com/atong/p/3911636.html
Copyright © 2011-2022 走看看