Jump to content
Unity Insider Forum

Raycast Layer


Kojote

Recommended Posts

Grüße!

Ich lese gerade etwas über Layer bei Rays. Ich wollte es gern so machen, dass ein Ray den ich habe nur auf Layer 10 reagiert, er Layer 5 nicht durchdringen kann und alle anderen Layer ignoriert. Kann mir jemand sagen, wie ich das mit Layern hin bekommen?

Vielen Dank!

Kojote

EDIT: Habe ich jetzt gefunden, mit Layermask, klappt nur nicht, er prallt immer noch gegen Collider bzw. Layer die er eigentlich ignorieren sollte:

mask = LayerMask.GetMask("UI", "Bodenplatte_zum_Charakter_setzen");

Des weiteren, gibt es ein weiteres Problem. Kann man sagen, dass nach UI schluss ist mit dem Ray? Ich habe das Problem das ich mehrere Slots in meinem UI auswählen kann und der Ray geht einfach durch das UI hindurch. Kann man da was machen?

EDIT 2: OK, ich machs nun damit:

            if (EventSystem.current.IsPointerOverGameObject()) {
                return;
            }

 

bearbeitet von Kojote
Link zu diesem Kommentar
Auf anderen Seiten teilen

Mit einer LayerMask beim Raycast gibst du nur an, womit der Ray kollidiert. Worauf der Raycast "reagiert" ist ja im Code danach definiert und hat mit dem Raycast nichts mehr zu tun. Der trifft etwas oder eben nicht.

Du willst also nur zwei Layer treffen. Warum is "UI" dabei? UI-Canvase haben nämlich ihren eigenen Raycaster. Physics.Raycasts haben in der UI entsprechend eigentlich nichts zu suchen.

Aber so oder so... warum funktioniert das jetzt nicht? hast du "mask" denn auch an den Raycast-Aufruf übergeben?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Lädt...
×
×
  • Neu erstellen...