Unity Raycast / Gebäude anklicken?

1 Antwort

In der auskommentierten Zeile steht explizit, dass der weitere Verlauf der Update-Methode abgebrochen werden soll, wenn sich der Mauszeiger über dem aktuellen GameObjekt befindet (IsPointerOverGameObject). Insofern halte ich das Verhalten nicht für verwunderlich.

Du kannst mit Layers arbeiten und so spezifisch zwischen den Zielen bei Klicks/Raycasts unterscheiden. Der folgende Raycast wäre beispielsweise nur dann erfolgreich, wenn dein Panel auch auf dem Layer "SomePanel" liegt:

int buildingLayerMask = LayerMask.GetMask("SomePanel");
RaycastHit2D hit = Physics2D.Raycast(point2D, Vector2.zero, 0f, buildingLayerMask);