[Unity] LQ转载--Unity3D基础33:物理射线

查看:632 |回复:0 | 2021-6-12 20:33:03

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 水木神川 于 2021-6-12 20:34 编辑

一、利用摄像机创建射线
物理射线:从一个点往一个方向发射一根无限长的射线,当这根射线与场景中的其余的游戏物体的碰撞体组件相碰撞时射线结束,由于射线可以与物理组件 Collider 相交互,所以“射线”也称之为“物理射线”

射线的定义:Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition)
1)Camera.main:Tag为"MainCamera"的摄像机 Camera 组件的引用。
2)ScreenPointToRay(Vector3):摄像机组件对象下的一个方法,会返回一个指向Vector3,Ray类型的射线
3)Input.mousePosition:鼠标所在的位置
4)Ray:一个结构体,代表射线

检查射线与其他物体的碰撞:
Physics.Raycast(Ray, out RaycastHit):射线检查,检查射线Ray,如果它与场景中的物理碰撞了,返回值为真,并且将碰撞信息存储到 RaycastHit 类型的变量中(别忘了out参数的定义)

代码如下:实现鼠标左键销毁金币(将脚本移到主摄像机上)

360截图20210612203136126.jpg

效果如下:

20190206170259229.gif

————————————————
版权声明:本文为CSDN博主「Jaihk662」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Jaihk662/article/details/86768480



2021-6-12 20:33:03  
 赞 赞 0

使用道具 登录

0个回答,把该问题分享到群,邀请大神一起回答。

CG 游戏行业专业问题

手机游戏引擎手游引擎Unity3D技术
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表