700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Unity屏幕坐标转世界坐标 鼠标点击获取三维位置

Unity屏幕坐标转世界坐标 鼠标点击获取三维位置

时间:2019-05-10 23:48:16

相关推荐

Unity屏幕坐标转世界坐标 鼠标点击获取三维位置

Unity屏幕坐标转世界坐标,鼠标点击获取三维位置

Raycast():检测射线碰撞的第一个物体信息

//鼠标右键if (Input.GetMouseButtonDown(1)) {//发射射线//Ray ray = new Ray();//创建射线Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);//射线检测:得到射线跟碰撞体组件碰撞的位置//Physics.Raycast();if (Physics.Raycast(ray, out RaycastHit raycastHit )) {print(raycastHit.point)//打印射线碰撞的三维的世界坐标}}

参数内容大致为:射线、长度、out碰撞信息输出、限制可被检测到的layer层。

layer层控制

layer层一共有32个,由一个int类型数字表示,四个字节32位分别表示对应的layer层

例:使得射线不与Model层发生碰撞

//得到表示Model层的位为0,其他位为1,使得其他层均可检测,Model不可int layerMask = ~(1 << 10);Physics.Raycast(ray, out RaycastHit raycastHit, layerMask)

RaycastAll():检测射线碰撞的多个物体信息

RaycastHit[] hitInfo = Physics.Raycast(ray)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。