TrueSpace 7.6 geeignet für DirectX-Programmierung?

Einstiegsfragen, Mathematik, Physik, künstliche Intelligenz, Engine Design
Antworten
IlikeMyLife
Establishment
Beiträge: 212
Registriert: 08.05.2011, 09:59
Benutzertext: Feel Free

TrueSpace 7.6 geeignet für DirectX-Programmierung?

Beitrag von IlikeMyLife »

Aloha.

Auch wenn manchen die Frage etwas zu simpel erscheint. Ich suche derzeit nach einer 3D-Software für mein 3D-RPG-Projekt.
TrueSpace und Blender stehen bei mir in der engeren Auswahl.

Bei Blender ist mir mittlerweile mehr als bekannt, dass ich erstellte Modelle in das DirectX-Format exportieren kann.
Allerdings finde ich die Menüführung recht umständlich.

Heute habe ich TrueSpace gefunden. Scheint mir vom Handling besser zu liegen. Allerdings habe ich nichts da rüber gefunden,
ob die Modelle auch DirectX tauglich sind.

mfg
ILikeMyLife
Benutzeravatar
Krishty
Establishment
Beiträge: 8267
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: TrueSpace 7.6 geeignet für DirectX-Programmierung?

Beitrag von Krishty »

Benutzt du denn ausschließlich die D3DX-Funktionen zur Mesh-Verwaltung oder hast du eigene Datenstruckturen? Direct3D kann schließlich alles rendern, was sich in Vertex-Buffer stopfen lässt – das ist also eine sehr schwammige Frage.

Gruß, Ky
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
IlikeMyLife
Establishment
Beiträge: 212
Registriert: 08.05.2011, 09:59
Benutzertext: Feel Free

Re: TrueSpace 7.6 geeignet für DirectX-Programmierung?

Beitrag von IlikeMyLife »

Ich bin neuling in diesem Gebiet. Aber ok....

hätte alles über DirectX laufen lassen. Eigene Datenstrukturen für derartige Objekte hab ich bislang noch nicht angelegt.

Werde mich erstmal da rüber schlau machen
Tiles

Re: TrueSpace 7.6 geeignet für DirectX-Programmierung?

Beitrag von Tiles »

Allerdings habe ich nichts da rüber gefunden, ob die Modelle auch DirectX tauglich sind.
Ob die Modelle DirectX tauglich sind hat nichts mit der 3D Software zu tun. Sondern damit ob du die Grafiken in deine Spieleengine reinbekommst, und ob die Spieleengine überhaupt DirectX verwendet, und nicht OpenGL.

Oder meinst du das 3D Format namens X ? Der trueSpace Modeler kann nach einer alten X Version exportieren. Der trueSpace Workspace nach einer etwas neueren X Version. Von X gibt es leider unzählige Derivate. Womit wir wieder beim ersten Punkt wären. Viel wichtiger ist für dich ob du deine Grafik irgendwie in deine Spieleengine reinbekommst. Ausprobieren. Ich würde aber eher zu FBX als zu X raten wenn irgend möglich. Das X Format ist ne kleine Katastrophe, eben weil es so viele unterschiedliche Versionen davon gibt.

Mit trueSpace ist das so ne Sache. Es ist nach wie vor meine Lieblings 3D App. Und ich habe sie immer noch im Einsatz. Die trueSpace Entwicklung ist aber seit zwei Jahren eingestellt. Und da wird auch nichts mehr passieren. Die jetzigen Bugs bleiben drin. Und die sind leider so zahllos dass selbst ich als trueSpace Liebhaber niemandem mehr wirklich dazu raten kann sich da überhaupt noch reinzulernen. Für mich persönlich liegt die Sache anders. Ich bin mit dem Ding seit Version 3 mitgewachsen. Ich kenne meine Workarounds, und ich weiss von welchen Tools ich besser meine Griffel lasse.

Mh, wofür trueSpace definitiv auch jetzt noch taugt ist das modeln. Da ist trueSpace Blender tatsächlich immer noch haushoch überlegen. Schon allein deswegen weil Blender immer noch keine N-Gons kann. Das Bones System von tS ist aber reichlich instabil. Da wirst du wo anders animieren müssen. In Blender zum Beispiel. Und so Sachen wie Lightmap baken gibts auch nur in Blender. Die zwei Programme sind eigentlich keine Konkurenz, sondern eher eine wunderbare Ergänzung für einander.

Es dauert übrigens Jahre bis man in der Lage ist einigermassen vernünftige Spielegrafiken zu erstellen. Das ist inzwischen ein eigenes Studienfach. Wollte ich nur erwähnt haben :)
Zuletzt geändert von Tiles am 26.06.2011, 20:03, insgesamt 1-mal geändert.
IlikeMyLife
Establishment
Beiträge: 212
Registriert: 08.05.2011, 09:59
Benutzertext: Feel Free

