Gettting a multi-mesh 3ds model into Ogre easily

A place for users of OGRE to discuss ideas and experiences of utilitising OGRE in their games / demos / applications.
Post Reply
JeDi
Gnome
Posts: 351
Joined: Thu Oct 21, 2004 1:34 pm
Location: Diepenbeek, Belgium
x 3
Contact:

Gettting a multi-mesh 3ds model into Ogre easily

Post by JeDi »

Hi,

We, at a research institute in Belgium, have chosen Ogre for our rendering needs from now on. My assignment now is to get a multi-mesh .3ds scene into Ogre as easy and as quickly as possible, so we can fly around the scene.

I have looked into the following possibilities:
- Export the scene as one mesh, using the "official" 3ds max mesh exporter. I haven't worked with 3ds max (7) yet, so I couldn't find a tool to convert my scene to one mesh. Anyone? This solution wouldn't be perfect, but as a first test it is, as we can easily use the meshviewer distributed with Ogre.

The .scene format seems very nice to me for rendering scenes as we are planning to. I eventually got the scene viewer from ogreaddons "working". It works if I drag a .scene file onto the .exe. If I just start the exe, it doesn't use the Ogre settings I choose (rendering backend, resolution, ...). In either way, it doesn't seem to use my resources.cfg, as it bails out with errors if I don't put the .mesh files and textures and so on in the exe's directory.

To use the .scene format, I tried the following:
- Use the 3ds max scene exporter from ogreaddons. I got the plugin to compile and show up in 3ds max, but it only generates empty (0 bytes) meshes. The .scene file it generates seems OK though. Again, if anyone knows a solution... I tried about every option it provides (tried checking/unchecking all the checkboxes)

- Use the Octopus exporter from yake. The .3ds scene I was given uses standard materials, which the exporter doesn't seem to recognise (it generates an empty .material file). The .mesh.xml files and the .scene file are fine though (although it doesn't seem able to automatically use the xmlconverter, I've set the path correctly in the config file I think). I was able to successfully export the scene when I converted all the standard materials used in the scene to Ogre materials (provided by the Octopus exporter). The scene seems awfully small though, but that's easily fixed.

I read in my previous thread that yake has a .scene viewer too, but I wasn't able to compile yake yet (using the current CVS of yake, but the downloadable dependencies from the site). I guess that's just a mather of downloading the right dependencies though, so maybe I should give that a try.

If anyone has a solutin to any of my problems, please post here!

Also, if anyone has another solution to get the .3ds scene as quickly and easily as possible on screen using Ogre, please let me know!

Thanks in advance!

Greetz,
JeDi
JeDi
Gnome
Posts: 351
Joined: Thu Oct 21, 2004 1:34 pm
Location: Diepenbeek, Belgium
x 3
Contact:

Post by JeDi »

One mistake I made:
Use the 3ds max scene exporter from ogreaddons. I got the plugin to compile and show up in 3ds max, but it only generates empty (0 bytes) meshes.
The .mesh files it generates are not empty, but all contain only the mesh header, so they're actually 1kb of size.

Can nobody help me with (some of) my problems? I have to deliver something today. I'm now just packing a customized version of the DSISceneViewer to show it is working, but this way the "tutorial" I have to write about this isn't going to be as easy and quick as expected I'm afraid.

Greetz,
JeDi
JeDi
Gnome
Posts: 351
Joined: Thu Oct 21, 2004 1:34 pm
Location: Diepenbeek, Belgium
x 3
Contact:

Post by JeDi »

I know the resource management has changed in 1.0, and my guess is that it has affected the DSISceneViewer. I took a look at the log, and I saw that the program creates a resource group with the same name as my .scene file (vic.scene). My thought was to use that group in the resources.cfg file.
So in resources.cfg, under [vic.scene], I added the directory of the scene's media (FileSystem=media/vic). Now it doesn't complain about the missing .mesh files, but I get an exception that the resource group gets created twice.
So, I'm still stuck with all my media in the exe's directory, which isn't very nice. I tried putting the dir under [bootstrap] and [general]. Both didn't work.
I haven't had the chance to really look at Ogre's SDK for now, so I haven't got a clue what to change in the DSISceneViewer's code.
If nobody has a clue, I will study the Ogre SDK and make a patch for the DSISceneViewer and Interface, but I think it would be better if the actual developpers of that part would do that.

Greetz,
JeDi
User avatar
psyclonist
OGRE Expert User
OGRE Expert User
Posts: 286
Joined: Fri Nov 01, 2002 3:54 pm
Location: Berlin & Nuremberg, Germany
x 1
Contact:

Re: Gettting a multi-mesh 3ds model into Ogre easily

Post by psyclonist »

JeDi wrote:- Use the Octopus exporter from yake. The .3ds scene I was given uses standard materials, which the exporter doesn't seem to recognise (it generates an empty .material file). The .mesh.xml files and the .scene file are fine though (although it doesn't seem able to automatically use the xmlconverter, I've set the path correctly in the config file I think). I was able to successfully export the scene when I converted all the standard materials used in the scene to Ogre materials (provided by the Octopus exporter). The scene seems awfully small though, but that's easily fixed.
scale: Did you try to use the "scale" property in the exporter dialog? Note that it can be overridden on a per mesh basis.

The XMLConverter is called by default. It works if the paths are set up correctly. Are you sure it doesn't get called but fails for some other reason? (Don't use special characters as they get messed up when passed from 3dsmax to the shell.)

-psy
JeDi
Gnome
Posts: 351
Joined: Thu Oct 21, 2004 1:34 pm
Location: Diepenbeek, Belgium
x 3
Contact:

Post by JeDi »

I just found out that a scene in max can be "collapsed" to one mesh. Exporting that using the 3ds max exporter gave me a "out of scripting memory", so I guess exporting as one mesh is out of the question. Well, that wasn't the solution I was going for anyway...

Solutions yet?

Greetz,
JeDi

P.S. I just realized that for a lot of people that read this forum it can be a whole other time of the day. It is 4pm here :D
JeDi
Gnome
Posts: 351
Joined: Thu Oct 21, 2004 1:34 pm
Location: Diepenbeek, Belgium
x 3
Contact:

Post by JeDi »

Did you try to use the "scale" property in the exporter dialog? Note that it can be overridden on a per mesh basis
Yep, I just exported again with the scale set to 20. Much better now, but some meshes don't scale. The meshes that aren't scaled are all "screens" (one quad, or two triangles, not sure). I didn't do the export before, cause the .xml files aren't converted automatically (and I was too lazy to do all 20 or so meshes by hand). I wrote a batch file for that now, so that's no problem anymore.
The XMLConverter is called by default. It works if the paths are set up correctly. Are you sure it doesn't get called but fails for some other reason? (Don't use special characters as they get messed up when passed from 3dsmax to the shell.)
I think the path is set up correctly, but I read in a post on the yake forum that spaces in the path give problems with 3ds max calling commands. That is the case here (Documents and settings\...)

Greetz,
JeDi
User avatar
psyclonist
OGRE Expert User
OGRE Expert User
Posts: 286
Joined: Fri Nov 01, 2002 3:54 pm
Location: Berlin & Nuremberg, Germany
x 1
Contact:

Post by psyclonist »

scaling issues: Try to use the "Reset XForm" modifier on the 'screens' prior to exporting and see if that makes a difference.

xmlconverter: Spaces in paths, right. I remember this issue now. Taking care of it.

scripting memory: Try to increase the scripting memory. It can be done in 3dsmax' options dialog.

-psy
Post Reply