首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Physics2D.raycastAll

如何使用Physics2D.raycastAll
EN

Stack Overflow用户
提问于 2019-01-28 10:58:08
回答 2查看 1.2K关注 0票数 0

“视点”是起点,“endPoint”是终点。在这两个点之间有一些多边形碰撞器。我要得到所有的命中位置。

代码语言:javascript
运行
复制
Vector2 direction = endPoint - viewpoint.transform.position;
RaycastHit2D[] rayCastHits2D = Physics2D.RaycastAll(viewpoint.transform.position, direction, Mathf.Infinity);

我应该在RatcastAll()方法的签名中修复什么。

EN

回答 2

Stack Overflow用户

发布于 2019-01-28 11:27:10

从视点生成2D光线很奇怪。你确定光线投射了物体吗?

我想你可能会改用带有3D对撞机的Physics.raycastAll

票数 0
EN

Stack Overflow用户

发布于 2019-01-28 12:43:39

Physics2D.RaycastAll需要PolygonCollider2D来攻击他们!

它不会进行编译)

你确定所有的对撞机都在这两个点之间吗?

根据您要在其中执行的操作,您可能更希望使用Physics2D.GetRayIntersectionAll进行3D光线投射

代码语言:javascript
运行
复制
var ray = new Ray(viewpoint.transform.position, direction);
var raycastHits2d = GetRayIntersectionAll(ray);

另请注意:

请注意,此函数将为返回的RaycastHit2D数组分配内存。如果您需要频繁地进行此类调用,则可以使用GetRayIntersectionNonAlloc来避免此开销。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54394997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档