This commit is contained in:
CortexCore
2023-12-03 17:35:43 +08:00
parent ba342d6627
commit ba9f4eda80
702 changed files with 162078 additions and 21050 deletions

View File

@@ -9,14 +9,29 @@ namespace BITKit.Sensors
public class RaySensor : Sensor
{
[Header(Constant.Header.Settings)]
[SerializeField] private float radius = 0.16f;
public float distance;
public override IEnumerable<Transform> Get() => detected;
private readonly RaycastHit[] raycasts = new RaycastHit[16];
public override UniTask Execute()
{
var _transform = transform;
var ray = new Ray(_transform.position,_transform.forward);
var size = Physics.RaycastNonAlloc(ray, raycasts, distance, detectLayer);
var forward = _transform.forward;
var position = _transform.position;
var size = 0;
if (radius is not 0)
{
size = Physics.CapsuleCastNonAlloc(position, position + forward * distance, radius, forward,
raycasts
, distance, detectLayer);
}
else
{
var ray = new Ray(_transform.position,_transform.forward);
size = Physics.RaycastNonAlloc(ray, raycasts, distance, detectLayer);
}
detected = raycasts
.Take(size)
.Select(x => x.collider)