Can you make a whole hl2 map in a 3d modeling package?

Gray Fox

Newbie
Joined
Aug 22, 2004
Messages
6,568
Reaction score
1
This is a curiosity question, could I make a whole map in 3dsmax, import in hammer, assign what things are brushes, what are entities and all those other silly things, then compile it and play it in hl2.
If it can be done, why isn't it done so often. Cause 3dsmax give's you a lot more freedom. Is it to innefficient, actually harder. Are there cases when it is easier.
 
I don't think you can, the source engine is BSP based, I dunno.
 
hungryduck said:
I don't think you can, the source engine is BSP based, I dunno.
But aren't those bsp's made when compiled. I mean you can make brushes in max and you can make enteties, and those are the things that a map is made off. Or do you also need to make some collision detection an what not.
 
pretty sure you can, though I don't know how efficient it would be
 
You can.
But why would you? I'd say make the ruff parts in .bsp (hammer) if you really want to. Then create all the textures you want, compile them, add them to the .bsp. Export the whole map from hammer to .dxf, import in 3Dsmax (or whatever) and then model the details you want to on them. But making a whole map in 3D would not be wise for many reasons. 1 being visleafs wont work I think.
 
It can be done. But it is very seldom, if ever.

The main reason is as follows:
The basic brushes in your map (that is to say, all that have not been made an entity or anything else) are used to make so called VIs leafs and suchlike. These are made in the compile during the whole VIS process. These leafs are used to determine what the engine should render and work with as the player moves around the map. The point for this is simple, to keep the engine to work with only relevant information.

Props and other things do NOT block vis as it is called. This means that they are simply ignored in the VIS process. SO if you'd make a map in 3d studio max and add it all to hammer then there would be no VIS information at all which would mean that the engine would render EVERY SINGLE PART OF YOUR MAP, ALWAYS. This is bad. This also happens when your map leaks and is also the main reason why maps should be sealed up.

There is a way that you could work around this, ofcourse, but it's a truckload of work. But I'll give it to you anyway. The thing you have to do is to compile your map made in 3D Max or whatever into smaller sections such as one room or smaller for each bit. Then place these in hammer and build the main structures (walls, ceilings, floors, sky etc) AGAIN with Nodraw textures. The Nodraw brushes will then be used to create the vis leafs that you need and the models will be what you see.

A ton of work it is. And the physics and stuff would still be messed up. If you want to have that working properly you'd need even smaller bits exported from your modeling program.

Atleast that is how I understand things.

Now you may choose how you want to do it :p

//Unarmed
 
You'd need a heck load of physics hulls, or it would be just silly. That style of mapping is more suited to a portal engine such as UT.
 
Cool, thnx for all the anwsers. So what is an portal engine.
 
Grey Fox said:
Cool, thnx for all the anwsers. So what is an portal engine.

It's hard to explain just like explaining bsp systems is hard. If you've seen UT2k4/7 you've probably noticed most of the architecture is done by models.
 
Lets just say thats its a different engine. A different way of handeling things. With its good sides and its bad sides, ofcourse. Just like any other engine.
 
A lot of people seem to like unreal editor more then hammer.
 
I have no personal knowledge or experience with that editor..

But yeah, I guess so and seeing that most rainbow six games and whatnot are basically mods of UT it must be good.
 
Source engine doesn't light static meshes very well. The lighting of meshes would look far, far worse than a BSP surface, because the lighting info would travel down each individual polygon. Only engines with per-pixel lighting (lights with dynamic shadows) like Doom3 and UnrealEngine3 would light meshes properly, because the lighting information is not permanently baked onto the surface of the object.

In Source or Unreal Engine 2 for example, on a BSP floor, you can have shadows casting across it, and nice lighting info... if not a little blocky.

But a floor made in a graphics program would not have the same lighting or shadows, because the lighting information is baked into each individual polygon. It's not evenly distributed... so, if you wanted a smoothly lit floor or wall, it would have to have tons and tons of polygons laid out in a perfect grid (each polygon in the grid would then receive it's own lighting info, smoothening it out).

To understand how lighting/shadows work on Mesh surfaces (as opposed to BSP surfaces) look at this doc I made for UnrealTournament 2004, which is very similar to Source in the way it handles meshes and BSP.

http://www.deefrag.com/files/Unreal/Umeshes.zip

You can do what you're thinking, in Source, but you have to be aware that large, flat surfaces will have bad lighting (unless you heavily subdivide them)... but you can (and probably should) easily, easily make these surfaces BSP. A space-station type map (like every other map in UT2004) with little or no large surfaces, would be just fine... but a wide-open map would need BSP wherever you have flat walls and floors, etc. Also be aware that the framerate will struggle if too much is visible at once. You'll NEED to have BSP zones and sections, so that only certain "zones" in your map are active at one time. Also, using Occluders will help greatly, by deactivating any meshes behind them, that don't need to be visible.

I would say, depending on what you're trying to do, it's very, very doable, as long as you allow yourself to use BSP wherever neccessary. Look at UT2004 Deathmatch maps to see how they do it.

You could even create custom lightmaps for each mesh (to FAKE the appearance of BSP-style lighting), like in the UT2004 map DM-Gestalt (which is 100% mesh), but that method takes forever, still doesn't look as good as BSP, and is a struggle. Gestalt took a long time to make, even though in essence it appears very simple and straightforward.
 
you could make a map with a skybox and all the brushes asigned with nodraw texture and make all interior out of props, using nodraw brushes as collision object's. or you could make, lets say one of the barrels or crates in a room a new convex hull (an element with a different ID group in max). with the map made out of brushes youll have visleafs rendering visible props. it sounds like rocket science but it isnt. so you would have to make a simple geometrie in hammer for the visleafs but yes, its possible.

-dodo
 
The best way is still with brushes for the map and models for the details.
 
Back
Top