Jump to content
Unity Insider Forum

Gegner aktivieren, aber wie am besten?


gombolo
 Share

Recommended Posts

Hallo, ich habe mir ein paar Feinde gebaut. Dazu gibt es für jeden Feind einen Emitter. Dieser kann beliebig viele Gegner erstellen (aktivieren) 

Wie mache ich am besten den Trigger? 

- Über eine Kollisionsbox -> wenn der Spieler in die Box läuft wird der Emitter aktivert?

- Über die Zeit? Das Spiel scrollt kontinuierlich und ich könnte die zurückgelegte Strecke errechnen

-Gibt es noch eine andere Möglichkeit?

Welche Varianten ist besser (performanter) ?

Danke

Link to comment
Share on other sites

Ich habe es mit Kollisionsboxen gelöst, welche aber nicht am Player hängen, sondern eigenständig in einem Empty Game Objekt als Child eingeordnet sind (es bewegt sich nicht mein Player nach vorne, sondern das Level bewegt sich). Somit kann ich bei einzelnen Boxen auch unterscheiden zwischen Ermitter vor dem Player und Ermitter hinter dem Player. Beim Plazieren der Gegner muss ich mir keine Gedanken machen, dass irgendetwas falsch errechnet ist. Ich verschiebe immer wieder meine Ermitter, weil ich feststelle, dass der Abstand zwischen zwei Gegnern noch zu dicht oder zu weit ist.

Link to comment
Share on other sites

Die Frage nach der Performance ist etwas merkwürdig.

Merke dir generell: Performance ist erst dann ein Thema, wenn es auffällt. Wenn du bei einer 300-Zeilen-Codebase schon anfängst, irgendwelche Mikrooptimierungen zu machen, dann verschwendest du nur Zeit.

Aber was hier viel wichtiger ist: Haben die Varianten in deinem Spiel nicht unterschiedliche Auswirkungen? Ich nehme an, ich verstehe richtig, dass es sich um einen Endless Runner handelt? Die Physik-Engine bietet dir ein paar Vorteile - so kannst du bestimmte Bereiche abstecken, wo Gegner spawnen. Vielleicht willst du ja mal ein Level-Segment haben, wo Gegner nur unterhalb einer Plattform spawnen; läuft der Gegner aber obenrum, spawnt nichts oder etwas anderes. So etwas kannst du mit Collidern schön abstecken. Wenn du Aber sehr konstant Dinge tust, egal wie das Level aussieht, dann gibt's auch andere Varianten wie die, die du schon genannt hast. Über deren Vor- und Nachteile solltest du dir Gedanken machen. Was für Freiheiten gibt dir die Lösung, wie einfach ist sie für dich umzusetzen, wie gut kann man später noch Änderungen am System vornehmen, wie leicht können bei der Lösung Fehler gemacht werden, und wie schwer würden die entstehenden Bugs zu fixen sein? Performance ist wie gesagt erstmal echt nicht so wichtig.

Link to comment
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

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

Loading...
 Share

×
×
  • Create New...