Re: TrueSpace 7.6 geeignet für DirectX-Programmierung?

Beitrag von IlikeMyLife »

Damit hast du mir jede menge Recherche erspart.

Es wird schon eine Herausforderung sein, sich mit einer Software auseinander zu setzen. Aber in diesem Fall werde ich
mich weder für TrueSpace noch für Blender entscheiden. In einem anderem Thread ist ja derzeit nach zu lesen, dass
ich für mein derzeitiges Projekt ein Konzept ausarbeite.

Auch wenn ich mir gedacht habe, ich könnte als kleine Pause mich mal mit einer 3D-Software befassen, wird das doch für mich
ein Punkt, an dem ich wahrscheinlich mir die Unterstützung eines 3D-Animators suchen werde, sobald ich so weit bin ;-)
Tiles

Re: TrueSpace 7.6 geeignet für DirectX-Programmierung?

Beitrag von Tiles »

Such dir lieber gleich einen vollwertigen Grafiker ;)
IlikeMyLife
Establishment
Beiträge: 212
Registriert: 08.05.2011, 09:59
Benutzertext: Feel Free

Re: TrueSpace 7.6 geeignet für DirectX-Programmierung?

Beitrag von IlikeMyLife »

für 2D-, 3D- und Animation? Gute Idee ;-)
Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: TrueSpace 7.6 geeignet für DirectX-Programmierung?

Beitrag von dot »

Es wurde ja schon gesagt dass das .x Format nichts damit zu tun hat ob du die Datei nun in Direct3D reinbekommst oder nicht. .x ist einfach nur ein Format für 3D Objekte das früher von den Samples des DirectX SDK verwendet wurde und für das die D3DX Bibliothek (eine Utility-Library) Laderoutinen bereitgestellt hat. Für kleine Demos war .x sicherlich ganz nett, vor allem weil es eben die Hilfsbibliothek dafür gibt. Mir ist aber kein ernsthaftes Spiel bekannt das jemals .x verwendet hätte und das wundert mich auch absolut gar nicht (mich würd eher wundern wenn irgendeine ernsthafte Software tatsächlich auf .x gesetzt hätte). Mittlerweile steht hinter .x sowieso das Wort "Legacy" und selbst die aktuellen SDK Samples verwenden es nichtmehr. Zwar stellen viele 3D Anwendungen eine Exportmöglichkeit nach .x zur Vergügung, die funktionieren iirc aber auch nicht immer so ganz reibungslos. Für ein ernsthaftes Spiel wird man normalerweise ein eigenes Format mit einer entsprechenden Toolchain zum Export/Konvertieren entwickeln. Außerdem gibt es Libraries wie z.B. Assimp die eine ganze Reihe von Formaten laden können. Was die Software angeht ist Blender sicherlich das Mächtigste was man für Lau bekommt.
IlikeMyLife
Establishment
Beiträge: 212
Registriert: 08.05.2011, 09:59
Benutzertext: Feel Free

Re: TrueSpace 7.6 geeignet für DirectX-Programmierung?

Beitrag von IlikeMyLife »

Ihr merkt garantiert, dass mir das Themengebiet bislang unbekannt ist.
Durch die benannten Samples vom DirectX SDK insbesondere der .x-Dateien sind bislang die einzige Variante die ich bisher hatte um
in dem Gebiet ein wenig zu testen.

Kurz zum mit schreiben für mein Verständnis:
1.: Ich erstelle in einem 3D-Designer beispielsweise ein kleines Männchen.
2.: Ich definiere im 3D-Designer bereits, wie die Animationen ablaufen.
3.: Ich exportiere... ( Frage 1.: In was exportiere ich es eigentlich?! In ein festes oder von mir definierten Datentypen )
4.: Die fertige Datei wird beispielsweise über DirectX von mir ins Programm implementiert.
( Garantiert habe ich mal wieder was missverstanden ;-D )

Bitte um kurze Stichpunktliste, in welchen Schritten ich vom Öffnen eines 3D-Designers bis zum Anzeigen komme,
um wenigstens mir eine Grobübersicht davon zu machen.
Matthias Gubisch
Establishment
Beiträge: 472
Registriert: 01.03.2009, 19:09

Re: TrueSpace 7.6 geeignet für DirectX-Programmierung?

Beitrag von Matthias Gubisch »

Deine Schritte sind soweit eigentlich ganz in Ordnung.

Also Schritt 1 bis 3 passen so, in was du Exportierst bleibt dir überlassen, wichtig ist dass du es anschliesend laden kannst.
Als Zwischenformat habe ich mit Collada ganz gute Erfahrungen gemacht.

