Jump to content
  • Advertisement
Sign in to follow this  
Deathbliss

Looking for a tutorial on how to make a plugin for 3DS Max or Wings 3D

This topic is 1865 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Well I hope I have this in the right place as what I'm talking about is called an API. If not feel free to move it.

 

So what I want basically is a tutorial that takes you through the process of creating a plugin for Wings 3D or 3DS Max. I don't know what the Wings 3D part of this is called. I know that the other is called the 3DS Max API and sometimes the 3DS Max C++ API. C++ is ideal for me as this is the language I am currently studying.

 

When it comes down to it what I am really after here is an answer to the question, "How does one make an importer/exporter?" I want to be able to understand the source for Plasma, Cyan's 3DS Max 7 exporter for Uru. In that case its a package deal - you create in essence an entire level, or age, using the plugin. I need to start simpler. How to make an exporter that spits out a simple mesh in some format.

 

I always appreciate book and link recommendations. I did Google and YouTube but found nothing. Doesn't have to be ablout Max or Wings 3D if the tutorial is good and can be used in reference to these if not directly. I would really like a video tutorial - I do better with them.

 

There should be something around here for this... I mean if someone writes a game engine tutorial series, you have to cover asset import/export sooner or later. I just want the resources on hand to study and learn from. Failing everything else, if you know some simple, easy to understand source code for some sort of Wings 3D or 3DS Max plugin send me a link and I could study that.

 

Thank you in advance for your help!

Share this post


Link to post
Share on other sites
Advertisement

3DS Max is a particularly unpleasant API to work with (as in, literally the worst API ever invented!). There is a fairly decent source code example to be found in the devkit (I can't remember the name of it, but you should be able to find it fairly quickly). Effectively you have a hierarchy of INodes, and any given INode may have some geometry objects associated with it. You then call EvalWorldState to bake the modifier stack into a bunch of triangles (which you can then extract). If you need skinning (or any other deformation) data, then you'll need to use an IDerivedObject to iterate over the modifiers in the modifier stack.

To get the actual transform data from the INodes, simple get the object TM after world space modification. You'll need to decompose the world space transforms into pos/quat/scale manually (which can be annoying). To be perfectly honest though, you'd make life much easier for yourself if you just used collada instead.

 

p.s. an exporter tutorial for maya

Edited by RobTheBloke

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!