Creating entire level from Maya
by Caitlyn Kloecker · in Artist Corner · 01/19/2007 (3:20 am) · 3 replies
Hi
Sorry if this was already discussed elsewhere on the forum-- I couldn't find a thread specific to this.
I am currently using another game engine, and am considering Torque. Right now we do all our level design entirely within Maya. The levels are exported as a level file full of polymeshes. Entities and their properties, behaviors-- all are set entirely within Maya. A single click of a custom tool on our shelf exports and builds the level, and immediately runs it in our game engine.
Is there anything like this for Torque? I'm aware of Maya2DTS, but not sure if you can design entire levels with it. I do not have the option of using the Torque world editor.
Any ideas if something like this exists?
Thanks!
Caits
Sorry if this was already discussed elsewhere on the forum-- I couldn't find a thread specific to this.
I am currently using another game engine, and am considering Torque. Right now we do all our level design entirely within Maya. The levels are exported as a level file full of polymeshes. Entities and their properties, behaviors-- all are set entirely within Maya. A single click of a custom tool on our shelf exports and builds the level, and immediately runs it in our game engine.
Is there anything like this for Torque? I'm aware of Maya2DTS, but not sure if you can design entire levels with it. I do not have the option of using the Torque world editor.
Any ideas if something like this exists?
Thanks!
Caits
#2
First, thanks a lot for your answer.
Let me explain in more detail how we're doing it now.
It might not be so hairy: the scene is exported from Maya as an obj file. The obj file can contain multiple objects inside it, and retain their names. Each unique object in the obj file has a name in which we embed all our parameters and entity triggers/action names corresponding to code.
Then our level builder tool opens this obj file.
First, it exports all the unique objects inside it to the polymesh format we're using.
Second, it creates a level file in our ASCII readable level format, with each entity object's position, then assigns the actions and parameters to the objects as embedded in their names
Third, it runs the map compiler tool, which works stand-alone, and presto. We launch the level into the engine.
It's not BSP or Octree, though, it's just polymeshes and uses polymesh collision.
If TGE level files are ASCII based, or can be generated somehow outside of Torque, and the level compiler (if there is such a thing) could be run externally, then...? Do you know if the levels are ascii based, and if the level compiler can be launched by other apps? (if there is such a thing as a torque level compiler)
Broken down into these steps, think it could be reasonable?
thanks again for your feedback!
Caits
01/19/2007 (10:51 am)
Hi David,First, thanks a lot for your answer.
Let me explain in more detail how we're doing it now.
It might not be so hairy: the scene is exported from Maya as an obj file. The obj file can contain multiple objects inside it, and retain their names. Each unique object in the obj file has a name in which we embed all our parameters and entity triggers/action names corresponding to code.
Then our level builder tool opens this obj file.
First, it exports all the unique objects inside it to the polymesh format we're using.
Second, it creates a level file in our ASCII readable level format, with each entity object's position, then assigns the actions and parameters to the objects as embedded in their names
Third, it runs the map compiler tool, which works stand-alone, and presto. We launch the level into the engine.
It's not BSP or Octree, though, it's just polymeshes and uses polymesh collision.
If TGE level files are ASCII based, or can be generated somehow outside of Torque, and the level compiler (if there is such a thing) could be run externally, then...? Do you know if the levels are ascii based, and if the level compiler can be launched by other apps? (if there is such a thing as a torque level compiler)
Broken down into these steps, think it could be reasonable?
thanks again for your feedback!
Caits
#3
Here's part of the reason. Torque has a couple of different pieces for "levels" or missions: terrains, DTS objects, DIF objects (called interiors in Torque-lingo). To export an entire level from Maya, you would need to export the base geometry and location information to a valid mission file (ASCII). The mission file contains references to your terrain data, DTS objects (polysoup), and DIF objects (BSP structures). This is for object placement. On top of that, you would need to add in paths and triggers and such according to the data you export. This is all the easy step since it is just about loading things into the engine. But because it is the easy step does not mean that it is trivial. The terrain is a heightmap, so what you label terrain in Maya would have to be exported to a heightmap. The DTS objects are exported using Maya2DTS, so you could automate that process. Since DTS shapes are, by default, bounding box collisions, you would have to implement and strongly test the polysoup collision scheme that Ben released for TGEA under TGE. You would also need to write in a culling algorithm for DTS objects since they do not have the same portaled benefits out of the box as DIF's. DIF's are compiled map files, but since they are CSG specific,, they rub modelers in traditional polysoup packages the wrong way. If you're looking for yout tool programmer to create a one-click poly system, then DIF's are not the way to go if you are using Maya. Map files are ASCII based, though DIF's are not.
What engine are you using right now? It sounds like your tool guys have put in some time to create a great workflow.
01/19/2007 (1:02 pm)
It would be a rather massive tool project.Here's part of the reason. Torque has a couple of different pieces for "levels" or missions: terrains, DTS objects, DIF objects (called interiors in Torque-lingo). To export an entire level from Maya, you would need to export the base geometry and location information to a valid mission file (ASCII). The mission file contains references to your terrain data, DTS objects (polysoup), and DIF objects (BSP structures). This is for object placement. On top of that, you would need to add in paths and triggers and such according to the data you export. This is all the easy step since it is just about loading things into the engine. But because it is the easy step does not mean that it is trivial. The terrain is a heightmap, so what you label terrain in Maya would have to be exported to a heightmap. The DTS objects are exported using Maya2DTS, so you could automate that process. Since DTS shapes are, by default, bounding box collisions, you would have to implement and strongly test the polysoup collision scheme that Ben released for TGEA under TGE. You would also need to write in a culling algorithm for DTS objects since they do not have the same portaled benefits out of the box as DIF's. DIF's are compiled map files, but since they are CSG specific,, they rub modelers in traditional polysoup packages the wrong way. If you're looking for yout tool programmer to create a one-click poly system, then DIF's are not the way to go if you are using Maya. Map files are ASCII based, though DIF's are not.
What engine are you using right now? It sounds like your tool guys have put in some time to create a great workflow.
Associate David Montgomery-Blake
David MontgomeryBlake
It would be one that I think would be a great boon to the Torque community (especially the TGE/Maya community), but I also know that I wouldn't want to be the tool programmer on that job.