OgreMax Exporter 1.5.7 - With Map Generation Tools

The place for artists, modellers, level designers et al to discuss their approaches for creating content for OGRE.
Post Reply
User avatar
nedelman
Gnome
Posts: 315
Joined: Wed Feb 21, 2007 6:03 am
Location: San Francisco, California
x 6
Contact:

OgreMax Exporter 1.5.7 - With Map Generation Tools

Post by nedelman »

I'm happy to announce the newest release of the OgreMax Scene Exporter, which adds a number of tools for rendering different kinds of maps.

The major new additions and fixes for this release:
-Added utilities for rendering terrain, height and static cubic environment maps from within 3DS Max.
-Added an additional "Cubic" texture type for OgreMax texture unit's "render texture" map. This makes it easy to create dynamic Ogre cubic environment maps. This feature is fully supported by the scene viewer.
-Added support to the Object Settings dialog for adding and removing mesh animations. Previously you had to add and remove mesh animations by hand in the dope sheet view.
-Fixed a critical bug having to do with incorrectly stored and exported manual shader parameters.

A few interesting screenshots...

Updated menu
Image

Dynamic cubic environment map
Image

As always, the exporter can be found by going to http://www.ogremax.com

Enjoy.
http://www.ogremax.com - Ogre3D Scene Exporter for 3DS Max, Maya, and Softimage
http://www.linkedin.com/in/dereknedelman - My LinkedIn Profile
User avatar
Aquatix
Goblin
Posts: 239
Joined: Sun Oct 14, 2007 8:10 pm
Contact:

Post by Aquatix »

That's great news! Congrats on your new milestone! Thnx for such a useful tool!

P.S. just wondering, what are you planning to do next? I mean, remember quite a while back some discussion about OgreMax and LexiExporter integration or something. Or is it a full replacement now?
The mistery of Yoda's speech uncovered is:
Just an old Forth programmer Yoda was. :)

Nulle rule sine exceptione (lat.)
User avatar
nedelman
Gnome
Posts: 315
Joined: Wed Feb 21, 2007 6:03 am
Location: San Francisco, California
x 6
Contact:

Post by nedelman »

Scene managers will be the focus of the next release, though I'm sure a few other features will creep in it as well. It's always an adventure developing this thing.

The last time someone asked about OgreMax/Lexi integration (was it you?) I had stated that there was no reason to integrate the two exporters because OgreMax has so many more features and operates so differently that there's no practical reason or means to combine the two. So yes, OgreMax is a replacement for other exporters, and has been for some time.
http://www.ogremax.com - Ogre3D Scene Exporter for 3DS Max, Maya, and Softimage
http://www.linkedin.com/in/dereknedelman - My LinkedIn Profile
User avatar
IFASS
Gnome
Posts: 387
Joined: Tue Jan 04, 2005 12:07 pm
Location: Netherlands

Post by IFASS »

Hi Nedelman,

I would like to thank you for this great exporter, greetings too from the folks of OpenFrag. We are currently working on a new demo, and i switched to your exporter, and it helped me a lot!

Just a little peak of the new map:
Image
- There will be a major forest and a lot of grass (thanks to Paged Geometry!)
- A nice water shader
- A lot more ;)

Keep it up!
Image
JeDi
Gnome
Posts: 351
Joined: Thu Oct 21, 2004 1:34 pm
Location: Diepenbeek, Belgium
x 3
Contact:

Post by JeDi »

I would still want a way to create higher level materials. I know you can copy materials and such, but most of my artists don't know anything about techniques, passes and all the shader parameters. I would want the more technical people to handle the creation of shaders and such, and expose a material to the artists. All they have to do then is couple the right textures and some parameters that make sense to them.

A new material type would involve creating the visible properties for the artists (diffuse map, normal map, ...) and the logic that maps the properties on a low-level Ogre material.

Greetz,
JeDi
Dom
Halfling
Posts: 57
Joined: Wed Jul 14, 2004 10:12 am
Location: Berlin

Post by Dom »

cool! thx for the update.

ShaderFX is a commercial plugIn for visually creating shaders. Creating a normal map shader is really easy and fast. They don't support 'export to Ogre' yet ... maybe one day.
User avatar
Evak
Orc Shaman
Posts: 707
Joined: Sun Apr 02, 2006 7:51 pm
Location: Sacramento, CA
x 1
Contact:

Post by Evak »

Ofusion is well on the way to having full realtime shaderFX support in viewports with export to ogre shaders built in. I have a nice video showing off many of its features in action. Looks very good indeed. ShaderFX is an additional $250, but well worth the money if the max exporter supports it.

ShaderFX is a node based shader editor for max which exports to various .fx formats. Heres a shader I made that blends 2 normal mappedterrain textures with vertex colors and uses the same values to add shinyness to one.

Image

Would be nice to see support for this in any Max exporter :)
User avatar
nedelman
Gnome
Posts: 315
Joined: Wed Feb 21, 2007 6:03 am
Location: San Francisco, California
x 6
Contact:

