Hello Folks,
After a lot of hard testing, trials, errors, and headaches

, i think i found a way to export a level made in any 3D Program to FPSC.
Off course, with the help of Rolfy and Uman, their tips, i think now is possible to have a "perfectly" (i mean playable) level made entirely in a 3D Sotware in FPSC.
What is the point on creating a level entirely in a 3D software instead of just creating it in FPSC?
First of all, is completely possible create a WONDERFULL level in FPSC, take a look a E.L.E (both the old and the new version). Take a look of some of the Best of the Bests FPSC Games. Take a look at Into the Dark (from Ertlov), and such.
However, as i came from the 3D Market (Advertising), i am more habituated to working in a 3D Software (3dsmax), and i think it has yet some advantages, like those:
* You have more freedom to working in a 3D space by changing the camera view (you are not limited to a top view)
* You have more control on position the objects, moving, rotating, scaling
* I think is easier having a level made of entities exported from a 3D package, than having to create segments for FPSC, which is a tedious process. Slicing it in the exact size of a segment, aligning it in the Segment Editor, and other difficulties, which are witnessed by more experienced members here like Rolfy himself told me
* This technique of making a level inside a 3D software is better suited if you want to have baked shadows, because you can achieve more impressive results using lighting plugins like VRAY (which is avaible to Google Sketchup) and even then you can overcome the Memory Cap problem. I am not saying that is not possible to have a good lighting using FPSC Dark Lights Lightmapper
* If you search on youtube some making off from famous games, you will see that the a big part of studios, even when using those Advanced Engines like Unreal Engine, Crysis Engine, they design the level environment insise a 3D Package (like 3dsmax, Maya, Softimage XSI, and such. I recommend those aspiring to become Game Developers, even by fun (not comercially), to always take a look of those making offs, it will make you gain more knowledge. In example, the last making off i have seen was from Assassins Creed III. I have seen that Ubisoft developed an in-house engine called Anvil Next Engine (so good as Unreal Engine). But they said clearly that all the levels environment were created in 3dsmax. Also the game Metal Gear Solid 4 (PS3), which uses a in-house engine developed by Konami, which also has some cool features like Global Illumination, Dynamic Shaders, and such, all the levels were designed inside Softimage XSI then exported to their engine.
So, after this long introduction, i will like to share some tips on how to do this, because i love to share knowledge, even if is something little, maye some people may benefit of this mini-tutorial. As soon as i have time, i will elaborate a more complete tutorial with photos.
1- First of all, you need to adjust your 3D software to FPSC units. It may vary from software to software, however the real life size of a segment is 8.33ft or 2.54 metres squared. For 3dsmax my units setup is set to US Standard Feet w/Fractional inches 1/1 Default Units Feet. So after setting up those units, i have tested and seen that one segment (one floor piece, in example), inside 3dsmax, has the exact size of 100'00" x 100'00" x 1'00". so i have created a box in this size, then exported to FPSC, and it matches perfectly the size of a segment. Inside fpsc this box fits perfectly inside one grid unit of the FPSC map editor. So, as the editor is 40x40, so we need 80 pieces of this segment to fit the entire map editor grid. So i also adapted my 3dsmax grid to Grid Spacing: 100'00", Major lines every Nth Grid Line: 10, and Perspective View Grid Extent: 20. Now it means that i have inside my 3dsmax the same size of FPSC Map editor. You can do this with any software (Blender, Maya, Lightwave, and such). Just is important to test it extensively and see if one segment made inside the 3d software is in the same size of a segment inside FPSC.
2- Now you model your level normally, create what you want, the way you want. Model houses, buildings, trees, and such. You can even have multi-floor levels, is not a problem. But is important that when you model your level you need to separate the level geometry (walls, floor, buildings) from the level props (trees, cars, light bulbs, and such).
3- When texturing your level, use a bump channel in the materials, because this way we can simulate almost perfectly the normal map effect without need to use a shader in FPSC.
4- Now after having your level modeled and textured, it's time to add some lighting. I recomend that you search for a lighting plugin for the software you use and don't bee confined to the software's default lighting system. Also bear in mind that you need to search a good plugin for baking textures. I have found in the web a awesome plugin for Blender uses, that does the samething as Flatiron (the plugin which i use) does for 3dsmax (baking textures).
This is the link: http://blenderartists.org/forum/showthread.php?265750-TextureAtlas-create-LightMaps-ShadowMaps-for-entire-scene
I did not test this plugin, however you need to understand that for fpsc, the UVW Map channel of the texture (baked texture) of the exported object (*.x file) must be set to 1, otherwise, you will get blank textures inside FPSC.
5- So after you have your beautifull level ready (model, texture, and lights), is now time to export for FPSC and here comes the main core of this mini-tutorial.
6- First of all, fill the entire fpsc map editor (40x40) with a floor segment with total black texture (invisible floor)
7- Second, you need to export the entire level object as one single mesh and import it in FPSC. You need to make it a dynamic entity (we will be using only dynamic entities), with no physics, immobile and you must edit it's appear script to add a "coloff" command to this entity, because we will be using it as a reference model to align all the parts of your level. So before exporting the entire level, adjust it`s pivot to the origin of the grid (0,0,0) and export it as directx file. And inside FPSC, you just need to insert this entity (using "B" key to snap) in the coordinates X:19 and Z:19.
8- Now come back to your 3D software and begin to "slice" (break) your level. In example, separate the walls in various pieces (not too much), separate the doors, the windows, and such. But now comes a important tip, is that your pieces must be only in one direction in the 3d space. In example, if you have a wall in the "L" format, you must break it into two perpendicular pieces the "|" and the "_" this way:
|
|
|
|
|_ _ _ _ _ _ _
Original wall
|
|
|
|
|
First piece
_ _ _ _ _ _ _
Second piece
This is because we will be using only box collision for those entities, and they must be set to dynamic entities (to use multiple textures) and also because FPSC does not cull static entities, except if they are surrounded by wall Segments (not entities). And trying to enclose the entire level with invisible walls segments, would add more polygons to the level, and would not be efficient. Also, i tested, FPSC Culling system culls perfectly dynamic entities that are outside the view of the player, while for static entities, it does not culls at all (only if surrounded by walls).
7- This will give you a lot of work, however, i think the results are worth trying (especially in my case because i am using VRay to have photorealistic visuals).
9- Now inside your 3D Software, you need save this level like mylevel_export (to don`t lose the original level). Now you will export each piece that you have broken from your level (door, wall, windows, pillars, and such), one by one. But before exporting, you need to place this object in the origin (0,0,0) and also adjust it`s pivot to be centered to the object, then export it.
If you export the object without centering it`s pivot, it will lose the collision, because the center of mass of the entity wil not be centered on itself, so this will not work.
10- Now come back to FPSC, and place this piece in the map, but how you will know the correct place? Simple, we have our entire level already in FPSC, so you just place this piece above it`s own place in the entire level object that is already in FPSC. Do it for all the pieces, and after you placed your pieces, just delete the entire level object! Now is finished!
11- But just to remember, the level pieces must be a dynamic entity (we will be using only dynamic entities), with no physics, immobile and the collision must be set to box.
12- Now the trick is that the floor must be like the entire level object (with no collision), because it will have an underneath floor below it, so the characters will walk perfectly above this fake floor (which need to be flat).
13- And if you have a multi floor level, yes, you can make your characters walk in the second floor, above your level pieces, which will be dynamic entities. Just take a look at this tutorial from our friend Rolfy:
http://forum.thegamecreators.com/?m=forum_view&t=197834&b=21
As for the player, it can walk normally above any entity (dynamic and static).
14- It`s all folks, hope you liked it.












Goldenye 007 N64