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

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)