Wie man Kollisionen bei Spielern in Roblox Studio ausschaltet — Ganz ehrlich Version

Falls du schon mal in Roblox Studio eingestiegen bist, hast du vielleicht bemerkt, dass die Spieler standardmäßig einfach ineinander prallen. Das soll auch so sein – zum Testen, Debuggen und damit alles realistisch wirkt. Manchmal willst du aber eben, dass die Charaktere einfach durcheinander hindurchgehen, besonders bei speziellen Spielmodi oder wenn du eine verrückte Mechanik testen möchtest. Die Suche nach dem Knopf, um diese Kollisionen auszuschalten, ist nicht ganz trivial. Ich habe eine Weile experimentiert, durch Foren gestöbert und die offiziellen Dokumente durchforstet, bis ich es endlich gefunden habe. Hier teile ich, was bei mir funktioniert hat, um die Kollisionen zu deaktivieren – denn ehrlich gesagt, versteckt sich die Einstellung ziemlich tief im Explorer oder in Scripts und ist nicht auf Anhieb sichtbar.

Erste Schritte in Roblox Studio

Zuerst öffnest du dein Roblox-Studio-Projekt. Stelle sicher, dass das Explorer-Fenster aktiviert ist – falls nicht, geh zu Ansicht > Explorer. Manchmal ist es versteckt, und du merkst gar nicht, dass es nicht angezeigt wird. Es lohnt sich also, doppelt nachzusehen. Wenn du Shortcuts magst, funktionieren bei mir Alt + V gefolgt von X. Das Explorer-Fenster zeigt alle Objekte in deiner Spiel-Hierarchie an – genau dort musst du sein, um die Einstellungen umzuschalten.

Als Nächstes suchst du nach ServerScriptService. Falls es nicht sichtbar ist, expandiere deinen Explorer komplett. Oft ist es minimiert oder versteckt, und dann fragst du dich, wo du den Code überhaupt platzieren sollst. Klicke mit der rechten Maustaste auf ServerScriptService, wähle Objekt einfügen > Script. Du kannst es zum Beispiel PlayerCollisionDeactivator nennen, damit du beim nächsten Mal direkt weißt, was Sache ist. Dann kopierst du den Code dort rein – das ist der letzte Schritt, um die Kollisionen zuverlässig zu unterbinden.

Der Code zum Deaktivieren der Kollisionen

Hier ist, was ich benutzt habe. Es wirkt vielleicht etwas grob, funktioniert aber zuverlässig. Es durchläuft alle Spieler und toggelt für jedes Paar die CanCollide-Eigenschaft. Es ist keine elegante Lösung, aber für Tests reicht es vollkommen:

lua
— Kollisionen zwischen Spielern ausschalten
local Players = game:GetService(„Players“)
local function setCollision(enable)
for _, player in pairs(Players:GetPlayers()) do
local character = player.Character
if character and character:FindFirstChild(„HumanoidRootPart“) then
local hrp = character.HumanoidRootPart
— Gehe alle anderen Spieler durch
for _, otherPlayer in pairs(Players:GetPlayers()) do
if otherPlayer ~= player then
local otherChar = otherPlayer.Character
if otherChar and otherChar:FindFirstChild(„HumanoidRootPart“) then
local otherHrp = otherChar.HumanoidRootPart
if enable then
— Zurück auf normalen Kollisionsmodus
hrp.CanCollide = true
otherHrp.CanCollide = true
else
— Kollisions ausschalten, damit sie durchlaufen können
hrp.CanCollide = false
otherHrp.CanCollide = false
end
end
end
end
end
end
end
— Aufrufen mit false, um Kollisionen zu deaktivieren
setCollision(false)

Ich weiß, das sieht ziemlich simpel aus – überall durchgehen und CanCollide toggeln. Aber es ist erstaunlich zuverlässig, vor allem fürs Testen. Wenn ein neuer Spieler hinzukommt, während die Kollisionen deaktiviert sind, solltest du setCollision(true) erneut ausführen, um alles wieder normal zu machen. Außerdem solltest du im Hinterkopf behalten, dass diese Methode mit PhysicsService oder Kollision-Gruppen konfligieren kann. Das hat bei mir eine Weile gedauert, herauszufinden. Du kannst auch versuchen, die Kollisionsgruppen direkt zu ändern, aber für einen schnellen Schalter hat dieses kurze Skript bei mir gut funktioniert.

Testen und letzte Feinheiten

Wenn du den Code eingefügt hast, schließe das Script meist wieder – manchmal vergesse ich es und lasse alle Objekte offen, was die Fehlersuche erschwert. Stelle sicher, dass du das Spiel startest (mit Start oder Play) und teste dann, ob du dich mit zwei Charakteren bewegen kannst. Wenn alles passt, gehen sie einfach durcheinander, ohne sich zu blockieren oder anzustoßen. Funktioniert es nicht, überprüfe, ob das Script am richtigen Ort ist – manchmal landet es im falschen Ordner oder ein Tippfehler stört. Aber meistens sind es Kleinigkeiten, die den Unterschied machen.

Wichtige Hinweise & Tipps

Diese Methode ist auf jeden Fall eine kleine Notlösung. Roblox bietet nicht wirklich eine einfache eingebaute Möglichkeit, Kollisionen per Schalter umzuschalten. Wenn du mit PhysicsService oder Kollision-Gruppen arbeitest, ist es meistens besser, diese richtig einzurichten, vor allem bei komplexeren Spielen. Das hier genutzte Skript kann bei größeren Änderungen im Spiel durcheinanderkommen, etwa wenn andere Scripts CanCollide manipulieren oder wenn neue Spieler dazukommen, weshalb du dann erneut setCollision(true) aufrufen solltest, um wieder alles zu aktivieren.

Denke daran: Das Deaktivieren der Kollisionen ist vor allem für Debugging oder spezielle Mechaniken nützlich. Im regulären Spielverlauf solltest du sie wieder aktivieren, damit alles wie gewohnt funktioniert. Du kannst auch eine Schaltfläche oder einen Admin-Befehl einrichten, um das während des Spiels umzustellen – praktisch, wenn du zwischen verschiedenen Modi wechseln möchtest.

Fazit: Bevor du fertig bist, kontrolliere folgendes:

  • Der Script-Standort ist in ServerScriptService oder an einer passenden Stelle auf Serverseite.
  • Du hast das Spiel nach Änderungen am Script tatsächlich gestartet.
  • Teste mit mehreren Spielern oder NPCs, um sicherzugehen, dass die Kollisionen wirklich toggeln.
  • Bei Problemen prüfe auf Tippfehler oder ob dein Spiel mit eigenen Kollision-Gruppen arbeitet, die das Ganze überschreiben könnten.

Ich hoffe, das hilft dir weiter – hat mich auch eine Weile gekostet, bis ich es durchblickt habe. Vielleicht erspart dir das ja einige Stunden Sucherei. Viel Erfolg und happy scripting!