Ok, Frage.
Ich habe eine Weile für Unity gespielt und jetzt versucht, ein zusammenhängendes Spiel zu machen.
Bis jetzt habe ich den schnellsten Weg gefunden, Ebenen für mich zu entwerfen, indem ich einen Wand- / Bodenblock als "Einheit" erstelle und ihn viele Male kopiere.
Die Blöcke sind im Grunde nur eine Transformation + ein Sprite-Renderer + ein Box-Collider .
Meine Frage ist nun: Kann dieser Ansatz Probleme mit sich bringen, da er im Grunde genommen sehr viele Objekte erzeugt? Wenn ja, welche Alternativen gibt es? Größere Blöcke erstellen?
Antworten:
Ja, das Erstellen vieler Objekte kann später zu Leistungsproblemen führen. Die Alternative besteht darin, weniger Objekte zu verwenden. In diesem Fall bedeuten weniger Objekte, die den gleichen Platz beanspruchen, größere Objekte.
Sie können beispielsweise eine Textur erstellen, die wie 4 oder 8 Blöcke nebeneinander aussieht, und dann ein Objekt erstellen, das 4 oder 8 Mal länger als ein normaler Block ist.
quelle
Ein guter Weg, dies zu tun, wäre, ein Spielobjekt zu haben, das die Blöcke aus einem Skript generiert, dann einen Box-Collider für das Ganze generiert und alles aus einem Spielobjekt rendert. Das würde die Notwendigkeit einer großen Menge von Spielobjekten beseitigen. Alles, was Sie von dort aus tun müssen, ist, dem Kartengenerator eine Art Blockkarte zu übergeben.
Natürlich können alle eindeutigen Blöcke, die im Spiel ungewöhnlich sein könnten, als separate Einheiten aufbewahrt werden.
quelle
Wenn es nur 1 Block ist, benötigen Sie nur 1 Fertighaus , und Sie können dieses Fertighaus bei Bedarf in einem Skript instanziieren und natürlich eine Transformation anwenden, um in die richtige Position zu passen, oder zerstören, wenn Sie sie nicht mehr benötigen.
quelle