PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Flash 3d Engine/Kamerablickwinkel- wie in norm. Spielen gelöst?


Mackg
2003-06-01, 11:25:56
ich versuche mich gerade an einer 3d engine für flash und wollte mal fragen ganz normale 3dspiele das Prolem lösen.
Ich habe meinetwegen jetzt einen Punkt ,der von mir die x y und z koordinate erhält, z.B.

posx=5
posy=7
posz=10

(ich erstelle dann mehrere koordinaten,die ich zu einem Polygon verbinde)


nun gebe ich auch der Kamera diese Koordinaten z.b.
camx=0
camy=0
camz=0
nun möchte ich anhand der entfernung erechnen welche x und y koordinaten dieser punkt im fertigen bild erhält,bis jetzt mache ich das so:

xkoordinate = ((posx-camx)/(posz-camz));
ykoordinate = ((posy-camy)/(posz-camz));

D.h dass je höher der z-wert der koordinate er folglich umso dichter an der bildmitte sein muss
das klappt auch einigermaßen und ich kann die kamera nach vorne,hinten links und rechts bewegen und das Bild ändert sich.
Mir fällt aber nichts vernünftiges ein wie ich den Blickwinkel verändern soll,außerdem habe ich das problem ,dass wenn die koordinate hinter der kamera ist ,sie trotzdem sichtbar ist.
Da das eigentlich bei jedem Spiel gleich sein müsste wollte ich dann mal fragen wie die das machen.

mutzel
2003-06-01, 12:10:51
ich hab auch schon ma versucht en 3d engine zu basteln bin aber gnadenlos daran verreckt weil ich weinfach zu wenig wissen hatte ... spaeter hab ich dann erfahren das die meisten mathematischen berechnunge mit matrizen gemacht werden .. man koennte die sache mit dem blickwinkel mit sin und cos machen .. das problem is das diese berechnungen ne menge zeit kosten ... und deswegen gibt es matritzen die auf irgendeine mir unverstaendliche weise dieses problem mit den grundrechen arten loesen ..

.. ich denk du solltest dich erstmal mit dem thema matrizen beschaeftigen .. ausserdem gibt im internet bestimmt massenweise tutorials dazu

Xmas
2003-06-01, 13:55:15
Mutzel hat da schon recht, du solltest dich zuerst mit Matrizenrechnung beschäftigen und dir dann die Basistransformationen Translation, Rotation und Skalierung anschauen.

Auch wenn sich das kompliziert anhört, das ist es wirklich nicht.

TheGamer
2003-06-01, 14:32:41
Mich interessiert das auch.

Habt ihr ein Tutorial??

Nasenbaer
2003-06-03, 22:23:30
Hier ist alles wissenswerte erklärt:
http://www.zwisler.de/colueb/matrix2/matrix2.html

Man sollte aber kein Mathemuffel sein. Ansonsten die nächste MathelehrerIn fragen sofern man noch die Schule besucht. :)
Vielleicht nimmt sie sich ja die Zeit für ne kleine Einführung, da sowas ja nicht mehr zum Abi gehört (jedenfalls in M/V).
Den Rest bekommt man mit dem I-Net oder der nächsten Bibo hin.

Mfg Nasenbaer

ethrandil
2003-06-03, 23:21:27
Original geschrieben von Nasenbaer Ansonsten die nächste MathelehrerIn fragen sofern man noch die Schule besucht.
Der kommentrar meines Lehrers (vor 3-4 monatan): Das war meine schlechteste Klausur überhaupt, frag lieber nicht ...

Ich kann das zwar nochimmernicht, aber ich hab dazu was gefunden: http://www.martinb.com/maths/algebra/matrix/index.htm

bitte :)

Gast
2003-06-04, 00:08:56
Wichtig ist auch, ob das Tutorial zeilen- (row major) oder spaltenorientierte (column major) Matrizen (wie z.B. bei OpenGL) verwendet. Damit ändert sich bei zusammengesetzten Transformationen nämlich leider die Reihenfolge der Matrixmultiplikationen und das kann verwirren, wenn ein Tutorial das eine und das andere scheinbar das andere beschreibt, obwohl beide dasselbe meinen. Leider steht das seltenst dabei, da wohl jeder seine Variante für die intuitive hält. In deutschsprachiger Literatur ist mir allerdings bisher zumeist zeilenorientiert begegnet.

EgonOlsen
2003-06-04, 00:36:11
Original geschrieben von Gast
Wichtig ist auch, ob das Tutorial zeilen- (row major) oder spaltenorientierte (column major) Matrizen (wie z.B. bei OpenGL) verwendet. Damit ändert sich bei zusammengesetzten Transformationen nämlich leider die Reihenfolge der Matrixmultiplikationen und das kann verwirren, wenn ein Tutorial das eine und das andere scheinbar das andere beschreibt, obwohl beide dasselbe meinen. Leider steht das seltenst dabei, da wohl jeder seine Variante für die intuitive hält. In deutschsprachiger Literatur ist mir allerdings bisher zumeist zeilenorientiert begegnet. Stimmt, das kann einen durchaus an der Nase herum führen. Habe auch mal einen Abend verbracht einen Text zu verstehen, bis ich kapiert habe, dass da alles "falschrum" war. Habe mal ein PDF hochgeladen (hoffe, der Autor hat nix dagegen, aber woanders konnte ich es nicht mehr finden...), wo meiner Ansicht nach ein brauchbarer Überblick gegeben wird. Steht nicht alles drin, aber ich finde es ganz brauchbar...ist schön pragmatisch und vielleicht hilft es ein wenig:

http://www.jpct.net/stuff/basics.zip

mutzel
2003-06-05, 13:50:36
sowas muesstes doch bestimmt schon zum downloaden geben ... also in c++ oder so... wuerde ja schon ein enfacher 3déngine mit en bissel texturen ... dann uebersetzt man das ganze einfach und schon gehts los

der-Leo
2003-06-06, 14:02:23
wie wärs denn hiuermit: http://www.macromedia.com/devnet/mx/flash/articles/flash_3d.html ??
kurzes suchen und schon erkennt man dass es bereits fertige 3d-engines für flash gibt.
funktion ist natürlich auf grund der einschränkungen die flash einem setzt nicht perfekt.

anderes beispiel: http://www.benchun.net/mx3d/

und wer suchet der findet auch noch mehret.... oder so.....

d-L