方向 | 表示要投射形状的朝向的向量。 |
结果 | 接收结果的列表。 |
距离 | 投射形状的最大距离。 |
忽略兄弟碰撞器 | 确定投射是否应该忽略附加到同一Rigidbody2D(称为兄弟碰撞器)的碰撞器。 |
int 返回结果的数量。
从碰撞器自身位置开始,将碰撞器形状投射到场景中,同时忽略碰撞器本身。
此函数将获取碰撞器形状,从碰撞器位置以指定的方向
投射到场景中,针对可选的距离
,然后将结果返回到提供的结果
列表中。整型返回值是写入结果
列表的结果数量。如果结果列表不包含报告所有结果需要的足够元素,则将调整结果列表的大小。这可防止在不需要调整结果列表大小时分配结果的内存,并在频繁执行投射时提高垃圾回收性能。
此外,它还检测碰撞器开始位置处的其他碰撞器(如有重叠情况)。在这种情况下,投射形状将从碰撞器内部开始,并且可能与碰撞器表面不产生交点。这意味着无法计算碰撞法线,在这种情况下,返回的碰撞法线将设置为所测试的方向
向量的反向。
方向 | 表示要投射形状的朝向的向量。 |
contactFilter | 通过接触过滤器,筛选结果。 |
结果 | 接收结果的列表。 |
距离 | 投射形状的最大距离。 |
忽略兄弟碰撞器 | 确定投射是否应该忽略附加到同一Rigidbody2D(称为兄弟碰撞器)的碰撞器。 |
int 返回结果的数量。
从碰撞器自身位置开始,将碰撞器形状投射到场景中,同时忽略碰撞器本身。
此函数将获取碰撞器形状,从碰撞器位置以指定的方向
投射到场景中,针对可选的距离
,然后将结果返回到提供的结果
列表中。整型返回值是写入结果
列表的结果数量。如果结果列表不包含报告所有结果需要的足够元素,则将调整结果列表的大小。这可防止在不需要调整结果列表大小时分配结果的内存,并在频繁执行投射时提高垃圾回收性能。contactFilter
参数可根据 ContactFilter2D 中的选项筛选返回结果。
此外,它还检测碰撞器开始位置处的其他碰撞器(如有重叠情况)。在这种情况下,投射形状将从碰撞器内部开始,并且可能与碰撞器表面不产生交点。这意味着无法计算碰撞法线,在这种情况下,返回的碰撞法线将设置为所测试的方向
向量的反向。
方向 | 表示要投射形状的朝向的向量。 |
结果 | 用于接收结果的数组。 |
距离 | 投射形状的最大距离。 |
忽略兄弟碰撞器 | 确定投射是否应该忽略附加到同一Rigidbody2D(称为兄弟碰撞器)的碰撞器。 |
int 返回结果的数量。
从碰撞器自身位置开始,将碰撞器形状投射到场景中,同时忽略碰撞器本身。
此函数会获取碰撞器形状,根据指定 direction
中的碰撞器位置,向场景内投射出该形状(可选 distance
),并在提供的 results
数组中返回结果。整型返回值就是写入到 results
数组中的结果数量。如果 results
数组不包含足够元素来展示所有结果,则不会调整其大小。此操作的意义在于,不需要为结果分配内存,所以能够在频繁执行投射时提升垃圾回收性能。
此外,如果碰撞器开始位置存在其他碰撞器,此函数还会检测出这些碰撞器。在这种情况下,投射形状会从碰撞器内部开始,并且可能不会与碰撞器表面相交。这意味着无法计算碰撞法线。在这种情况下,返回的碰撞法线会设置为所测试 direction
向量的倒数。
注意: 使用 Collider2D.Cast() 需要使用 Rigidbody2D。如果未声明 Rigidbody2D,则 Cast() 无法工作。但是,Rigidbody2D 可以是静态的、并连接到 Collider2D。这样可以使 Cast() 按预期工作。此外,如果 Collider2D 对象没有 Rigidbody2D 对象,则它可以与具有 Collider2D 和 Rigidbody2D 对象的多个对象发生碰撞。
方向 | 表示要投射形状的朝向的向量。 |
contactFilter | 通过接触过滤器,筛选结果。 |
结果 | 用于接收结果的数组。 |
距离 | 投射形状的最大距离。 |
忽略兄弟碰撞器 | 确定投射是否应该忽略附加到同一Rigidbody2D(称为兄弟碰撞器)的碰撞器。 |
int 返回结果的数量。
从碰撞器自身位置开始,将碰撞器形状投射到场景中,同时忽略碰撞器本身。
此函数会获取碰撞器形状,根据指定 direction
中的碰撞器位置,向场景内投射出该形状(可选 distance
),并在提供的 results
数组中返回结果。整型返回值就是写入到 results
数组中的结果数量。如果 results
数组不包含足够元素来展示所有结果,则不会调整其大小。此操作的意义在于,不需要为结果分配内存,所以能够在频繁执行投射时提升垃圾回收性能。contactFilter
参数可根据 ContactFilter2D 中的选项筛选返回结果。
此外,如果碰撞器开始位置存在其他碰撞器,此函数还会检测出这些碰撞器。在这种情况下,投射形状会从碰撞器内部开始,并且可能不会与碰撞器表面相交。这意味着无法计算碰撞法线。在这种情况下,返回的碰撞法线会设置为所测试 direction
向量的倒数。
position | 开始投射碰撞器的起始位置。 |
angle | 碰撞器的旋转。 |
方向 | 投射碰撞器的方向向量。 |
结果 | 接收结果的列表。 |
距离 | 投射碰撞器的最远距离。 |
忽略兄弟碰撞器 | 确定实例是否应忽略连接到同一Rigidbody2D(称为同级碰撞器)的其他碰撞器。 |
int 返回结果的数量。
以指定的位置和旋转为起点,将碰撞器形状投射到场景中。
此函数将获取碰撞器形状,并从指定的position
和angle
为起点,投射到场景中,针对可选distance
返回结果,并将其写入提供的results
列表中。
整型返回值是写入results
列表的结果数。如果结果列表不包含足够的元素来报告所有结果,则将调整其大小。当无需调整results
列表大小时,此操作可防止为结果分配内存,并在频繁执行投射时提高垃圾回收性能。
此外,它还检测碰撞器开始位置处的其他碰撞器(如有重叠情况)。在这种情况下,投射形状将从碰撞器内部开始,并且可能与碰撞器表面不产生交点。这意味着无法计算碰撞法线,在这种情况下,返回的碰撞法线将设置为所测试的方向
向量的反向。
注意:此处使用的position
和angle
表示Collider2D所连接的Rigidbody2D的位置。如果Collider2D偏离了质心,则Collider2D将在同一偏移位置重叠。这可能会令人困惑,因此建议只使用与质心对齐的Collider2D。如果不这样做,则必须考虑到这一点。如果Collider2D未连接到Rigidbody2D,则无法使用此调用,且将产生警告。
position | 开始投射碰撞器的起始位置。 |
angle | 碰撞器的旋转。 |
方向 | 投射碰撞器的方向向量。 |
contactFilter | 通过接触过滤器,筛选结果。 |
结果 | 接收结果的列表。 |
距离 | 投射碰撞器的最远距离。 |
忽略兄弟碰撞器 | 确定实例是否应忽略连接到同一Rigidbody2D(称为同级碰撞器)的其他碰撞器。 |
int 返回结果的数量。
以指定的位置和旋转为起点,将碰撞器形状投射到场景中。
此函数将获取碰撞器形状,并从指定的position
和angle
为起点,投射到场景中,针对可选distance
返回结果,并将其写入提供的results
列表中。contactFilter
参数可根据 ContactFilter2D 中的选项筛选返回结果。
整型返回值是写入results
列表的结果数。如果结果列表不包含足够的元素来报告所有结果,则将调整其大小。当无需调整results
列表大小时,此操作可防止为结果分配内存,并在频繁执行投射时提高垃圾回收性能。
此外,它还检测碰撞器开始位置处的其他碰撞器(如有重叠情况)。在这种情况下,投射形状将从碰撞器内部开始,并且可能与碰撞器表面不产生交点。这意味着无法计算碰撞法线,在这种情况下,返回的碰撞法线将设置为所测试的方向
向量的反向。
注意:此处使用的position
和angle
表示Collider2D所连接的Rigidbody2D的位置。如果Collider2D偏离了质心,则Collider2D将在同一偏移位置重叠。这可能会令人困惑,因此建议只使用与质心对齐的Collider2D。如果不这样做,则必须考虑到这一点。如果Collider2D未连接到Rigidbody2D,则无法使用此调用,且将产生警告。