求助
unity3d吧
全部回复
仅看楼主
level 9
hjs19871126
楼主
我的脑子卡壳了.....
想获取鼠标在场景中的位置.
有没有哪位有办法?
具体点就是我鼠标在场景中点击一下,获取点击到场景中的位置.
怎么破?
2013年05月16日 10点05分
1
level 13
mayaxiaoan
鼠标点击的交点处总要有个平面吧 2种方法
一种是放个碰撞体从摄影机发射线获取hit位置,这个比较简单
第二种是鼠标坐标转摄影机视口坐标,然后修改Z轴高度 也就是这个摄影机截面的距离,然后重新转回世界坐标。
2013年05月16日 10点05分
2
hjs19871126
Camera.current.ScreenToWorldPoint(Event.current.mousePosition); 用这个终于获取到了.不过这个获取到的鼠标位置Y轴与世界坐标是相反的.
2013年05月17日 04点05分
level 12
黑桃J丶小俊
public Camera cam;
void Update ()
{
Ray ray = cam.ScreenPointToRay(Input.mousePosition);
Physics.Raycast(ray, out hitt, 100);
//Debug.DrawLine(cam.transform.position, ray.direction,Color.red);
if (null != hitt.transform)
{
print(hitt.point);
}
}
2013年05月17日 03点05分
3
hjs19871126
我不是获取屏幕坐标转世界坐标. 我是想在编辑器里用的. 鼠标在Scene窗口的坐标. 不过没有功劳也有苦劳.谢谢了
2013年05月17日 04点05分
level 8
H久No见
null != hitt.transform····这··为什么不是
hitt.transform != null
2013年05月17日 04点05分
4
hjs19871126
都是一个意思...或者直接这样写也没错: if(hitt.transform) {//哒哒哒}
2013年05月17日 04点05分
1