Nachdem du die exportierte Datei vorliegen hast musst du sie laden.
Das geht bei .x Files relativ einfach mit den Hilfsfunktionen aus der D3DX lib.

Für andere Formate ist wie von dot bereits erwähnt Assimp zu empfehlen.
Die mittels Assimp geladenen Daten solltest du dann in deine interne Datenstruktur packen. Wie diese Aussehen muss hängt von vielen Faktoren ab und kann nicht so ganz einfach beantwortet werden.
Am Ende brauchst du aber immer Vertex und Index Buffer damit die die Daten mittels Direct3D rendern kannst.
Bevor man den Kopf schüttelt, sollte man sich vergewissern einen zu haben
Tiles

Re: TrueSpace 7.6 geeignet für DirectX-Programmierung?

Beitrag von Tiles »

Joh, das von Microsoft entwickelte X Format ist so dermassen gut dass selbst Microsoft darauf verzichtet hat es in ihre eigene Spieleengine einzubinden ;)
Als Zwischenformat habe ich mit Collada ganz gute Erfahrungen gemacht.
Blender`s Collada hat zur Zeit noch ein paar Macken. Das soll diesen Sommer irgendwann behoben werden. Das trueSpace Collada ist halt inzwischen über 2 Jahre alt. Und hat natürlich auch ein paar Macken :lol:
3.: Ich exportiere... ( Frage 1.: In was exportiere ich es eigentlich?! In ein festes oder von mir definierten Datentypen )
So pauschal kann man das gar nicht sagen. Es kommt immer drauf an was deine Spieleengine futtert. Demnach lautet hier die Antwort: du exportierst in ein Format das deine Engine lesen kann. Das kann X sein. Oder Collada. Oder FBX. Oder ...

Es gibt übrigens einige Grafik Programme die sich als Konverter benutzen lassen. Ultimate Unwrap zum Beispiel. Eigentlich ein Unwrapping Programm. Kann aber einen ganzen Sack voll Formate lesen und schreiben. Auch teils exotische Spieleformate.
IlikeMyLife
Establishment
Beiträge: 212
Registriert: 08.05.2011, 09:59
Benutzertext: Feel Free

Re: TrueSpace 7.6 geeignet für DirectX-Programmierung?

Beitrag von IlikeMyLife »

Tiles hat geschrieben:So pauschal kann man das gar nicht sagen. Es kommt immer drauf an was deine Spieleengine futtert. Demnach lautet hier die Antwort: du exportierst in ein Format das deine Engine lesen kann. Das kann X sein. Oder Collada. Oder FBX. Oder ...
Ah verstehe :-) Dann muss meine Engine einfach nur was mit dem Datentyp X, Collada etc. anfangen können damit ich in mein programm einbinden kann.

Dann verstehe ich auch endlich, was damit gemeint ist, eigene Datentypen zu schreiben :-) Was weiter oben mal angeschnitten wurde.

Wenn ich mir nun einen Exporter für ein eigenes Dateiformat schreibe, dieses Dateiformat in meiner Engine von mir definiert ist, kann ich dieses letzten endes so verwenden :-)

Jippii :-) 30 € für ein Buch gespart :-)
( Wandert als umlagekosten in meine Kaffeekasse )
Matthias Gubisch
Establishment
Beiträge: 472
Registriert: 01.03.2009, 19:09

Re: TrueSpace 7.6 geeignet für DirectX-Programmierung?

Beitrag von Matthias Gubisch »

Nicht ganz, ein Datentyp ist etwas anderes als ein Dateiformat.

Datentypen bzw Datenstrukturen ist in diesem Fall die art und weiße wie deine Engine die Daten intern speichert mit denen sie arbeiten.
Diese sind meistens auf möglichst effiziente Zugriffszeiten ausgelegt.

Dateiformate ist wie die Daten auf der Platte gespeichert werden.

Im Prinzip läuft dass dann folgendermaßen. Du bekommst von deinem 3D Programme eine Datei in einem bestimmten Format. Diese musst du dann lesen und die darin entaltenen und von dir benötigten Daten in deine internen Datenstrukturen packen damit deine Engine damit arbeiten kann.

Dateiformat und Interne Datenstrucktur hat also nicht unbedingt etwas miteinander zu tun.

Du kannst praktisch ein beleibiges Dateiformat nehmen, dir dafür einen Importer schreiben (oder besser einen fertigen wie Assimp benutzen) der dir die Datei liest und die Daten fürs Rendern aufbereitet
Bevor man den Kopf schüttelt, sollte man sich vergewissern einen zu haben
Antworten