unity3D 射线球体投射碰撞检测
发布日期:2021-06-30 19:38:01 浏览次数:3 分类:技术文章

本文共 522 字,大约阅读时间需要 1 分钟。

在Unity中,可以从一个点向一个方向发射虚拟球体,指定球体半径、投射长度。

在发射轨迹中与其他物体发生碰撞时,它将终止,并返回碰撞信息。

接口

Physics.SphereCastAll

var screenPos = Input.mousePosition;// 触碰点的世界坐标,距离摄像机5米的距离var worldPos = Camera.main.ScreenToWorldPoint(new Vector3(screenPos.x, screenPos.y, 5));// 摄像机的世界坐标var camPos = Camera.main.transform.position;// 球体半径var radius = 0.25f;// 投射长度var lineLen = 100;RaycastHit[] hits = Physics.SphereCastAll(camPos, radius, worldPos - camPos, lineLen);if(hits.Length > 0){	if(hits[0].collider.gameObject.tag == "dddd")  //用layer也可以//	{		}}

 

转载地址:https://linxinfa.blog.csdn.net/article/details/46504585 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Unity3D 摇一摇功能
下一篇:Matlab与C++混合编程

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年05月02日 18时47分24秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章