Flächenmäßiger Pick
Übersicht

NerleBetreff: Flächenmäßiger Pick |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich suche Rat ![]() Gibt es eine Möglichkeit eine Art LinePick oder PickEntity in beliebiger Fläche Y durchzuführen, anstatt nur Punktmäßig? Mittels einen Zielkreuzes möchte ich bestimmen, wohin und wie weit die Figur schießt (Top-Down-View); Das Zielkreuz wird dabei, da ja Sicht von oben herab, nur zweidimensional (x/z) über die Szenerie bewegt. Löst sich ein Schuss, soll das Erste Objekt in der Schussbahn getroffen werden, oder mehrere zumindest der Reihenfolge von der Spielfigur aus nach regstrierbar sein. So weit so gut. Allerdings soll es egal sein, ob sich gegnerische Objekte nun auf derselben Höhe wie die Spielfigur befinden, oder höher, tiefer etc. D.h. der benötigte "LinePick" müsste quasi so aussehen (hier rot; 1 und 2 sind ZielObjekte, die quasi von demselben einzigen Schuss treffbar wären): ![]() Wie läßt sich das denn realisieren? EntityPick scheidet ja, glaube ich, schonmal aus, da es als eine "Punkt-Linie" arbeitet. "LinePick" hingegen läßt zwar den Radius der Picklinie einstellen, dies aber immer nur "gleichmäßig" zu allen Seiten. D.h. die LinePick-Linie würde sich auch nach X bzw. links und rechts entsprechend ausweiten, um in die Höhe Y wachsen zu können. Das soll sie aber nicht, x-mäßig soll sie schon punktgenau zielen. Y-mäßig jedoch, in die Höhe/Tiefe, soll sie alles mitnehmen, was zwischen Levelboden und Top-Down-Camera rumschwirrt. Wie kann man so etwas umsetzen ![]() |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Fläche geht garnicht, könntest nur die beiden seiten geraden nehmen und horizontale linien zwischen ihnen nehmen zum picken.
Allerdings würde ich mir da eher dann überlegen wofür du es brauchst und schauen ob du es nicht sinnvoller lösen kannst (entities in types speichern und alle X, Y, Z koordinaten ansehen oder das ganze in räumliche sektoren unterteilen *OctTree zb* oder etwas derartiges) |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
0penguin0 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also ich kenn mich in blitz3d nicht so gut aus, aber du könntest doch das zielobjekt 1 nach unten verlängern, sodass es auf der gleichen ebene liegt wie die spielfigur, oder?
ich meine das etwa so: ![]() |
||
i never finish anyth |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eigentlich reicht es die Entfernung vom Zielkreuz zu den zielen in
der Ebene zu berechnen . dx=Entitxx(e)-KreuzX dz=Entitxz(e)-Kreuzz ent=sqr(dx*dx + dz*dz) if ent<irgendwas then ziel=e Linepick dann vom Spieler zum Ziel |
||
Nerle |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also, da ich ja noch Anfänger bin, würde ich mich jetzt mal für eine ganz gegenständliche Lösung entscheiden:
Aus der Top-Down-View kann man das Zielkreuz (hier als roter Punkt dargestellt) x/z-mäßig über den Screen bewegen. ![]() Löst man dann einen Schuss, erschaffe ich einfach mal einen Cube, pointe ihn in Richtung Zielkreuz (Breite und Länge beliebig, Y-Höhe so hoch, dass er jedes Objekt mitnehmen kann) und möchte einfach diesen als Projektil benutzen. ![]() Jetzt soll sich also dieser rote Cube in Richtung Zielkreuz bewegen. Und jetzt meine totale Anfängerfrage: Wie kriege ich das hin? Ich kenne die x/y/z-Koordinaten des Zielkreues. Aber wie setze ich diese ein, damit der Cube nun die direkte Linie zum Zeilkreuz fliegt - egal wo bzw. in welchem Winkel sich das Zielkreuz von der Spielfigur aus gesehen befindet? MoveEntity läßt den Cube ja nicht die ganze Strecke bis zum Ziel abfahren, sondern "versetzt" ihn dann schlagartig an diese Koordinaten. Und das will ich ja nicht. Entweder stehe ich gerade voll auf dem Schlauch, und der passende Befehl fällt mir gerade nicht ein... ? |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wofür hat dein Schöpfer dir Beine gemacht ?
Teil doch einfach die Entfernung durch die Schrittweite und wenn du diese Anzahl erreicht hast biste am Ziel . >MoveEntity läßt den Cube ja nicht die ganze Strecke bis zum Ziel abfahren, >sondern "versetzt" ihn dann schlagartig an diese Koordinaten. |
||
Nerle |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sorry, aber das sagt mir jetzt leider nicht genug. Kannst Du es mir bitte etwas konkreter erklären?
![]() |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
MoveEntity ist doch das was du brauchst .
Wenn du den Cube schon ausgerichtet hast kannst du ihn entlang der Z Achse verschieben . MoveEntity e,0,0,5 Schlagartig was du meinst wäre PositionEntity . |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group