Witam, mam kod który sprawdza czy element koliduje z elementem obok, lecz chciałbym żeby sprawdzał czy element obok koliduje z innym elementem itd. Po prostu zależy mi na tym żeby elementy ściany nie lewitowały i zawalały się gdy nie dotykają innych elementów ściany. Próbowałem użyć do tego tablic ale niestety nie podołałem zadaniu.
Mój kod:
private void ray(){
int layerMask = 1 << 8;
layerMask = ~layerMask;
RaycastHit down;
RaycastHit right;
RaycastHit left;
RaycastHit up;
Debug.DrawRay(GetComponent< Renderer>().bounds.center, transform.TransformDirection(Vector3.down), Color.red);
Debug.DrawRay(GetComponent< Renderer>().bounds.center, transform.TransformDirection(Vector3.right), Color.yellow);
Debug.DrawRay(GetComponent< Renderer>().bounds.center, transform.TransformDirection(Vector3.left), Color.blue);
if ((Physics.Raycast(GetComponent< Renderer>().bounds.center, transform.TransformDirection(Vector3.down), out down, Mathf.Infinity, layerMask) && down.distance < 0.26f) ||
(Physics.Raycast(GetComponent< Renderer>().bounds.center, transform.TransformDirection(Vector3.right), out right, Mathf.Infinity, layerMask) && right.distance < 0.26f) ||
(Physics.Raycast(GetComponent< Renderer>().bounds.center, transform.TransformDirection(Vector3.up), out up, Mathf.Infinity, layerMask) && up.distance < 0.26f) ||
(Physics.Raycast(GetComponent< Renderer>().bounds.center, transform.TransformDirection(Vector3.left), out left, Mathf.Infinity, layerMask) && left.distance < 0.26f))
{
destroyed = false;
}
else{
destroyed = true;
GetComponent<Rigidbody>().constraints = RigidbodyConstraints.None;
}
}
}