3 Sachen wofür ich mal wieder zu blöd bin

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Commander-Tobi

Betreff: 3 Sachen wofür ich mal wieder zu blöd bin

BeitragSa, Sep 24, 2005 5:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen,

bin grad an einer Flugsimulation dran, was zur Zeit noch wie ein ArcadeGame aussieht, da ich momentan folgende Probleme habe.

1. Problem: Künstlicher Horizont - derzeit meine größte Sorge

Vorweg "RotateEntity ADI,10,EntityYaw(player)+20,-5,1" sind korekturen der Textur und Yachse.

Code: [AUSKLAPPEN]

ADI=CREATEsphere(32,PLAYER)
SCALEENTITY ADI, .132,.132,.132
POSITIONENTITY ADI,-.830,-.630,2
ADITextur=LOADTEXTURE ("adi.bmp")
ENTITYTEXTURE ADI,ADITextur
....
RotateEntity ADI,10,EntityYaw(player)+20,-5,1


Das Problem hier ist ja das die Kugel immer zum Boden zeigt, sprich wenn ich das Flugzeug um 80° nach oben ziehe zeigt der Künstliche Horizont an das ich im Winkel von 80° auf die erde zuflieg.

Dann wollt ich es mit enitiypitch(player) probieren, da fing die Kugel aber an verrückt zu spielen. Schließlich hab ich was gefunden was mir weiter helfen könnte:

https://www.blitzforum.de/view...2f571949ee

Allerdings bewegt sich die Kugel dann eigentlich garnicht so besonders um die X Achse.

2. Problem: Variometer - wird demnächst meine größte Sorge sein
für die die nicht Wissen was ein Variometer ist: Es ist ein Indikator welcher steigen oder sinken in m/s anzeigt gibts auch in ft*100 / min

also wie kann ich denn das steigen meinens fliegers in der großen 3d welt berechnen? ein beispielcode würde mir sehr helfen.


3. Problem: Terrain Following Radar - wenn mir jetzt nicht geholfen wird frag ich in paar Monaten wieder nach

Nr.3 ist jetzt noch nicht relevant aber dennoch interessant.
Wie kann ich vor mir liegenden Bodenunebenheiten und Berge bis zur einer bestimmten entfernung und höhe in 2d anzeigen lassen?

Bin echt am Verzweifeln.
AMD Athlon XP 2400+ ; 1,25 GB-RAM ;
G-Force 6600 256MB; 400 GB HD

User posted image

Mr.Keks

BeitragSa, Sep 24, 2005 8:33
Antworten mit Zitat
Benutzer-Profile anzeigen
1. hää? verstehe dein problem nicht. du musst einfach eine kugel erstellen und diese immer an die koordinaten des spieler setzen..
BlitzBasic: [AUSKLAPPEN]

skysphere = CreateSphere(32) ; erstellen
ScaleEntity skysphere,20,6,20 ; groß machen
FlipMesh skysphere ; umdrehen
PositionEntity skysphere,EntityX#(Spieler),EntityY#(Spieler)+3,EntityZ#(Spieler) ; an die position des spielers setzen
EntityFX skysphere,1 ; leuchtend machen
EntityOrder skysphere,10 ; hinter alle anderen objekte beim rendern setzen

