Unity3D中世界坐标转换到NGUI坐标
2016-04-28 19:49
603 查看
场景中有一个照3D物体的透视摄像机,NGUI使用自己独立的正交摄像机,转换步骤如下:
1.使用透视摄像机把世界坐标转换到屏幕坐标
Vector3 pos =Camera.main.WorldToScreenPoint(worldPos); pos.z = 0f; //z一定要为0.
2.使用UI摄像机转换到NGUI的世界坐标
Vector3 pos2 =UICamera.currentCamera.ScreenToWorldPoint(pos);
3.赋值给NGUI控件
temp.transform.position =pos2; //temp为NGUI控件.
网上流传着N种做法,实测很多都是错误的。只有这个才是对的
原文地址:http://blog.sina.com.cn/s/blog_62df69790101ggnq.html
相关文章推荐
- Unity世界坐标与屏幕坐标之间如何转换
- Unity ScreentoWorldPoint中的z坐标说明
- Unity3D的几种坐标系
- unity3D 彻底搞懂 Quaternion LookRotation FromToRotation SetLookRotation方法
- Visual Studio 2015 Tools for Unity安装
- Unity协程和线程的区别
- Unity3D 动态创建Mesh
- Unity5.3.4以前的旧版本打包问题Xcode7.3编译问题 Error "unknown type name __declspec" after Xcode 7.3 upgrade
- Unity和Android互相调用
- Unity Animator动画倒播方法
- unity3D ——自带寻路Navmesh入门教程(一)(转)
- unity3D——自带寻路Navmesh入门教程(二)(转)
- 优化unity发布 iOS应用大小 Optimizing the Size of the Built iOS Player<转>
- 星空大战 Unity版本
- 【bug】对象激活前无法通过调用脚本函数设置变量
- unity, Graphics.Blit (null, null, mat,0);
- Unity IMGUI
- unity3d——自带寻路Navmesh (三)(转)
- Unity 服务器时间
- unity异常处理的方法