File format for 3D Models

edited in General
Hi there. I have a question on 3d models. I have 3ds Max on my computer and it works just fine. One problem though is that in the tutorial I used I loaded my geometry in a .m3d file format. The file format is cool and all except that I don’t know of any program that can create it. Do any of you guys know of that sort of program? I also looked at the .obj file format and plain just don’t like it. .x is also out since I’m using DirectX 10. Thanks

Comments

  • Hi Fanie,

    I use 3ds max and I have seen this file format before but it was very long ago....ages if I recall ;) so it could be an older file format used by game developers for a certain reason. I googled and found that .m3d was used by Grand Theft Auto: Vice City and EverQuest way back in the day and I also found this explanation but I'm not sure how accurate it is but its worth a try to get a Correl based program and see if it can open/create an .m3d file if you want to keep using it.

    Link: http://file-extension.paretologic.com/detail.php/File-Extension-m3d

    I'm not sure what game engine you are looking to work in or it was just a tutorial exercise with the .m3d file but to give you an example, I export my 3ds max models with the .fbx file format for Unity3d game assets as it saves the model & animation inside the format and sometimes I also use .obj for static objects as .obj only exports with the material and texture but it depends on the situation but those are the only two extension I use to get my model out of 3ds max and into Unity.

    Hope I could be of some help!

    Cheers




  • Hi GMax. Thanks so mush for the reply. Ok, I’m using Corel Draw 13 and Corel Motion 3d and no luck either. I’ll check out you’re suggestions for file formats. I’m not using any pre written game engine at the moment so the file format of the .m3d was quite simple to load.
    Here is an example:

    ***************m3d-File-Header***************
    #Materials 2
    #Vertices 2258
    #Triangles 1674

    ***************Subsets********************
    tree01-leaves_diffuse.dds
    default_spec.dds
    default_normal.dds
    Reflectivity 0 0 0

    tree01-bark_diffuse.dds
    default_spec.dds
    default_normal.dds
    Reflectivity 0 0 0

    ***************Vertices*********************
    Position: 0.2652096 2.184318 1.133194
    Tangent: 1 0 0
    Normal: 0 1 0
    Tex-Coords: 1 0

    Position: 0.2652096 2.184318 0.5604791
    Tangent: 1 0 0
    Normal: 0 1 0
    Tex-Coords: 1 1

    Position: -0.3075048 2.184318 0.5604791
    Tangent: 1 0 0
    Normal: 0 1 0
    Tex-Coords: 0 1
  • So you're looking for something that can create .m3d files because that's the format that your code currently supports loading? Is that the real question here?
  • Yes and no. I’d prefer working with .m3d as it is what I learned so far. I know how to use it and how it is representing geometry data. But if I have to go to another file format, I’ll just write that code for importing Mesh Data again. So I would like to stick with .m3d for now but if I can’t find a editor for that, I would have to create my own or switch to another format.
  • edited
    I'm not sure if this will help you, but take a look at Milkshape. It's a 3D modelling tool (that I can't use since I am horrible at anything remotely artistic), but it can export to pretty much anything. I think it supports .m3d.

    And if you don't like using it, you would still be able to use 3ds max to create your model, then convert it with milkshape. I think.
  • If you're ever going to be working with artists, you might want to work with a file format that their software commonly supports, unless you're willing to deal with writing importers/exporters for them. Picking an archaic/obscure file format seems more trouble than its worth I think...
  • Fanie, I found this older post on the turbosquid forums about your .m3d file format just scroll down to the last 3 posts:

    "RE: how do I import a gmax file as a MD3, or convert a P3D file into an MD3!!!
    Posted 01-Mar-2008 2:34 PM
    Modified by X3modeller On 01-Mar-2008 2:38 PM
    Download and Install the tempest_install.exe from http://www.turbosquid.com/gmax - This will include importing and exporting for *.md3


    Once installed, all you need do is enter c:/gmax/gamepacks/Tempest/plugins and copy the tempest.dlo file to your c:/gmax/stdplugs folder along with your previously downloaded md3exp.dle file--or the one that is in the folder with tempest.dlo--and delete the ones in the tempest folder as they are no longer needed there.


    This will allow you to access the import of .md3 and export of .md3 and .map from both the gmax and tempest(gmax) installs.


    cheers

    @Browser ice. - davidhsmith.net does not include the readme with the file; though it does explain it beside one of the downloads--he has two--on the site."


    Heres the link:

    http://www.turbosquid.com/Forum/Index.cfm/stgAct/PostList/intThreadID/30490

    I do recall gmax it was like a watered down version of 3ds max without the particle system etc and its basically there to create models/assets for your game oh and its free ;) so check it out! I think were getting close to hopefully solving you problem ;) heres the gmax link:

    http://www.turbosquid.com/gmax

    "Gmax is a 3D modeling application based on Autodesk's 3ds Max application used by professional computer graphics artists. Whereas 3ds Max is a comprehensive modeling, animation, and rendering package with some secondary post-production and compositing features, Gmax is much more limited due to its singular intended use—game content creation. Tools and features rarely used or completely unrelated to creating 3D game models were removed (most if not all of the more complex rendering, materials, shaders, physics simulation, and some of the more advanced geometry tools, plus the rendering engine), leaving the core modeling, texturing, and basic animation rigging and keyframing capabilities. In 2005, the software was discontinued at version 1.2"

    and also found this little converter and maybe if you get stuck with gmax/turbosquid exporter you can try this with blender work around rather.

    http://en.dark-omen.org/downloads/view-details/1.-modding-tools/1.-map-editor/darkomen-m3d-to-blender-converter.html

    Good Luck! ;)

  • Hi guys. Denzil , I did download MilkShape but no luck either. But its still a pretty cool modeller.
    Elyaradine, I was starting to think about using .obj format. What do you think of it?
    GMax, thanks for the info. I do struggle to get the blender converter installed. The wiki help and my own directory does not match.
  • GMax, no luck with that program either. I’ts rather frustrating to not be able to find stuff about it on google!
  • I did some rudimentary googling to find out if .m3d is even actually a thing and you weren't maybe getting confused with .md3 (which most definitely is a thing, seeing as it's the Quake 3 model format).

    First hit: Turns out that it's probably a simplified format that a guy who writes tutorial books came up with to showcase something. Meaning it's pretty much otherwise useless, seeing as he converted models from other source formats into .m3d for his examples. So that's why you're not finding editors that work in this completely non-standard format.

    Are you working through the same books people are talking about here?
  • OK so I should probably move on to some other format. What do you guys think about .obj and what other do you sugest?
  • Oh I’m using the book called Introduction to 3D game programming with directX 10 by Frank Luna. www.d3dcoder.net.
  • Yes thats the book they were talking about. Very good.
  • I think the most popular ones I've seen are .obj, .fbx and .dae.

    Obj's nice in that pretty much every piece of software ever supports it, but only supports basic geometry. You can't save animation, skins, sub-objects, etc.

    Fbx supports just about everything, but it's a proprietary format afaik. Dae (Collada) is the open alternative, but it's got its own issues... which I can't remember, because it's been a while since I used it.
  • So with .obj I cant store a animated mesh file right? Ok that won’t do. What do you think about creating your own format? Is that kind of reinventing the wheel or is it good for some reason?
  • Creating your own format means you'd have to write importers and exporters for your artists' software too. Unless you're doing something very specialised, I don't really see a reason for it... (For example, perhaps you'd want your artist to be able to sync his particle system in Max/Maya/XSI/whatever with the one in the game engine for some reason.)

    Perhaps you could take a look at the python FBX exporter that Blender uses. :) (Blender doesn't have an importer though because of licensing problems.)
  • Well, you're reinventing all the other wheels anyway, right? It's either that or use someone else's code to import a file format that art tools use, of which I'm sure there's loads out there.

    How goes the game?
  • Hi guys. Ok, I haven’t found any tutorials on .fbx but did on .md5 of Doom 3. It supports Bone Anim ect. thus the obvious choice for now. I’m also busy working with Maxscript in 3ds Max to create my own format. Thanks for all the links that eventually led me to an answer. The “game” is coming up good. I’m still busy with graphic techniques and I’m starting with a new book-tutorial on creating a FPS soon. I’m comfortable with lighting, texture mapping, blending, stencilling, Cube Mapping, Bump Mapping, Shadow mapping ect. I also do have, by now, enough HLSL knowledge to use it sufficiently for my purpose (that is the lighting, bump mapping and shadow test functions). And that all in c++. See screenshot of my graphics demo.
    Screenshot.jpg
    1024 x 576 - 93K
  • @fanie looks cool. Did you make any of those models yourself? Like the tree? Or did you get them from somewhere? What kinda game are you planning on making?
  • edited
    Hey Fanie, looking good ;) Glad you found a way! So you are using the Doom 3 engine right? Is this just for a test project or are you going to invest time in you own personal FPS project?

    Man do you guys remember the Doom 3 Alpha leaked version? The Alpha had awesome scenes in it like at part: 1:55 and at the ending where your head gets ripped off..that was awesome ;) I don't recall they had that in the final game? Wish they left those parts in...

    http://www.youtube.com/watch?v=EtDCYGbYdSA
  • Hi Guys. Denzil, I didn’t create the tree myself but all the others was calculated with a algorithm in the program at initialization. Like for instance the pillar is a tube with different radius top and bottom. My main aim is RTS game. So the graphics in this demo is totally overdone. GMax, I’m just using .md5 as my first file format to get the hold of it. But will always scout for better ones. I’m not using any engine. I’m coding all in c++. Started off with a blank .cpp file haha. The FPS is just a test project. Also no storyline, just Multi Player. It took me 4 months, and a whole lot of demos, to get where I am now, but no regret what so ever.
  • edited
    Dam Fanie thats awesome man c++ ;) sounds like you trying to code your own game engine which is pretty sick ;) keep us updated with your progress! If you ever need models/characters/animation I have some free time on my hands if you ever need help! Good luck man! Cheers!
  • Thanks GMAx. Can you do skins as well? I’m busy with a 3D model on 3ds Max but will need some skins later on. But I totally will keep that in mind dude. I’m not an artist haha. Yes I do my own engines as it gives me more flexibillity. I'll maybe convert to a engine later on if the production rate is required to go up but I enjoy creating something from a blank...text file if you like.
  • If you decide not to implement your own model loader etc. you could use this c++ library -> http://assimp.sourceforge.net/ I'm looking to use it in my university work.
  • Hi creative630. Ok so this Asset Importer, its basically the importer for any file already written and ready to use? But I can add or take away right?
  • It handles importing most 3D model formats and exporting in quite a few too. It pretty much handles anything that you will need, like bones, meshes, textures etc. Its also open source so yes you could add anything you want to the library (and submit it to github to potentially grow the project).

    Its probably a good idea to use it as it will save you time and make your engine a little more versatile.
  • Hi there. Ok, I went through the documentation briefly about AssImp. I can see a great opportunity implementing it in a model convertor from what ever format to my own. As it supports .3ds file format it is quite usefull to me. Thanks for the advice.
  • Ok, I’ve tried out Assimp and it works great! It is a c++ Library that imports almost any 3D dile format and gives you access to it. From there you could do all sorts of calculations and create a code to export it again into your own format. Or at least that is what I’m doing. According to the manual it’s not recommended to use it as loader in your own application code for real time use. Thanks for all the advice.
  • Glad you got it working! Hope it goes well.
Sign In or Register to comment.