Post by nedelman »

@IFASS
That looks pretty cool. I'm glad you're finding the exporter to be useful.

@JeDi
I gave your idea a lot of thought the last time the last time you mentioned it and came up with a good solution (in my mind, not in code :) ). I'll see about implementing it in a future version.

@Dom and Evak
I'm planning to add this in a future version.
http://www.ogremax.com - Ogre3D Scene Exporter for 3DS Max, Maya, and Softimage
http://www.linkedin.com/in/dereknedelman - My LinkedIn Profile
mr.Zog
Halfling
Posts: 46
Joined: Mon Apr 23, 2007 8:38 pm
Location: Austria
Contact:

Post by mr.Zog »

That's great news!

I got a question about the userData btw:
Let's say I create a dummy-helper named "audiosource1" to create an audio source placeholder.

I know it has the parameters volume and filename.

How would you ideally assign these parameters and then on loading the scene, get them back?

Currently I did it like this (in object->userdata):
<volume value="50.3" />
<soundFileName value="supercrash.wav" />

and then when loading i wrap the xml code in a correct <audiosource>-tag and parse it with tinyXML.


But know I read in the DOCs of ogremax that you should assign user data like
volume=50.3
soundFilename=supercrash.wav.

How am I then able to retrieve the data? (meaning floats as floats, strings as strings)

Are there any samples in the viewer?
(didn t find anything yet )


My current version works, but it's not that user friendly...
Thanks!
User avatar
nedelman
Gnome
Posts: 315
Joined: Wed Feb 21, 2007 6:03 am
Location: San Francisco, California
x 6
Contact:

Post by nedelman »

If you want to parse your user data as XML, you'll need for it to be a self contained XML document with its own root. So you would want to do something like:

<audio>
...your xml settings go here...
</audio>

Then, you have two options for getting this data in your own program:
1)When calling OgreMaxScene::Load(), pass in a custom callback that implements the HandleObjectExtraData() method. The "extra" data this method receives has a pointer to the object that contains the data, as well the user data text, which you can parse with an XML parser such as TinyXML. Your callback should return true if you no longer need the extra data (it will be deleted), or false to have the scene store it for later.
2)After the scene has loaded call OgreMaxScene::GetObjectExtraData(), passing in the object whose user data you want to retrieve.

The OgreMax documentation actually refers to the 3DS Max object user properties, which used to be the only way to configure the exporter settings. That part of the documentation has lost some of its relevance since there are now dialogs for configuring everything, though it's still useful for finding out how various settings are interpreted by the exporter.

As far as user data is concerned, you can use any format you'd like. It's all exported as generic text. There aren't any samples that demonstrate user data since user data doesn't actually do anything. It's whatever you want it to be.
http://www.ogremax.com - Ogre3D Scene Exporter for 3DS Max, Maya, and Softimage
http://www.linkedin.com/in/dereknedelman - My LinkedIn Profile
Vectrex
Ogre Magi
Posts: 1266
Joined: Tue Aug 12, 2003 1:53 am
Location: Melbourne, Australia
x 1
Contact:

Post by Vectrex »

Great! The heightmap generator is EXACTLY what I was needing (for paged geometry). Bit spooky ;) What does the terrain generator do exactly? Seems to seperate chunks into different colours?
User avatar
nedelman
Gnome
Posts: 315
Joined: Wed Feb 21, 2007 6:03 am
Location: San Francisco, California
x 6
Contact:

Post by nedelman »

The "terrain map" is an overhead rendering of the scene, similar to what you could achieve by carefully positioning an orthographic-projection camera above the scene and doing a standard render. So basically the "height map" is for the height and the "terrain map" is for the color.

I haven't used the paged geometry scene manager yet, but I've watched some of the videos for it. It looks very impressive.
http://www.ogremax.com - Ogre3D Scene Exporter for 3DS Max, Maya, and Softimage
http://www.linkedin.com/in/dereknedelman - My LinkedIn Profile
JeDi
Gnome
Posts: 351
Joined: Thu Oct 21, 2004 1:34 pm
Location: Diepenbeek, Belgium
x 3
Contact:

Post by JeDi »

Hi, I didn't really know where to post. Maybe there should be an Ogre addon forum for OgreMax...

Anyway, I want to start testing again with the graphics part of our game engine. I want to make use of the excellent models of irishlostboy at http://www.sharecg.com/pf/irishlostboy. So, until you create the material template system I talked about a few times (hint hint :wink:), I need a way to create a material to go along with the models.

So, has anyone used a shader (the monster shader for example) in OgreMax to render a model with diffuse, specular and normal maps? I can't get the shader working that comes with the examples (the examples don't use a specular map I think, and I had no success changing the parameters yet).

