unity发射斜射线_Unity3d 发射射线Ray

本文介绍了Unity3d中如何使用Raycast进行斜射线发射,包括从屏幕点和视口点出发的射线创建方法。同时,详细讲解了Physics.Raycast系列函数用于检测光线与碰撞器的交集,以及如何获取碰撞信息。通过示例代码展示了当鼠标点击屏幕时,如何获取被点击的游戏对象名称。
摘要由CSDN通过智能技术生成

Ray Camera.main.ScreenPointToRay(Vector3 pos)  返回一条射线Ray从摄像机到屏幕指定一个点

Ray Camera.main.ViewportPointToRay(Vector3 pos) 返回一条射线Ray从摄像机到视口(视口之外无效)指定一个点

RaycastHit光线投射碰撞信息

bool Physics.Raycast(Vector3 origin, Vector3 direction, float distance, int layerMask)

当光线投射与任何碰撞器交叉时为真,否则为假。

bool Physics.Raycast(Ray ray, Vector3 direction, RaycastHit out hit, float distance, int layerMask)

在场景中投下可与所有碰撞器碰撞的一条光线,并返回碰撞的细节信息()。

bool Physics.Raycast(Ray ray, float distance, int layerMask)

当光线投射与任何碰撞器交叉时为真,否则为假。

bool Physics.Raycast(Vector3 origin, Vector3 direction, RaycastHit out hit,float distance, int layerMask)

当光线投射与任何碰撞器交叉时为真,否则为假。

RaycastHit[] RaycastAll(Ray ray, float distance, int layerMask)

投射一条光线并返回所有碰撞,也就是投射光线并返回一个RaycastHit[]结构体。

if(Input.GetMouseButton(0))

{

Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

RaycastHit hitInfo;

if(Physics.Raycast(ray,out hitInfo))

{

GameObject gameObj = hitInfo.collider.gameObject;

Debug.Log("click object name is " + gameObj.name);

}

}

原文:http://blog.csdn.net/a350203223/article/details/41018395

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值