Is there any exporter for 3ds to .ter
by Richard Holmes · in Artist Corner · 08/07/2008 (5:53 am) · 9 replies
How can I create a .ter file using 3ds? All the models i use, including terrain, roads, buildings, bridges are made using 3ds. For the objects i use an exporter, but what can i do about the terrain? I think I've looked everywhere...
Cheers
Cheers
#2
I think L3DT might export as a .ter file ... but AFAIR these files are internal to Terragen and not really a 3DS type object.
I stand corrected ... but this is how I do it. :)
EDIT: Correction - thanks Nathan.
08/07/2008 (6:34 am)
You can't create terrain from 3DS. You need to make a heightmap and load that into the Mission editor ... that then will generate the Terrain file for you.I think L3DT might export as a .ter file ... but AFAIR these files are internal to Terragen and not really a 3DS type object.
I stand corrected ... but this is how I do it. :)
EDIT: Correction - thanks Nathan.
#3
08/07/2008 (7:15 am)
L3DT can export .ter files, but those are Tarragen's (I think) format, not Torque's.
#4
's implementation of a terrain file format specific to their application. Don't get confused thinking that there is a standard .ter definition that works in all instances.
08/07/2008 (7:44 am)
Yes, I should note that I was talking about Torque terrain files, not
#5
There really is no other way to get terrain data out of Max and into Torque, but to be perfectly honest that's probably a good thing. Manipulating your terrain solely in a 3rd party tool outside of the game engine (real-time) is an assininely retarded workflow, so don't be upset that this option isn't available to you.
08/07/2008 (7:46 am)
I typically use 3DS Max to build my first pass at the terrain. Its a relatively easy process involving a 100x100 plane, some splines that are the outlines of the hills, rivers, etc. and the shapemerge tool in Max. After that it's a simple matter of vertex and polygonal manipulation and then lastly exporting the data into a heightmap. To my estimation this workflow saves a good number of hours in the mission creation workflow (TGE and TGEA... Atlas is crap).There really is no other way to get terrain data out of Max and into Torque, but to be perfectly honest that's probably a good thing. Manipulating your terrain solely in a 3rd party tool outside of the game engine (real-time) is an assininely retarded workflow, so don't be upset that this option isn't available to you.
#6
1) create a heightmap, like myTerrain.png based upon the 3ds shape.
2) load the heightmap into the mission editor using Import Terraform Data...btw why don't i get to browse files?
3) the terrain will be generated
4) i will add a bunch of objects like buildings using new TSStatic() in myMission.mis
the shapes i need to add must be in the /TGEDemoAdvanced/game/.../shapes directory?
5) post yet 2 new noob questions :D : wouldn't it be easier just to add the terrain as a dts shape? What will happen if I'll have a 200k poly object that represents the whole map?
(my apologies if the questions sound dumb)
thanks guys
08/08/2008 (12:38 am)
So this is what i have to do:1) create a heightmap, like myTerrain.png based upon the 3ds shape.
2) load the heightmap into the mission editor using Import Terraform Data...btw why don't i get to browse files?
3) the terrain will be generated
4) i will add a bunch of objects like buildings using new TSStatic() in myMission.mis
the shapes i need to add must be in the /TGEDemoAdvanced/game/.../shapes directory?
5) post yet 2 new noob questions :D : wouldn't it be easier just to add the terrain as a dts shape? What will happen if I'll have a 200k poly object that represents the whole map?
(my apologies if the questions sound dumb)
thanks guys
#7
a) Create a grid, subdivide and let lose on it. Sculpt, model, paint, etc.
b) Set up a top-down camera view with orthogonal projection and dimensions that exactly fit the grid. Center the camera to the grid.
c) Render out, save the depth buffer, invert it, and use it as your heightmap (may need some scaling/clamping postwork).
By modifying render settings, this workflow should be usable to create lightmaps and texture maps, too, while taking full advantage of the package's features. By using the renderer's displacement features, you can also quite nicely combine this with the output of a terrain generator.
@Richard
Yes, as far as creating terrains goes, this would be far easier.
Doing terrain in pure-polys without distance LOD is quite feasible up to a certain point where resource consumption by the terrain simply chokes the system. With a game engine (where's there's more on screen than just terrain) and a 200k mesh, you'd probably be running into this problem. There's other issues that tie into this like collision detection. Also, I don't know what the poly-limit for the DTS format is.
08/08/2008 (3:28 am)
On a general note, if you want to build a heightmap-based terrain in a 3D package, one way that should work in most packages is toa) Create a grid, subdivide and let lose on it. Sculpt, model, paint, etc.
b) Set up a top-down camera view with orthogonal projection and dimensions that exactly fit the grid. Center the camera to the grid.
c) Render out, save the depth buffer, invert it, and use it as your heightmap (may need some scaling/clamping postwork).
By modifying render settings, this workflow should be usable to create lightmaps and texture maps, too, while taking full advantage of the package's features. By using the renderer's displacement features, you can also quite nicely combine this with the output of a terrain generator.
@Richard
Quote:wouldn't it be easier just to add the terrain as a dts shape?
Yes, as far as creating terrains goes, this would be far easier.
Quote:What will happen if I'll have a 200k poly object that represents the whole map?
Doing terrain in pure-polys without distance LOD is quite feasible up to a certain point where resource consumption by the terrain simply chokes the system. With a game engine (where's there's more on screen than just terrain) and a 200k mesh, you'd probably be running into this problem. There's other issues that tie into this like collision detection. Also, I don't know what the poly-limit for the DTS format is.
#8
Its about 14k per sub-mesh in the DTS file. So if you wanted a 200k terrain one would have to have about 15 sub-meshes that together collectively make up the terrain one wanted to use. I know of a team that did this with a XBLA title because there simply was no other viable solution (they handled the collision with PhysX).
Also when doing the top-down render of a terrain in the 3D application for use as a heightmap, it is important to note that you should eliminate all lighting on the object you are rendering (in Max one would use a self-illumination on the map cranked up to 100%). This will prevent shadows from messing up the heightmap data. And of course one will need to apply a gradient to the mesh to properly display the white to black values of the terrain mesh :)
08/08/2008 (9:24 am)
@ReneIts about 14k per sub-mesh in the DTS file. So if you wanted a 200k terrain one would have to have about 15 sub-meshes that together collectively make up the terrain one wanted to use. I know of a team that did this with a XBLA title because there simply was no other viable solution (they handled the collision with PhysX).
Also when doing the top-down render of a terrain in the 3D application for use as a heightmap, it is important to note that you should eliminate all lighting on the object you are rendering (in Max one would use a self-illumination on the map cranked up to 100%). This will prevent shadows from messing up the heightmap data. And of course one will need to apply a gradient to the mesh to properly display the white to black values of the terrain mesh :)
#9
Actually, I meant using the depth buffer not the color data, so lighting and coloring won't matter at all. If you render from below, you can even save on the invert step.
08/08/2008 (10:49 am)
@LoganActually, I meant using the depth buffer not the color data, so lighting and coloring won't matter at all. If you render from below, you can even save on the invert step.
Employee David Montgomery-Blake
David MontgomeryBlake