Objekt Ausrichtung PointEntity vs AlignToVector
Übersicht

RöschtiBetreff: Objekt Ausrichtung PointEntity vs AlignToVector |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo allerseits!
Ich lese schon eine Weile hier im Forum und konnte durch eure Antworten auf alle möglichen Fragen bisher meine Problemchen lösen. Nun aber habe ich einen Fal, wo ich einfach nicht weiterkomme. Es geht um folgendes: Seit einer Weile bastle ich an einem SpaceShooter rum. Im Moment bin ich an der Zielerfassung. Dazu stehen 2 Gegner (noch) still im Raum als Zielobjekte. Die Erfassung funktioniert dh beim erfassen wird um das Ziel ein roter Rahmen angezeigt und entsprechend die Cockpit-Anzeigen aktualisiert zB mit Distanz zum Ziel. Jetzt habe ich zur Zielverfolgung einen kleinen Kegel und einen kleinen Zylinder zusammengebaut als Pfeil, welcher mir die Richtung zum Ziel anzeigen soll. Dieser Pfeil ist um 90 Grad nach vorne gekippt, so dass er im Grundzustand einfach nach vorne zeigt. Ist ein Ziel erfasst, richte ich den Pfeil mit AlignToVector auf das Ziel aus. Das funktioniert perfekt, solange sich die Ziele VOR mir befinden. Donnere ich zB am Ziel vorbei, müsste der Pfeil sich umdrehen und gegen mich zeigen, tut er aber nicht. Wenn ich statt dessen PointEntity verwende, stellt es den Pfeil jeweils kerzengerade auf dh es nimmt nicht die beim Erstellen festgelegte Liegeposition als Basis für die Ausrichtung. Herzichen Dank für eure Tipps! |
||
RöschtiBetreff: Ups, falscher Abschnitt erwischt! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Admin bitte vorigen Post in Beginners Forum schieben, sorry! | ||
![]() |
HolzchopfMeisterpackerBetreff: Re: Objekt Ausrichtung PointEntity vs AlignToVector |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Röschti
~VERSCHOBEN~ Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde. Röschti hat Folgendes geschrieben: tut er aber nicht.
Was tut er dann? Hast du die richtige Achse angegeben? Und hast du bei der PointEntity-Methode mal versucht, das Mesh nach dem Erstellen mit RotateMesh ![]() mfG Edit Und vermeide bitte Doppelposts, das von oben hättest du auch einfach ins Startpostig editieren können ![]() |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Der Vorteil bei AlignToVector![]() ![]() Warum die AlignToVector ![]() |
||
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 |
Röschti |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also das RotateMesh war die Lösung, nun funktioniert es perfekt!
wie gewünscht Code-Ausschnitte Erstellung der Pfeilspitze: Code: [AUSKLAPPEN] ;Navi Cone für Anzeige zum Ziel Navi=CreateCone(4,1) EntityColor Navi,255,0,0 EntityAlpha Navi,0.5 PositionEntity Navi,0,0.05,1.07 RotateMesh Navi,90,0,0 ScaleEntity Navi,.02,.02,.02 ;RotateEntity Navi,90,0,0 Ausrichtung in der UpdateFunction: Code: [AUSKLAPPEN] ;nur wenn ein aktives Ziel aufgeschaltet ist CameraProject cam,EntityX(sF.Ship\Ent,1),EntityY(sF.Ship\Ent,1),EntityZ(sF.Ship\Ent,1) ;Koords holen Local x=ProjectedX() Local y=ProjectedY() ;sofern Ziel innerhalb des Bildschirms If x<>0 And y<>0 Then DrawImage Brackets,x - ImageWidth(Brackets)/2,y - ImageHeight(Brackets)/2 EndIf ;Navipfeil zeigen ;ShowEntity Navi ;AlignToVector Navi,EntityX(sF.Ship\Ent),EntityY(sF.Ship\Ent),EntityZ(sF.Ship\Ent),2 PointEntity Navi,sF.Ship\Ent Wobei sf.Ship\Ent die Entität des erfassten Ziels enthält und Brackets die rote Umrandung ist. Merci! |
||
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
BlitzBasic: [AUSKLAPPEN] AlignToVector Navi,EntityX(sF.Ship\Ent),EntityY(sF.Ship\Ent),EntityZ(sF.Ship\Ent),2 Da liegt auch der Fehler mit der AlignToVector ![]() ![]() ![]() |
||
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 |
Röschti |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Aha. Viele Wege führen nach Rom ![]() Wo wir gerade dabei sind: ist es eigentlich clever, die Bracktes ständig zeichen zu lassen mit DrawImage oder wäre es schlauer bei der Zielerfassung sie zu zeichnen und nachher in dieser Funktion nur noch zu positionieren mit PositionEntity? Da ich eine FPS Begrenzung von 60 FPS habe, wird diese Funktion auch 60mal die Sekunde aufgerufen. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group