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

wasp

Frischling

  • »wasp« ist der Autor dieses Themas

Beiträge: 30

Beruf: Schüler

  • Private Nachricht senden

1

08.09.2010, 19:13

Modell Dateien

Hallo zusammmen ich habe ein Problem mit dem Laden von 3D-Modellen:
wollte gerade mal ein eigenes Modell laden(nur ein Würfel)
und habe einfach den Quellcode vom Beispiel aus dem Buch geändert:
das sah dann so aus:

C-/C++-Quelltext

1
    if(g_pShipModel->Init("modell.tbm"))


Da kam aber immer zur Laufzeit der Fehler, dass die Datei nicht geladen werden kann
Im Beispiel dazu wird ein Winrar zip archiv verwendet so

C-/C++-Quelltext

1
    if(g_pShipModel->Init("Ship.tbm@Data\\Ship.zip", "", "@Data\\Ship.zip"))


Also habe ich meine modell.tbm Datei in ein Zip archiv gepackt und den Quellcode wie folgt geändert

C-/C++-Quelltext

1
if(g_pShipModel->Init("modell.tbm@Data\\modell.zip", "", "@Data\\modell.zip"))


So kam aber wieder der Laufzeit Fehler.
Bitte um schnell Hilfe
Gruss Wasp

BurningWave

Alter Hase

Beiträge: 1 106

Wohnort: Filderstadt/Konstanz

Beruf: Student

  • Private Nachricht senden

2

08.09.2010, 19:38

Poste am besten mal den Inhalt eer Log-Datei.
Möglicherweise wird dein Model nur nicht gefunden. Du solltest nochmal den Pfad genau prüfen.

Harry222

Alter Hase

Beiträge: 864

Beruf: Student

  • Private Nachricht senden

3

08.09.2010, 19:42

Am besten nicht nur modell.tbm, sondern einfach mal den gesamten Pfad eintippen! So kannst du schon mal herausfinden, ob der Fehler bei der nicht gefundenen Datei liegt! ;)

Mfg Harry222

wasp

Frischling

  • »wasp« ist der Autor dieses Themas

Beiträge: 30

Beruf: Schüler

  • Private Nachricht senden

4

08.09.2010, 19:48

Ja also jetzt gehts. Danke viel mal
Darauf hätte ich auch selber kommen können xD

Harry222

Alter Hase

Beiträge: 864

Beruf: Student

  • Private Nachricht senden

5

08.09.2010, 19:54

Wenn du jetzt nicht immer den ganzen Pfad eingeben willst, musst du die Modelldatei nur noch in den richtigen Ordner verschieben! ;)

Mfg Harry222

wasp

Frischling

  • »wasp« ist der Autor dieses Themas

Beiträge: 30

Beruf: Schüler

  • Private Nachricht senden

6

09.09.2010, 16:51

ja danke an alle
(war wirklich ein ziemlich blödes Problem)

Also ich habe jetzt einen Würfel ins Programm geladen. Der ist aber nur so klein, dass man ihn kaum sieht.
Ich habe mal die Weltmatrix noch mit einer Skalierungsmatrix multipliziert, doch der Würfel wurde nicht grösser.
Wie ändere ich die Grösse des Würfels??

Gruss Wasp

KeksX

Community-Fossil

Beiträge: 2 107

Beruf: Game Designer

  • Private Nachricht senden

7

09.09.2010, 16:54

EDIT: Sorry, war Schwachsinn :P
WIP Website: kevinheese.de

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »KeksX« (09.09.2010, 20:55)


8

09.09.2010, 16:55

Dann wird die Skalierungsmatrix wohl nicht gestimmt haben, aber mit ein bisschen Code wäre das besser zu Diagnostizieren ;)

wasp

Frischling

  • »wasp« ist der Autor dieses Themas

Beiträge: 30

Beruf: Schüler

  • Private Nachricht senden

9

09.09.2010, 20:54

Matrix eines Modells??

zuerst hatt ich folgenden Code

C-/C++-Quelltext

1
2
3
4
5
    mWorld = tbMatrixRotationZ(g_fTime * 0.5f) *
             tbMatrixTranslation(tbVector3(100.0f, 100.0f, 0.0f)) *
             tbMatrixRotationY(g_fTime * -0.5f);

    D3D.SetTransform(D3DTS_WORLD, mWorld);   //Als Weltmatrix einsetzen

Diesen dann um eine Skalierungmatrix ergäntzt:

C-/C++-Quelltext

1
2
3
4
5
    mWorld = tbMatrixRotationZ(g_fTime * 0.5f) *
             tbMatrixTranslation(tbVector3(100.0f, 100.0f, 0.0f)) *
             tbMatrixRotationY(g_fTime * -0.5f)
             tbMatrixScaling(tbVector(10,10,10));
    D3D.SetTransform(D3DTS_WORLD, mWorld);

10

09.09.2010, 21:02

Du solltest die Reihenfolge bei den Multiplikationen beachten, mal nebenbei ;)

Werbeanzeige