skytex = LoadTexture(\"gfx/tex_sky2.bmp\") ; textur laden
ScaleTexture skytex,.5,1 ; textur anpassen
EntityTexture skysphere,skytex ;texturieren


im spiel steht dann die folgende zeile, damit die skysphere sich mit dem spieler mitbewegt:
PositionEntity Code: [AUSKLAPPEN]
skysphere,EntityX#(Spieler),EntityY#(Spieler)+3,EntityZ#(Spieler)



2. zwei möglichkeiten: entweder du misst es richtig, indem du speicherst, wo der flieger beim letzten frame war und dann die differenz nimmst. oder du nimmst den sinus vom pitch. da dein flugzeug allerdings vermutlich rollen kann, reicht der sinus vom pitch nicht aus, glaube ich. wenns nicht geht... wieder zwei möglichkeiten: entweder du bastelst dir aus den matrixwerten deines flugzeugs einen absoluten pitch oder du machst die nase deines flugzeugs zu einem eigenen objekt und berechnest aus differenzen ihrer position zum flugzeug deinen bewegungsvektor und benutzt dann ql:vectorpitch

hmm, irgendwie alles nicht die idealösungen. mindestens eine sollte funktionieren, aber wirklich klever ist das nicht gelöst.

3. was? ich bin kein luftfahrtingenieur, musst du wissen.
MrKeks.net

SoNenTyp

BeitragSa, Sep 24, 2005 8:41
Antworten mit Zitat
Benutzer-Profile anzeigen
@Inarie: Er meintein Bodenradar das die höhe des Terrans anzeigt.

Wie man das machen könnte weis ich jetzt allerdings auch nicht.
Gruss Der Typ.

User posted image

Mr.Keks

BeitragSa, Sep 24, 2005 9:15
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
EntityY(Flugzeugs)-TerrainY(terrain,EntityX(Flugzeugs),EntityY(Flugzeugs),EntityZ(Flugzeugs)
?
MrKeks.net

Commander-Tobi

BeitragSa, Sep 24, 2005 13:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
so war das nicht ganz gemeint Inarie.
Der Horizont bewegt sich ja schon mit. Bloss zeigt den pitch meinen players nicht korrekt an. wenn ichs mit entitypitch(player) mache, bewegt sich die kugel falschen wenn ich + oder - 90° überscheite.
Deswegen mach ich es mit RotateEntity, ist aber auch nicht korrekt. vielleicht helfen da die screenshots

user posted image
user posted image


Zu problem 3 noch ein bild:
user posted image
Da brauch ich imprinzieb nur ne anzeige wie der boden vor mir so auschaut.

was zu zu Prob 2 geschrieben hast werd ich mal versuchen umzusetzen.

Bitte nicht über Cockpit lachen. Ist zwar bunt und lustig aber auch noch nicht fetig.
AMD Athlon XP 2400+ ; 1,25 GB-RAM ;
G-Force 6600 256MB; 400 GB HD

User posted image

skey-z

BeitragSa, Sep 24, 2005 14:29
Antworten mit Zitat
Benutzer-Profile anzeigen
zu 3.

du liest jen punkt des Terrains aus und speicherst einen höhenwert in form eines farbigen Pixels in einem image, welches die gleichen Abmessungen hat, wie das Terrain, dann musst du nur noch den unmittelbaren umkreis deines Flugzeuges auf dem Radar anzeigen lassen.
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter

Commander-Tobi

BeitragSa, Sep 24, 2005 18:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke skey-z,
das ist ein gute Idee und denkanstoss.


Jetzt bracuh ich noch eine lösung zu Prob1&2
AMD Athlon XP 2400+ ; 1,25 GB-RAM ;
G-Force 6600 256MB; 400 GB HD

User posted image

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, Sep 25, 2005 4:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo, dein künstlichen Horizont kannst du zB wie folgt machen: Erstelle eine Sphere (wie bereits gemacht) und drehe die Polygone von innen nach aussen! Dadurch wird die Kugel nur von innen gesehen, da die äussere 'Schicht' nicht gezeichnet wird. Der Eindruck ist, daß die Sphere sich anders rum dreht...

Mr.Keks

BeitragSo, Sep 25, 2005 10:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Jetzt bracuh ich noch eine lösung zu Prob1&2
vielleicht täusche ich mich ja, aber ich habe dir eine brauchbare antwort zu problem gegeben. ich schrieb doch, dass entitypitch vermutlich NICHT reichen wird und habe deshalb mehrere andere lösungsansätze geliefert. und du musst deine kugel für den horizont einfach flippen (ql:flipmesh).. hätte man aber auch selber drauf komme können sollen ^^
MrKeks.net

Commander-Tobi

BeitragSo, Sep 25, 2005 13:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Stimmt war gestern etwas verplant als ichs geschrieben hab.
Problem 1 ist jetzt gelöst. Problem 2 hab ich noch nicht angefangen zu lösen.
Aber bei Problem 3 hab ich vortschritte gemacht.
AMD Athlon XP 2400+ ; 1,25 GB-RAM ;
G-Force 6600 256MB; 400 GB HD

User posted image

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group