Schuss -Treffer - Wie Objekt ID bestimmen?

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

NightPhoenix

Betreff: Schuss -Treffer - Wie Objekt ID bestimmen?

BeitragDi, Nov 25, 2008 20:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Folgendes Problem:
Ich gebe einen Schuss ab, er trifft, aber wie kann ich bestimmen welches Objekt aus einer TypListe mit 100 Einträgen und mehr getroffen wurde?

Kennt sich jemand damit aus und kann mir einen Tipp geben wie man das realisieren kann?


Natürlich habe ich auch versucht das ganze umzusetzen (mehr oder weniger erfolgreich)
Ich habe beim Kollision des Schusses mit EntityType 2 einfach geprüft welches der vielen Objekte am nächsten am Schuss dran ist.
Wie man merkt eine nicht gerade gute Lösung

Ich könnte zwar auch MeshIntersect verwenden, aber das ist mir zu rechenintensiv jedes Objekt durchzugehen um auf ein einzigen Schuss zu prüfen

Freu mich über jeden Tipp
NightPhoenix

Noobody

BeitragDi, Nov 25, 2008 20:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du mit der Blitzeigenen Kollision arbeitest, könntest du mit EntityCollided herausfinden, welches der Objekte von deinem Kollisionstyp kollidiert hat.
Da das aber nicht wirklich performant sein wird, rate ich dir, mit LinePick bzw. EntityPick zu arbeiten, welche beide das Handle des kollidierten Entitys zurückgeben.

Dann durchläufst du einfach deine Typeliste, schaust, ob das Handle des getroffenen Entitys mit dem abgespeicherten Handle im Type übereinstimmt und du hast dein Ziel.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun
 

Fredko

BeitragDi, Nov 25, 2008 20:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Noch einfach geht es, wenn der Name des Entitys den Handle des Types hat, so habe ich auch meinen 3D Editor gemacht(der durch den USB Stick verloren ging Sad )

Und dann nur noch Entityname(Entitycollided) oder wie das auch ging, und dies mit Object benutzen.

Edit: EntityCollided ist falsch,CollisionEntity ist richtig (Dies mit CountCollisions verwenden!)
!
  • Zuletzt bearbeitet von Fredko am Di, Nov 25, 2008 21:18, insgesamt einmal bearbeitet

NightPhoenix

BeitragDi, Nov 25, 2008 20:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab das mit EntityPick schonmal probiert und leider wurde trotz einem eindeutigen Treffer kein Pick zurückgeliefert (also pick=0), ist also für mich eher unzuverlässig
Aber das mit Linepick scheint interessanter zu sein Smile Da kann ich wenigstens einen Radius angeben
ich melde mich wenns geklappt hat

NightPhoenix

BeitragDi, Nov 25, 2008 21:08
Antworten mit Zitat
Benutzer-Profile anzeigen
ok erstens doppelpost (sorry keine absicht) und...
zweitens: Das die ID per EntityCollided zurückgeliefert wird wusste ich garnicht Smile typischer Fall von Analphabetismus und Dummheit

danke an euch beide ^^ hat sich damit wunderbar geklärt

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group