的世界坐标以后,怎么将世界坐标转换成模型坐标

博客分类:
var projector = new THREE.Projector();
var world_vector = new THREE.Vector3(0,0,1);
var vector = projector.projectVector(world_vector, camera);
var halfWidth = window.innerWidth / 2;
var halfHeight = window.innerHeight / 2;
var result = {
x: Math.round(vector.x * halfWidth + halfWidth),
y: Math.round(-vector.y * halfHeight + halfHeight)
浏览 10015
浏览: 138320 次
来自: 哈尔滨
&table class=&bbcode&qu ...
console.assert(foo_show()=='win ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'点击获取更多
没有更多了
加入学习后,就可以记笔记了
同学的问题
点击获取更多
没有更多了
加入学习后,就可以提问题了
Loading...将NGUI的坐标转换Unity中的世界坐标
时间: 01:12:46
&&&& 阅读:465
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&今天遇到个问题,要把NGUI的transform坐标转成世界坐标,难住我了可,查了好多资料,总算有点眉目,弄出来和大家分享,其实发现NGUI的坐标也是三维Vector3的,但是他和世界坐标的Vector3的值代表的不一样。不信大家可以打印出来,看一看。&public&GameObject&
&public&GameoObject&objUi;
&public&void&ScreenToWord()
&&&&//此原理就是先将UI坐标转成屏幕坐标,在把转成的屏幕坐标转成世界坐标:
&&&&&&&&&&&&//targetObject.layer就是移动GameObject对象的Layer层
&&&&&&&&Camera&wordCamera&=&NGUITools.FindCameraForLayer(target.layer);
&&&&&&&&//objUi.layer就是要转的NGUI的UI;
&&&&&&&&Camera&guiCamera&=&NGUITools.FindCameraForLayer(objUi.layer);
&&&&&&&&if&(wordCamera&==&null&||&guiCamera&==&null&)
&&&&&&&&&&&&
&&&&&&&&Vector3&pos&=&guiCamera.WorldToScreenPoint(objUi.transform.position);
&&&&&&&&pos.z&=&1.0f;
&&&&&&&&pos&=&wordCamera.ScreenToWorldPoint(pos);
&&&&&&&&pos.y&=&0.0f;
&&&&&&&&targetObject.transform.position&=&new&Vector3(pos.x,&pos.y,&pos.z);
&&&&//&获取按钮的屏幕坐标Vector3&pos&=&UICamera.currentCamera.WorldToScreenPoint(_button.transform.position);
pos.z&=&1;
pos&=&Camera.main.ScreenToWorldPoint(pos);
_cube.transform.position&=&new&Vector3(pos.x,pos.y,pos.z);可以根据自己的东西去改,用倒是么改什么。本文出自 “” 博客,请务必保留此出处标签:&&&&&&原文地址:http://caoliyong.blog.51cto.com/5581
&&国之画&&&& &&&&chrome插件
版权所有 京ICP备号-2
迷上了代码!keep study very day!写写今天的学习收获,今天学习到了平面坐标跟世界坐标的相互转换。
效果:点击鼠标中键,创建一个小球,虽然看起来是屏面的,但实则是在三维空间里面创建的哦!
代码挂在摄像机上:
using UnityE using System.C
public class cameramove : MonoBehaviour {
private Vector3
private float speed = 0;//物体移动的速度
// Use this for initialization
void Start()
world.x = -2;
world.y = 0;
world.z = 6;
// Update is called once per frame
void Update()
Vector2 screenpos = Camera.main.WorldToScreenPoint(transform.position);//物体的世界坐标转化成屏幕坐标
Vector3 e = Input.mouseP//鼠标的位置
//当点击鼠标中键时
if (Input.GetMouseButtonDown(2))
//e.z=screenpos.z;//1.因为鼠标的屏幕 Z 坐标的默认值是0,所以需要一个z坐标
//e.z=1;//将鼠标
//摄像机要垂直于x-z平面
//world=Camera.main.ScreenToWorldPoint(e);
world = new Vector3(Input.mousePosition.x/Screen.width,Input.mousePosition.y/Screen.height,106f );
Vector3 world1= Camera.main.ViewportToWorldPoint(new Vector3(world.x, world.y, 106f));
//world.x = Camera.main.ScreenToWorldPoint(Input.mousePosition).x;
//world.z = Camera.main.ScreenToWorldPoint(Input.mousePosition).y;
//world.y = transform.position.y;
print("new x:" + world.x);
print("new y:" + world.y);
print("new z:" + world.z);
//创建物体
//GameObject goNew = GameObject.CreatePrimitive(PrimitiveType.Sphere);
//goNew.transform.position = world1;
transform.LookAt(world1);
==================== 迂者 丁小未 CSDN博客专栏=================
MyBlog:http://blog.csdn.net/dingxiaowei2013
Unity QQ群:858550
cocos2dx QQ群:
====================== 相互学习,共同进步 ===================
转载请注明出处:http://blog.csdn.net/dingxiaowei2013/article/details/
欢迎关注我的微博:http://weibo.com/u/
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至: 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。水利工程分区
怎样将世界坐标系转换成用户坐标系
怎样将世界坐标系转换成用户坐标系
如图上该点坐标X=,Y=44815.30.而下面命令栏 里的坐标为X=,Y=。 2个坐标系统不一样吧? 我目的是:当我点击该点,标注该点的坐标时显示的坐标要和底下命令栏里的坐标一样,要怎么做呢,这是不是涉及到坐标系统转换的问题,请高手指教,很急啊!
如图上该点坐标X=,Y=44815.30.而下面命令栏 里的坐标为X=,Y=。 2个坐标系统不一样吧? 我目的是:当我点击该点,标注该点的坐标时显示的坐标要和底下命令栏里的坐标一样,要怎么做呢,这是不是涉及到坐标系统转换的问题,请高手指教,很急啊!
申明:内容来自用户上传,著作权归原作者所有,如涉及侵权问题,请与我们联系,我们将及时处理!
请使用文明语言进行专业交流,恶意灌水将受到惩罚
请先 ,再评论!
8-1(商易宝)
8-2(英才网)
8-3(媒体广告)
(非工作时间)
(内容侵权举报)

我要回帖

 

随机推荐