Skip to main content
GameDev.net gamedev.net
🔒 Locked

Maya Exporter stuff

Started by RobTheBloke May 23, 2004 at 5:39 PM 7 replies 2.9k views
Original Post
RobTheBloke
RobTheBloke
yeah i know there is already a tutorial on the basics of writing a maya exporter, but i''m currently writing some exporter tutorials for my students and i''ve tried to cover the topics that the basic tutorial misses out. The link below is to my website where there is a preliminary version... http://members.lycos.co.uk/robthebloke click the Maya Exporter Tutorials link to see the work so far. I''ve tried to organise it as an FAQ rather than a tutorial (mainly because most peoples requirements are going to be specific to their project). Anyhow, would this be of any interest in a full form for the gamedev community? I assume so, but would like feedback to what other people think. it''s not laid out in the normal gamedev style (thinking what''s most useful for my students primarily), would that be a problem? Any suggestions and i''ll try and work on them as i go... cheers rob
superpig
superpig
Comprehensive, with a lot of code... yeah, I''d say people would like that
Richard "Superpig" Fine - saving pigs from untimely fates - Microsoft DirectX MVP 2006/2007/2008/2009
"Shaders are not meant to do everything. Of course you can try to use it for everything, but it's like playing football using cabbage." - MickeyMouse
Hellsp4wn
Hellsp4wn
I would certainly read it two or ten times.

Hellsp4wn
-----------

I''m having deja-vu and amnesia at the same time. It''s like I think I''ve forgotten this before.
RobTheBloke
RobTheBloke
I've upated the tutorials somewhat, and added some (pretty good if i do say so myself ;) ) source examples. The loaders aren't particularly efficient (Nurbs are pretty good though - if slightly hacky).

Until the rest of the html has been written, The final exporter source code pretty much exports everything from maya. Any executables have been compiled against Maya6 so you will have to re-compile the exporters if you are using earlier versions of maya. I think the code should work with Maya 4.01 and upwards. For some reason i have a feeling my code will not work with Maya 4.0...

Hopefully, the source code should be bug free. I've subjected it to some pretty harsh destruction testing, but with Maya there's always a possibility that an animator can plug nodes together in some new and un-expected way. (or simply that i had a moment of stupidity). Anyhow, I am back on linux this week so I will endevour to update the source for linux & win32 shortly.

In the meantime, just got a few questions :

Does anyone have any problems with the source code? ie, does it work ok? ;) (you need VC NET for maya 6)

I was also considering writing some additional tools programming tutorials (that are much simpler) for the Maya API. Basically i was thinking under these topics :

Adding Custom mel functions with plugins (using mel scripts to automate your build process as a worked example of it's use)

Adding custom nodes and AE templates (probably using a 3D sound plugin as a worked example)

Adding Hardware & Software shader nodes

Making your Gui animator friendly.
RobTheBloke
RobTheBloke
I've finished off sections on how to export the following data:

Poly data
Nurbs Curves
Nurbs Surfaces
Transforms
Sampled Animation Data
Animation Curves
Lattices
Blend Shapes
Rigid Skinning
Smooth Skinning
Material Data
Texture Data
Texture Placements
Particle Emitters
Dynamics Fields
Locator Nodes
Display & Render Layers
Volume Primitives
Bump Maps
Environment Maps
Constraints
Ik Chains
Lights
Cameras
Plugin Nodes

and also written stuff under the following sections,

The basics of iterators, function sets & MPlugs.
Writing a Command Line Exporter
Using Version Control Software with Maya

all i have now to do is finish writing these little topics.

Adding your own Mel Functions
Writing a File Translator plugin
Creating the Mel script export options
Automating the graphics build using mel script

It's pretty much finished at the moment, but I'll go over and correct any spelling mistakes in a week or so before i submit it. If there is anything else anyone wants covering in this, then say so now.... (because i won't get the time to do this again!). If not i'll submit it next week i guess....

RobTheBloke
RobTheBloke
www.robthebloke.org/research/index.htm
LastUnicron
LastUnicron
I don't think I'd be exaggerating if I called your web site solid gold. It's comprehensive and modular by entity types. Frankly, your code makes the Maya exporter code from the DirectX SDK look like an entry in a code obfuscation contest, by comparison.

Many thanks for putting this together and making it public. I think it's above and beyond, and you've truly earned the role of 'teacher.'

I don't know how you would go about turning it into a linear article. I think the current organization is right for the subject material, but on the other hand I also think this needs to be featured in neon lights, somehow.
RobTheBloke
RobTheBloke
Thank you very much for the positive comments & i hope you found it useful!

I've been teaching mel, C/C++ and the mayaAPI to animators for almost 3 years. Because none of the students are natural programmers, you have to make the material as easy to follow as possible. I would hope that if an artist can understand the code, it should be straightforward for a programmer to get it ;)

From personal experiance, adopting a linear approach to teaching is normally a bad idea. Often, you have to change the approach to a subject mid-way through a lecture if blank faces are staring back at you. As a result, most of my lecture notes are now organised into small html pages on a particular subject. That allows you to jump about and cross reference material as needed.

Anyhow, i've submitted the material to gamedev, so hopefully it may appear here soon. My only concern is that i guess the material should be maintained & updated, rather than appearing in a one off article (or series).... i guess i shall see what they say.

Thanks again for the positive comments, always nice to get a pat on the back once in a while... :)

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.