Autor Beitrag
umpani
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 389



BeitragVerfasst: Mi 11.06.03 17:45 
Hallo,

vielleicht kann mit einer der alten Hasen weoterhelfen.

Ich programmiere ein Spiel, welches eigentlich schon recht weit gediehen ist. Es ist ein 2D Spiel - Lands of Lore - like.

Ich möchte nun, da ich finde, das es etwas besser aussieht, das Zaubersprüche 3D Animationen sind.

Ich habe mir also 2 verschiedene Möglichkeiten ausgesucht.

1. Ich rendere die Zaubersprüche vorher mit einem 3D Programm und speichere Sie in einer ImageList als Animation.

2. ich binde ein paar kleiner 3D Animationen über die 3D Schittstelle von DirectX ein.


Zur ersten Möglichkeit habe ich keine Frage. Das ist recht einfach.

Aber kann mir jemand sagen, wie die zweite Möglichkeit zu realisieren ist?. Kann ich, obwohl mein Spiel auf DelphiX aufsetzt trotzdem noch eine 3D Schnittstelle (innerhalb oder ausserhalb von DelphiX) nutzen. Wenn ja, wie.

Gruß Umpani

_________________
Lernen, ohne zu denken, ist eitel; denken, ohne zu lernen, ist gefährlich. Konfuzius
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Mi 11.06.03 18:17 
mit delphiX schafst du kein gutes 3D. ich würde an deiner stelle GLXTreem nehemen(kann auch 3D formate anzeigen:))

_________________
MFG
Michael Springwald, "kann kein englisch...."
umpani Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 389



BeitragVerfasst: Mi 11.06.03 18:52 
kann ich das denn auch gleichzeitig mit Delphix verwenden?

Quasi ein 3D Objekt aufgesetzt auf der DXDraw oberfläche?

_________________
Lernen, ohne zu denken, ist eitel; denken, ohne zu lernen, ist gefährlich. Konfuzius
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Do 12.06.03 18:38 
du kannst nur eins von beiden verwenden und es läuft auch nur unter d6 - d7 und hörer :(

_________________
MFG
Michael Springwald, "kann kein englisch...."
umpani Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 389



BeitragVerfasst: Do 12.06.03 21:30 
Habs ausprobiert. Man kann sogar beides verwenden, jedoch hat die OpenGL Fläche dann einen hässlichen Rand und eine Hässliche Füllung. Sie lässt sich auf jedenfall nicht transparent machen :(

_________________
Lernen, ohne zu denken, ist eitel; denken, ohne zu lernen, ist gefährlich. Konfuzius
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Do 12.06.03 21:52 
doch das geht auch, frage mich aber nicht wie man das macht:)
und was hälst du von glxt ?

_________________
MFG
Michael Springwald, "kann kein englisch...."
umpani Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 389



BeitragVerfasst: Do 12.06.03 22:21 
Schaut ganz gut aus.
Falls ich irgendwann ein neues Projekt erstelle, sei es 2D oder 3D kann ich mir vorstellen, es zu benutzen. Ist halt ähnlich einfach zu bedienen wie DelphiX (im 2D Bereich).

Und ich bin halt ein 2D Fanatiker :twisted:

Nur leider ist mein derzeitiges Projekt schon so weit gediehen, dass ich bei einer kompletten Umstellung auf OpenGL wahnsinnig werden würde.
:shock:

_________________
Lernen, ohne zu denken, ist eitel; denken, ohne zu lernen, ist gefährlich. Konfuzius
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Fr 13.06.03 19:18 
glxt ist halt auch nur für den 2D bereich gemacht, aber wie gesagt es kann auch 3D ist ist viel schneller als DelphiX was auf dx7 basiert.
an was für ein projekt arbeits du denn ?
kannst du mir schon eine version senden davon ?

_________________
MFG
Michael Springwald, "kann kein englisch...."
umpani Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 389



BeitragVerfasst: Fr 13.06.03 19:25 
An einem "Eye of the Beholder", "Lands of Lore1", "Wizadry 7" artigen Rollenspiel.

Hier eine erste Testversion der Grafik (noch fast ohne jede Grafik, man man nur ein wenig herumlaufen)

www.cbs-shop.de/webser/gras1.zip

_________________
Lernen, ohne zu denken, ist eitel; denken, ohne zu lernen, ist gefährlich. Konfuzius
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Fr 13.06.03 20:41 
und das machst du mit dx ?

_________________
MFG
Michael Springwald, "kann kein englisch...."
umpani Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 389



BeitragVerfasst: Fr 13.06.03 21:16 
Ja, alles.

Und wenn ich mal fertig bin noch viel mehr... :lol:

_________________
Lernen, ohne zu denken, ist eitel; denken, ohne zu lernen, ist gefährlich. Konfuzius
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Fr 13.06.03 22:50 
hast du eigentlich deine frage beantwortet bekommen ?

_________________
MFG
Michael Springwald, "kann kein englisch...."
Tweafis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 647

WinXP + fbsd
Delphi 5 Prof
BeitragVerfasst: Fr 13.06.03 22:53 
Du kannst partikeleffecte mit pseudo 3d, d.h. du musst halt selber berechnen wir groß die sind basierend auf dem abstand und die position ganz einfach 2d und den radius runterschrauben wenn du z.B. ne Spirale machst.

_________________
.: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.
umpani Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 389



BeitragVerfasst: Sa 14.06.03 08:26 
Ich habe mich für meine erste Variante entschieden.

Ich werde die Effekte vorberechnen. Die sehen dann wahrscheinlich sogar besser aus.

Aber trotzdem danke.

_________________
Lernen, ohne zu denken, ist eitel; denken, ohne zu lernen, ist gefährlich. Konfuzius
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Sa 14.06.03 17:05 
könnte mir mal jemmand ein einfaches beispiel geben wie ich so eine ansicht hinbekomme ?

_________________
MFG
Michael Springwald, "kann kein englisch...."
umpani Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 389



BeitragVerfasst: Sa 14.06.03 17:07 
Welche Ansicht meinst Du denn?

_________________
Lernen, ohne zu denken, ist eitel; denken, ohne zu lernen, ist gefährlich. Konfuzius
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Sa 14.06.03 17:14 
pseudo 3d meine ich:)

