2016-07-14 3 views
0

Ich mache ein Spiel und der Spieler kann hinter einem Zeichen GameObject laufen und wenn sie nahe genug sind, wird es einen Dialog erstellen.Canvas- und Dialogstruktur in Unity

Jetzt ist mein Problem hier, wäre es eine bessere Idee strukturell ein Fertighaus zu haben, wo jedes Zeichen GameObject eine Leinwand (World Space?) Als ein Kind hat, in dem der Dialog, der erstellt wird, dann als Kind platziert würde von der Leinwand GameObject?

oder

Habe 1 Welt Leinwand, in dem ich lege alle meine Zeichen Gameobjects in als Kind und haben nur den Dialog, das sei nur ein Kind meiner Zeichen Gameobject erstellt wird?

Derzeit benutze ich letzteres, aber ich wollte ein paar Gehirne aussuchen und sehen, ob das, was ich mache, sogar der einfachste Weg ist, mit zufälligen Dialogen umzugehen, auf die Sie stoßen können. Dies kann auch für viele Dinge verwendet werden, wie zum Beispiel zu einem NPC gehen und versuchen mit ihm zu sprechen. Der Grund, warum ich das frage, ist, weil meine Hierarchie seit meiner letzten Verwendung in jeder Szene etwas umgeworfen wird, aber ich finde, dass ich gerade einige GameObjects unter diesem World Space Canvas GameObject verschiebe und vielleicht ist es einfach meine Unkenntnis darüber, aber es scheint einfach nicht richtig zu sein und dass ich etwas falsch mache und es eine "richtige" Art gibt, mit so etwas umzugehen.

Antwort

1

Dies ist eine Frage der Dinge einfach zu machen und viele Objekte oder komplexer und minimieren.

Wenn Sie nicht bereits Tausende von Spielobjekten haben, dann würde ich die Benutzeroberfläche für jedes Objekt empfehlen. Es macht die Dinge einfacher. Betrachten Sie es mit einem realen Beispiel, denken Sie, dass es besser ist, als jeder sein eigenes Zeichen erhält, wenn es gebraucht wird, oder sollten Sie nur ein Zeichen bringen und Sie es weitergeben, wenn jemand braucht. Gibt es auch eine Zeit, in der zwei Zeichen gleichzeitig angezeigt werden können?

Alles in allem, ich würde ein Zeichen zum prefab hinzufügen und jeder bekommt sein eigenes.