Jump to content
Unity Insider Forum

Tilemap Collider 2D


Shalafi

Recommended Posts

Hi,

ich hab mal wieder Probleme mit meiner Tilemap ;)

Ich habe ein Tilemap-Streaming, bei der über einen Server die Tilemap vor dem Spieler geladen - und hinter dem Spieler wieder gelöscht wird.
Das funktioniert auch alles wunderbar.

Mein Problem ist jetzt der Collider. Wenn ein neuer Bereich der Tilemap geladen wird, dauert es immer > 1 Sekunde bis der Collider neu erstellt ist.
Wenn ich testweise den Collider abschalte, dauert das Rendern an sich nur wenige Millisekunden.

Hat jemand eine Lösung, wie ich die Zeit auf ein vertretbares Maß runterbekomme? Ich hab schon mit diversen Eintellungen am TilemapCollider2D rumgespielt und auch den CompositeCollider2D ausprobiert.

Meine Idee war, dass man beim Laden der Map vielleicht jeder Tile nur nen Collider gibt, wenn in einem angrenzenden Feld keine Tile ist.


Kann mir jemand weiterhelfen?



Gruß

Link zu diesem Kommentar
Auf anderen Seiten teilen

Keine Ahnung, wie du deinen Collider generierst. Benutzt du einen TilemapCollider2D? Der scheint das ja recht automatisch zu machen. Falls du den nutzt, wird's vermutlich schwierig. Eigene BoxCollider2D zu poolen könnte eine brauchbare Alternative sein.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Pooling bedeutet, dass du Objekte nicht löschst, sondern z.B. deaktivierst und sie in eine Sammlung (Pool) einträgst. Wenn du ein neues Objekt brauchst, wird zuerst geschaut, ob im Pool noch ein Objekt rumliegt. Das wird dann recycelt. Nur, wenn der Pool leer ist, wird ein neues Objekt erzeugt. Pooling ist dafür da, um Performance-Kosten von Instantiate zu umgehen und gleichzeitig, um Garbage beim Löschem zu verhindern. Ist in Grundzügen einfach zu bauen, gibt aber auch einige Pakete dafür. Ich kann dir dieses hier empfehlen - ist ja auch mein eigenes ;)

Und damit knallst du dann halt einen Satz BoxCollider auf deine Chunks.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...