在物理查询检测到 Collider2D 之前,指定到物理查询的距离的分数。
当使用物理查询时,它具有起始位置和显式结束位置或方向和距离。 fraction
是 0
和 1
范围内的值,它表示返回的 RaycastHit2D.distance 结果(参见代码示例)。
如果物理查询不允许指定显式结束位置或其默认距离为 infinity
,则 fraction
与返回的 RaycastHit2D.distance 相同,因此不会在 0
和 1
的范围内。
其他资源:RaycastHit2D.distance。
using UnityEngine;
public class ExampleClass : MonoBehaviour { public Vector2 direction;
void Update() { // Cast a ray in the specified direction up to 10 world units away. RaycastHit2D hit = Physics2D.Raycast(transform.position, direction, 10f);
// If we hit something then indicate if it was less-than or greater-than halfway of the physics query. if (hit) { if (hit.fraction < 0.5f) Debug.Log("Hit something before halfway!"); else Debug.Log("Hit something after halfway!"); } } }