Maya as a level editor (2)
So in the last post about this I talked about some of the philosophy behind making a good editor. Now I will start into the more specific things that you have to do to Maya to make it a proficient level/game editor.
Material system. You have to decide what this is going to look like. What shaders your game is going to use, etc. There are a few ways to approach it.
Using a .fx plug in Maya: This is nice in that your model will use your shaders in the viewport. Gets you a very close approximation of the final output. This would seem like the way to go but there are a few issues.
1: Maya and mental ray renders wont like it at all. They will not render correctly using these. That means that for doing PR shots you have to re-create all your stuff as Maya shaders. Gets to be a royal pain.
2: Texture baking does not play nice. So it can make that step much more frustrating.
3: Using mental ray to create lightmaps also gets angry when you use .fx shaders.
Using maya’s materials: This method basically means that you use the maya materials and you create custom string attributes on each material that house the textures that are used by your shaders. Then you plug the output of those attributes into the standard material attributes. The nice thing about this method is that you can now use all of maya’s render features as well as the texture and lightmap baking commands. The downsides are…
1: The viewport does not really reflect how the final ingame model will look. This means that that you are not seeing teh effects of your ingame shaders.
2: If your shaders use multiple UV sets for differnt texture effects, those will not show up in the viewport.
So what should you do? Well that really depends I have create both pipelines for different projects and I am kinda on the fence about it. But my current thinking has me using maya materials because of the issues the .fx method has. The fact that the object does not really reflect the ingame look in the viewport does not bother me much because its a quick export from maya into our game.
In both cases I created a custom material editor that has a bunch of nice features in it. The reason for this is that you can have really tight integration with your data structure and your file management system. In both cases for me it was perforce.
What are your thoughts about Mental Mill? The comercial version should allow you to render using Mental Ray, and you should be able to reproduce the shaders of your game very closely.
To be honest I have never tried it… But I will take a look.
I seem to be having the same conflicts as you in this area. I was wondering if I could get a copy of your custom material editor, so I could use it to build my own? Or, some pointers on writing my own. I’m very new to Maya so be gentle
Thanks