@nedelman Are you still thinking about the material template system? I don't know anything about the 3ds max sdk, but in this case, a "DiffuseSpecularNormal" material would be used, where I can set the diffuse, specular and normal map maybe along with some other parameters, and the template would setup the Ogre material (which would be a child of the template material) and the 3ds max preview material. Again, artists would benefit a lot of such a system.

Greetz,
JeDi
User avatar
IFASS
Gnome
Posts: 387
Joined: Tue Jan 04, 2005 12:07 pm
Location: Netherlands

Post by IFASS »

Derek, thanks again for the awesome job you're doing!
We at openfrag use it a lot, it's our main plugin for 3ds max. I wrote a few tutorials for our community regarding OgreMax, hope you like them:
http://wiki.openfrag.org/wiki/OFAC_Tutorials
Image
User avatar
nedelman
Gnome
Posts: 315
Joined: Wed Feb 21, 2007 6:03 am
Location: San Francisco, California
x 6
Contact:

Post by nedelman »

Great work. I'm impressed by the number of tutorials on there.

The only minor change I would make is in the first tutorial where you mention the OgreMax version. You have "At this moment, version 1.5.19 has just been released.", but I would put something like "This tutorial was written with OgreMax version 1.5.19, but you should always make sure you have the newest release." This is because I am constantly releasing updates and fixes and I'm embarrassed when I find out someone is using an old version that has a bug I fixed in a more recent version. In fact, 1.5.19 is already slightly outdated since I uploaded a new release early this morning.
http://www.ogremax.com - Ogre3D Scene Exporter for 3DS Max, Maya, and Softimage
http://www.linkedin.com/in/dereknedelman - My LinkedIn Profile
User avatar
IFASS
Gnome
Posts: 387
Joined: Tue Jan 04, 2005 12:07 pm
Location: Netherlands

Post by IFASS »

Done, thank for the tip.
I'll be adding more soon :)
Image
User avatar
oddrose
Orc
Posts: 470
Joined: Thu Feb 15, 2007 2:08 pm
Location: Gothenburg, Sweden
Contact:

Post by oddrose »

looking great!
HiddenSanctum
Gnoblar
Posts: 7
Joined: Sat Nov 24, 2007 6:46 pm
Location: Cleveland, OH
Contact:

Post by HiddenSanctum »

IFASS - Excellent tutorials! Written just perfectly for noobs such as myself, LOL. Keep em' coming...I'm looking forward to lighting.

Derek - Question on the bump sample. I loaded it into max and checked the texture (1 pass, 2 textures). How does it 'know' which image to use as a bump? The settings for both looked identical. Oops! - Looking closer at the material file I see that one is a .dds file (normal map). Safe to assume that when Ogre comes across that format that it knows to bump it? If so, how would specular work, gloss, and opacity maps work?
Image
User avatar
nedelman
Gnome
Posts: 315
Joined: Wed Feb 21, 2007 6:03 am
Location: San Francisco, California
x 6
Contact:

Post by nedelman »

Ogre materials are pretty low level, so you have to set up bump mapping (and any other kind of mapping) by yourself by choosing the right settings.

In the case of the bump sample, the pixel shader is what determines the overall bumpy look. The texture units (in the pass) are ordered in the same way as the pixel shader's sampler parameters.

If you're just getting started with Ogre and 3D graphics in general, I think it's a bit much to dive into vertex and pixel shaders. You can actually achieve bump mapping with the fixed function pipeline (though I haven't tried that yet) and glossy effects can be simulated by using environment mapping in a texture unit (again, a fixed function effect). By layering texture units you can actually achieve really good looking effects, especially if you have good artwork, and as a side benefit all the lighting calculations are done for you.

ATI's site (http://ati.amd.com/developer/sdk/Rage12 ... mples.html) has some sample programs for doing fixed function bump mapping. They're written in DirectX but I'd imagine you can find the corresponding settings in one of the OgreMax material panels.
http://www.ogremax.com - Ogre3D Scene Exporter for 3DS Max, Maya, and Softimage
http://www.linkedin.com/in/dereknedelman - My LinkedIn Profile
JeDi
Gnome
Posts: 351
Joined: Thu Oct 21, 2004 1:34 pm
Location: Diepenbeek, Belgium
x 3
Contact:

Post by JeDi »

Hi,

I've got a model working perfectly using the shaders I found at a wiki article. I created an ogre material in max using this shader.

Can I copy the material to another max file somehow? Cause I want to try the other models as well.

Greetz,
JeDi
User avatar
nedelman
Gnome
Posts: 315
Joined: Wed Feb 21, 2007 6:03 am
Location: San Francisco, California
x 6
Contact:

Post by nedelman »

Put the material into a 3DS Max material library. The library can be shared among all your 3DS Max files.

The only thing you'll need to set up manually in each scene is the Ogre resource locations (in the Scene Settings dialog), since that's global information that isn't saved with the materials.
http://www.ogremax.com - Ogre3D Scene Exporter for 3DS Max, Maya, and Softimage
http://www.linkedin.com/in/dereknedelman - My LinkedIn Profile
Post Reply