Jump to content
Sign in to follow this  
SHiP

3ds File Format

Recommended Posts

Piszę od niedawna grę i teraz mam zamiar pisać loader modeli. Ale nie mogę nigdzie znaleźć opisu formatu 3ds. W sumie znalazłem na http://www.gametutorials.com/Tutorials/opengl/OpenGL_Pg4.htm artykuł o tym formacie ale po angielsku ;( a ja angielskiego zbyt dobrze nie znam. Wiecie może gdzie znalazłbym coś o tym po polsku?? Jeśli nie to może znacie jakiś bardzo dobry translator ;)

Share this post


Link to post
Share on other sites

Hmm wielkie dzięki :D Pisze rpg wiec duże wymagania nie sa mi potrzebne... No kurcze musze przetestowac ten program :D Jak by ktoś coś znalazł coś na temat 3dsa to też niech coś napisze...

Share this post


Link to post
Share on other sites

Ja pisalem loader do 3ds, niestety korzystalem tylko z materialow po angielsku. Ale w sumie ten format jest klarowny, wiec angielski powinien ci wystarczyc.

 

Jezeli natomiast chcesz po polsku to proponuje zainteresowac sie tworzeniem pluginow do maxa. Na stronie www.directx.neostrada.pl masz opisane jak zrobic taki loader wlasnie po polsku.

 

Pozdrawiam

Share this post


Link to post
Share on other sites

Jednak pozostane przy formacie *.X.

Dobra kumpel mi szystko poiedział tylko nie mam pojęcia o co biega z tymi materiałami. Sa tam jakieś dziwne liczby.

np

 Material {
  0.541176;0.031373;0.431373;1.000000;;
  0.000000;
  0.541176;0.031373;0.431373;;
  0.000000;0.000000;0.000000;;
 }

 

Share this post


Link to post
Share on other sites

A i jeszcze jedno

 MeshMaterialList  {    1;    12;    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0;

To jak sie domyślam jest ilość obiektów i ilość faceów. Tak?? A co moze być tych dalszych polach??

Share this post


Link to post
Share on other sites

Poniżej umieszczam fragment mojego pliku 3DS.

 

4D 4D 59 47 02 00 02 00 . 0A 00 00 00 03 00 00 00

3D 3D 15 45 02 00 3E 3D . 0A 00 00 00 03 00 00 00

FF AF E1 00 00 00 00 A0 . 13 00 00 00 30 34 20 2D

20 44 65 66 61 75 6C 74 . 00 10 A0 0F 00 00 00 11

00 09 00 00 00 96 96 96 . 20 A0 0F 00 00 00 11 00

09 00 00 00 96 96 96 30 . A0 0F 00 00 00 11 00 09

00 00 00 E5 E5 E5 40 A0 . 0E 00 00 00 30 00 08 00

00 00 0A 00 41 A0 0E 00 . 00 00 30 00 08 00 00 00

00 00 50 A0 0E 00 00 00 . 30 00 08 00 00 00 00 00

52 A0 0E 00 00 00 30 00 . 08 00 00 00 00 00 53 A0

0E 00 00 00 30 00 08 00 . 00 00 00 00 00 A1 08 00

00 00 03 00 84 A0 0E 00 . 00 00 30 00 08 00 00 00

00 00 8A A0 06 00 00 00 . 87 A0 0A 00 00 00 00 00

80 3F 00 A2 2F 00 00 00 . 30 00 08 00 00 00 64 00

 

Pierwsze 2 bajty (4D4D) to id bloku, to kumam.

Następne 4 bajty (według specyfikacji) to długość bloku, i tu zaczynają się schody, ponieważ długość ta wynosi 1 497 825 792 bajtów, niecałe 1,5GB! A rozmiar pliku to 149 KB.

Czy ktoś potrafi mi powiedzieć o co tu chodzi?

Share this post


Link to post
Share on other sites

ja sie nie znam, ale

1 497 825 792

ma początek

149

czyli tyle kilobajtów ile wynosi rozmiar pliku

Share this post


Link to post
Share on other sites

Następne 4 bajty (według specyfikacji) to długość bloku, i tu zaczynają się schody, ponieważ długość ta wynosi 1 497 825 792 bajtów, niecałe 1,5GB! A rozmiar pliku to 149 KB.

Czy ktoś potrafi mi powiedzieć o co tu chodzi?

 

Twoj plik ma dokladnie 149337 Bajtow, a liczysz te 4 bajty od tylu 00024759 Hex = 149337 Dec, pozatym na przyszlosc naucz sie szukac w necie np. 3ds loader c++ i co mamy tutaj:http://www.google.de/search?q=3ds+loader+c%2B%2B&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a

http://www.xbdev.net/3dformats/3ds/3ds.php

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

We are using cookies. Read about our Privacy Policy