unity 射线获取坐标

射线:碰到障碍物就会断开
鼠标点击屏幕获得一个二维坐标,通过相机的射线转换为三维世界坐标

private Vector3 worldPos;//鼠标点击的点所对应的世界里面的位置 
          //点击鼠标右键 
          if (Input.GetMouseButton(1)) 
          { 
                  //1获得鼠标点击屏幕的二维坐标 
                 Vector3 mouse=Input.mousePosition 
                  //2创建一个射线 从相机位置到鼠标点击的位置的方向上 
                  Ray ray = Camera.main.ScreenPointToRay(mouse); 
                  //定义一个射线检测的保存对象 
                  RaycastHit hit;//hit保存射线发射后碰撞的信息 
                  //开始碰撞检测,射线检测返回一个bool类型,true:有碰撞,false:无碰撞 
                  if (Physics.Raycast(ray, out hit,100f)) //碰撞检测(射线,碰撞结果给hit,射线的长度100米) 
                  { 
                          worldPos= hit.point; 
                  } 
          }
``
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值