unity中的坐标转换
发布日期:2021-06-30 19:38:15 浏览次数:3 分类:技术文章

本文共 717 字,大约阅读时间需要 2 分钟。

3D坐标->3D坐标

比如现在需要在一个用3D摄像机渲染的物体(用A表示)的相对坐标为(10,-5,91)的地方放置一个物体(用B表示),则B的世界坐标为

Vector3 screenPos = Camera.main.WroldToScreenPoint(A.transformPoint(new Vector3(10,-5,91)));Vector3 worldPos = Camera.main.ScreenToWorldPoint(screenPos );
3D坐标->2D坐标

比如现在有一个用3D摄像机渲染的物体(用A表示),想在他的看起来的位置上方一个NGUI对象(用B表示),则B的NGUI坐标为

Vector3 screenPos = Camera.main.WorldToScreenPoint(A.transform.position);Vector3 nguiPos= NGUICamera.ScreenToWorldPoint(screenPos);
2D坐标->2D坐标

比如现在需要在屏幕上随意点一个坐标,让某个NGUI对象(用B表示)移动到指的那个点,其中B的父节点为NGUI对象A,A的坐标为Vector.zero,则B的NGUI坐标为:

Vector3 nguiPos = NGUICamera.ScreenToWorldPoint(new Vector3(Input.mousePosition.x,Input.mousePositionb,y,0));B.transform.localPosition = A.transform.InverseTransformPoint(nguiPos);

转载地址:https://linxinfa.blog.csdn.net/article/details/49447261 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:unity中对于scrollview下拉加载的方法
下一篇:jdk环境变量配置

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月22日 05时09分08秒