Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

16.07.2008, 21:48

DirectX Meshes erstellen

Hallo,
ich möchte auf möglichst _einfache_ Art und Weise .x Dateien erstellen.
Dabei sollen neben den Strukturen auch Texturen eingebaut sein.
Welche Programme sind dafür am besten geeignet?
Dazu sei gesagt: ich bin ein blutiger anfänger!
MfG,
Max

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

2

16.07.2008, 22:02

http://www.robsite.de/programme.php?prog=3dmodeller

Da kannst du dann exportieren oder dir noch einen umwandler suchen.

Oder auch gleich ein anderes Format benutzen.

3

16.07.2008, 23:12

Ich würde kein *.x Format nehmen, das benutzt niemand (frag mich jetzt nicht warum), es liegt warscheinlic daran das man darin zuviel hat, was man garnicht benötigt! Am besten ist es dir ein oder ein paar eigene Formate zu schreiben! Und es kommt auch immer darauf an wofür du es brauchst, ob das Modell statisch ist, oder sich bewegt! Für statische Objekte ürde ich dir das *.obj format empfelen, und für bewegliche *.3ds !

4

16.07.2008, 23:57

Mit Blender hat man ein sehr sehr mächtiges Tool an der Hand, natürlich ist der Einstieg ein wenig kompliziert, aber dafür ist es auch eher unwahrscheinlich, dass man auf ein anderes Tool umsteigen muss, weil gewisse Features fehlen.

Ansonsten könnte man noch Wings3D, Anim8or oder Milkshape benutzen.
Lieber dumm fragen, als dumm bleiben!

5

17.07.2008, 11:49

Danke für die Antworten! :D
Ich werde mal einige Tools antesten und auch überlegen, ob ich doch nicht das .x Format verwende.

6

17.07.2008, 11:55

Zitat von »"revan"«

Ich werde mal einige Tools antesten und auch überlegen, ob ich doch nicht das .x Format verwende.

Warum auch nicht? Ich finde das Format sehr pflegeleicht. Außerdem bietet DX dir jede Menge Methoden/Funktionen für den Umgang mit den Meshes an.

7

17.07.2008, 18:43

Hi Leute!
Ich hab auch ein Problem mit den *.x Dateien. Wenn ich mit Cinema4D ein Modell modelliere, dann muss ich es farblos machen und dann nacher manuell die Textur drüberziehen (also mit DirectX (SetTexture)). Dann hat aber das ganze Modell die gleiche Textur.

Wenn ich aber z.B. ein Auto hab, dann möchte ich dass die Reifen schwarz sind, der Rest vom Auto blau oder sonst was. Wenn ich die Farbe direkt in Cinema4D drüber mach, dann zeigt er sie mir gar nicht (oder nur sehr selten) im DirectX Viewer an, und im Spiel seh ich gar nichts, also nicht einmal das Modell an sich.

Was könnte ich da machen?
Ich dachte daran, ein eigenes Format zu schreiben (was ja auch oft vorgeschlagen wird), jedoch hab ich absolut gar keine Ahnung, wie ich das machen sollte?
Aber am liebsten wäre mir, kein eigenes Format zu schreiben, das ist sicherlich eine Menge Arbeit.

ps: Interessant wäre auch, wie die doch sehr anspruchsvollen Modelle von Galactica gemacht wurden, denn auch der Konverter will die Cinema4D Modelle nicht (bekanntes Problem). (<-- @ David)

8

17.07.2008, 18:56

defaultplayer^^

Die X-Meshes teilt DirectX bekanntlich nach Material in Subsets auf. Beim Laden eines Modells legst du Materialeigenschaften irgendwo ab (Array) und lädst die Texturen.
Beim Rendern der Subsets (Mesh->DrawSubset(n)) kannst du dann die Materialeigenschaften für ein bestimmtes Subset abrufen und die entsprechende Textur zuweisen. Z.B. Glas mit Alpha für die Scheiben deines Autos.

9

17.07.2008, 19:03

Danke!

Das heißt also:
Wenn ich ein einem Auto in Cinema4D Farben gegeben hab, 4 Räder die schwarz sind und ein Hauptteil der grün ist.
Dann besteht es aus 2 Teilen. Die Räder und der Hauptteil? Das heißt, ich setze Textur1 und rufe Mesh->DrawSubset(0) auf, danach setze ich Textur2 und rufe Mesh->DrawSubset(1) auf?

Cool, wenn das so stimmt dann hab ichs verstanden. Werde es dann morgen mal austesten.

10

17.07.2008, 19:12

Jo, so einfach sollte es sein.
Idealerweise weist du in C4D auch gleich noch die Texturkoordinaten zu. In 3DS Max heißt das "UVW Mapping".
Zusätzlich kannst du auch noch eigene Materialien oder Texturen beim Rendervorgang verwenden.
Wie oben schon gesagt, finde ich das X-Format (für Einsteiger) recht leicht zu verstehen. Ein eigenes Format kann man sich dann immer noch pinseln.

Werbeanzeige