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坐标的方法

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

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

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

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

 

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

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坐标的方法

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

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值