_________________
MFG
Michael Springwald, "kann kein englisch...."
umpani Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 389



BeitragVerfasst: Sa 14.06.03 17:36 
Nun das ist ganz einfach, bedeutet nur ein Wenig Arbeit.

1. Ein zweidimensionales Array, in dem die Wandkoordinaten gespeichert werden.

2. Ein Wand Bitmap

3. Diese Wandbitmap muss entweder mit einem Extraprogramm, oder vor der eigentliche Programmlaufzeit so verformt werden, dass solche bilder entstehen (Beispiele):

user defined image


4. Wenn man nun ein Pseudo 3D Bild zeichnen möchte schut man sich an, wo die Figur im Array steht. Dann schaut man ob und wo sich Wände vor der Figur befinden. Diese Wände holt man sich dann aus der Imagelist, in der man die zuvor umgeformten Wänden gespeichert hat:


Zeichnung
O = Position der Figur
X = Wand
_ = Keine Wand


_______
_X___X_
_X___X_
_XX____
XXXOXX

Nur die Xe vor und direkt neben der Figur müssen gezeichnet werden.

_________________
Lernen, ohne zu denken, ist eitel; denken, ohne zu lernen, ist gefährlich. Konfuzius
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Sa 14.06.03 18:14 
könntes du mal ein kleines beispiel geben, wie ich das in delphi umsetzen kann ?

_________________
MFG
Michael Springwald, "kann kein englisch...."
umpani Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 389



BeitragVerfasst: Sa 14.06.03 18:31 
Was möchtest Du denn wissen?

Wie man das Wandbitmap umformt zu den einzelnen, schrägen Wänden?
Oder wie man die Wände dann zu einer Bewegung in diesem Labyrint einsetzt?

Es sit auf jedenfall zu sagen, das man diese Methode nur benutzen sollte, wenn an so ein Retro-Rollenspiel programmiert, wie ich es tun will.
Ansonsten ist diese Programmiertechnik veraltet. Denn heute brauch man kein Pseudo-3D mehr, sondern kann richtiges benutzen.

_________________
Lernen, ohne zu denken, ist eitel; denken, ohne zu lernen, ist gefährlich. Konfuzius