您的位置:首页 > 移动开发 > Unity3D

Unity3D教程:将3D坐标转成2D坐标的方法

2013-04-15 10:07 483 查看
Unity3D教程:将3D坐标转成2D坐标的方法。3D坐标在Unity中称作World Space,2D坐标称作Screen Space, 是以pixel为基准,以iPad 1024 x 768(4:3)的解析度为例子:

左上角是 (0,0)

右下角是(1024,768)




Unity3D教程:将3D坐标转成2D坐标的方法

功能制作:点击画面中的3D方块 然後在该方块的中心位置产生相对应的GUI

主要是应用此功能: camera.WorldToScreenPoint ();

将以下的JavaScript加在Camera物件下。




Unity3D教程:将3D坐标转成2D坐标的方法

1.Raycast点击设定:让你可以用滑鼠(PC)/手指(iPad, mobile devices)做点击测试。

2.用“tower”标签名称来区隔不同的3D物件。

3.用此功能取得所点击的3D物件的x,y,z坐标(world space) 然后再透过camera.WorldScreenPoint()转换成screen space的2D坐标。

4.然后我们利用所获得的2D坐标 将UI产生在设备萤幕的相对应位置上 *注意:y的坐标是要用设备萤幕的Height减去所获得的物件y坐标。

结果示范:




Unity3D教程:将3D坐标转成2D坐标的方法

点中间的方块 UI就产生在中间 点左上的方块 UI就产生在左上

应用:Tower Defense游戏中 点击画面中的物件 >然後卖出或升级

* 版权声明:转载时请以超链接形式标明文章原始出处和作者信息

* 本文来自:Unity3D 教程手册

* 本文链接: http://www.unitymanual.com/3917.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: