版本: Unity 6 (6000.0)
语言英语
  • C#

PhysicsScene2D.CapsuleCast

建议修改

成功!

感谢您帮助我们提高 Unity 文档的质量。尽管我们无法接受所有提交内容,但我们确实会阅读用户提出的每一项修改建议,并在适用情况下进行更新。

关闭

提交失败

由于某些原因,您的修改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public RaycastHit2D CapsuleCast(Vector2 origin, Vector2 size, CapsuleDirection2D capsuleDirection, float angle, Vector2 direction, float distance, int layerMask = Physics2D.DefaultRaycastLayers);

声明

public RaycastHit2D CapsuleCast(Vector2 origin, Vector2 size, CapsuleDirection2D capsuleDirection, float angle, Vector2 direction, float distance, ContactFilter2D contactFilter);

参数

origin 胶囊体在 2D 空间中的起始点。
size 胶囊体的大小。
capsuleDirection 胶囊体的方向。
angle 胶囊体的角度(以度为单位)。
direction 表示投射胶囊体方向的向量。
distance 投射胶囊体的最大距离。
layerMask 用于仅检测特定图层上的碰撞体的过滤器。
contactFilter 用于以不同方式过滤结果的接触过滤器,例如按图层蒙版、Z 深度或法线角度过滤。

返回值

RaycastHit2D 返回的投射结果。

描述

针对 PhysicsScene2D 中的碰撞体投射胶囊体,仅返回第一个交点。

CapsuleCast 从概念上类似于在场景中沿着特定方向拖动胶囊体形状。可以检测并报告与胶囊体接触的任何Collider2D

此函数返回一个RaycastHit2D对象,该对象包含对被胶囊体击中的碰撞体的引用(如果未击中任何物体,则结果的 collider 属性将为 NULL),并包含胶囊体接触碰撞体的位置的点和法线。它还返回胶囊体在该点接触碰撞体时的质心位置。

layerMask 可用于选择性地仅检测特定图层上的对象(例如,这允许您仅对敌人角色应用检测)。使用contactFilter的此方法的重载可以通过ContactFilter2D中提供的选项过滤结果。

其他资源:PhysicsScene2DRaycastHit2DLayerMaskPhysics2D.DefaultRaycastLayersPhysics2D.IgnoreRaycastLayerPhysics2D.queriesHitTriggers


声明

public int CapsuleCast(Vector2 origin, Vector2 size, CapsuleDirection2D capsuleDirection, float angle, Vector2 direction, float distance, RaycastHit2D[] results, int layerMask = Physics2D.DefaultRaycastLayers);

声明

public int CapsuleCast(Vector2 origin, Vector2 size, CapsuleDirection2D capsuleDirection, float angle, Vector2 direction, float distance, ContactFilter2D contactFilter, RaycastHit2D[] results);

参数

origin 胶囊体在 2D 空间中的起始点。
size 胶囊体的大小。
capsuleDirection 胶囊体的方向。
angle 胶囊体的角度(以度为单位)。
direction 表示投射胶囊体方向的向量。
distance 投射胶囊体的最大距离。
results 用于接收结果的数组。数组的大小决定了可以返回的结果的最大数量。
layerMask 用于仅检测特定图层上的碰撞体的过滤器。
contactFilter 用于以不同方式过滤结果的接触过滤器,例如按图层蒙版、Z 深度或法线角度过滤。

返回值

int 返回放置在results数组中的结果数量。

描述

针对 PhysicsScene2D 中的碰撞体投射胶囊体,返回所有交点。

CapsuleCast 从概念上类似于在场景中沿着特定方向拖动胶囊体形状。可以检测并报告与胶囊体接触的任何Collider2D

此函数返回一个或多个RaycastHit2D对象的数组,这些对象包含对被胶囊体击中的碰撞体的引用(如果未击中任何物体,则结果的 collider 属性将为 NULL),并包含胶囊体接触碰撞体的位置的点和法线。它还返回胶囊体在该点接触碰撞体时的质心位置。

整数返回值是与胶囊体相交的对象的数量(可能为零),但如果数组不包含足够元素来报告所有结果,则结果数组不会调整大小。这意味着不会为结果分配内存,从而提高了垃圾回收性能。请注意,如果您传递一个空数组,则始终会得到零个结果。

layerMask 可用于选择性地仅检测特定图层上的对象(例如,这允许您仅对敌人角色应用检测)。使用contactFilter的此方法的重载可以通过ContactFilter2D中提供的选项过滤结果。

所有结果都按升序距离排序。

其他资源:PhysicsScene2DRaycastHit2DLayerMaskPhysics2D.DefaultRaycastLayersPhysics2D.IgnoreRaycastLayerPhysics2D.queriesHitTriggers


声明

public int CapsuleCast(Vector2 origin, Vector2 size, CapsuleDirection2D capsuleDirection, float angle, Vector2 direction, float distance, ContactFilter2D contactFilter, List<RaycastHit2D> results);

参数

origin 胶囊体在 2D 空间中的起始点。
size 胶囊体的大小。
capsuleDirection 胶囊体的方向。
angle 胶囊体的角度(以度为单位)。
direction 表示投射胶囊体方向的向量。
distance 投射胶囊体的最大距离。
contactFilter 用于以不同方式过滤结果的接触过滤器,例如按图层蒙版、Z 深度或法线角度过滤。
results 用于接收结果的列表。

返回值

int 返回放置在results列表中的结果数量。

描述

针对 PhysicsScene2D 中的碰撞体投射胶囊体,返回所有交点。

CapsuleCast 从概念上类似于在场景中沿着特定方向拖动胶囊体形状。可以检测并报告与胶囊体接触的任何碰撞体。

整数返回值是与胶囊体相交的对象的数量(可能为零),但如果列表不包含足够元素来报告所有结果,则结果数组不会调整大小。这可以防止在results列表不需要调整大小时为结果分配内存,并在频繁执行查询时提高垃圾回收性能。

结果还可以通过contactFilter进行过滤。所有结果都按升序距离排序。

其他资源:PhysicsScene2DRaycastHit2D