LOVE that creation process break down. The wireframe texture was a cool idea. Might borrow that in the future...
I especially liked the presentation by Kevin Cytatzky, it can be seen at http://www.3dbuzz.com/vbforum/show...
Word. An interesting presentation for sure. Like it.
Are There Any
in-depth tutorials around the net on working with UE3 editor? I keep getting creative urges to make something in a UE3 game but I keep hitting snags on the editor.
Also, are they any "you really need to learn this shit" things with the engine? Or general design principals?
For instance, I heard that making the room/hallway bsp work slightly larger than what you actually need is a good idea filling the area with meshes takes some room away from the area. Stuff like that :)
There are some videos on vimeo I could link you to. I think 3DBuzz has UE3 tutorial videos but I can't find them (didn't really look too hard though.)
It's really simple once you get the hang of it.
Daz - Some UT3 Mapping Links
The guy's map that Jago posted in the topic was easily the best in the contest and it'll probably win, although I think it's kinda unfair he was allowed to enter it because he said he'd already put like 2 months of work into it when the contest started whereas most other people had less than a month.
I really did enjoy the work I did on my map though because I hadn't mapped for pleasure for a while and it was fun to dive in and learn UT3 editing :)
"For instance, I heard that making the room/hallway bsp work slightly larger than what you actually need is a good idea filling the area with meshes takes some room away from the area. Stuff like that :) "
What we did with UT3 was a little different. In the editor, you can right click on additive brushes and turn them into blocking volumes (I believe that shipped in the UT3 editor - if it didn't, you can fake it easily enough by copying the polygons to the builder brush, deleting the old brush, and adding a new blocking volume). So with that in mind, we shelled the levels with mostly additive brushes and then just converted those to blocking volumes and tried to restrict the meshing to stay inside of those volumes. Sort of a "color inside the lines" style of meshing. It worked really well because then the meshes don't need to collide with players and gives a nice performance bump as well.
So my advice :shell your level with additive BSP. It saves time later.
I didn't really understand what you said and to be honest, I am a bit confused about additive/substractive mapping methods. The way I am making my current map is:
1) Created a new map, picking "Additive" from the menu.
2) Added a rather large brush to the world, which will probably cover the entire map area.
3) Substracted a few brushes out of the previously added huge brush to make some rooms
4) Started throwing some meshes into the rooms.
Am I doing this right?
What are blocking volumes and why does using them mean meshes don't have to collide with players?
They're equivalent to clip brushes and you'd want to use them to shell out the level because the meshes themselves might have weird bounding boxes or mesh collision which obviously isn't ideal when you're trying to keep your layout clean.
So how does having a clip brush behind a mesh make it so that meshes don't have to collide with players?
The mesh is "behind" the clip brush.
Think of it like this. Take a typical Quake DM level from 97-98 -- that's your collision shell. Now pretend it's all invisible but in the place of flat walls there are now elaborate detailed meshes. The layout is still a fun deathmatch layout because you're not factoring in realistic collision on the meshes. If you did it would be a shitty unplayable mess.
Because you can set the collision on the mesh to be "weapons only". That way bullets will hit them but players will not.
Ideally, what you want is for most (if not all) meshes to collide with bullets and to use blocking volumes (or BSP) for player collision. That way people can move around smoothly but their weapon collision is visually accurate.
And as for your method ... we never use "additive" here at Epic. We always start creating with additive brushes. If you create a huge brush and then subtract rooms out of it, you're hurting yourself when it comes time to add a huge skydome to the level or anything else that represents large scenery outside.
All of Gears of War and UT3 was built using additive brushes in a clean world.
Big World Brush Vs Small World Brushes
One thing I've been curious about is this:
When you are doing a map using the Additive method, should you be:
1) Adding a huge brush that will cover the entire map area and then substract room outlines from it or
2) Should you have an additive brush for every single room and then use slightly smaller brushes for each room to substract from the additive room brushes, like shown in a tutorial at http://waylon-art.com/LearningUnreal/UE3-03B-CSG.htm
The first method is much more trivial and that is what I use, but does it have any downsides compared to method #2?
The buildings in your map have structurally very unrealistic bits.
Take look here
There is a recess in the building with some rocks. The part above the recess is held up with extremely thin necks of bricks from the left and right sides. That is not realistic at all.
If the hole was a little narrower so there could be support on the side arches it would be better.
The lights kinda light "around the bend" too. A common problem already in quake. :/ If you have a light fixture with a shade pointing forwards, the wall behind it should not be lighted by it.
Otherwise looks quite nicely atmospheric to me.
You're thinking in terms of UE2 technology. I think that's the core issue here.
Unreal has changed in UE3. You really should build like you build in Quake. The world is empty - and you add to it. We generally end up with very little BSP remaining at the end of a maps development. Load up any UT3 map and turn off the static meshes (in the game, type "show staticmeshes"). What you see remaining is the minimal BSP.
Try to get comfortable with creating levels using a Quake mentality of adding everything. It makes meshing the level later WAY easier because all you have to do is convert your brushes to blocking volumes.
That's basically what the guy in the topic did: http://www.3dbuzz.com/vbforum/forumdisplay.php?f=305
He build the BSP shell and then used that BSP as a basis for placing meshes.
I guses something else to keep in mind which may be tripping you up is this - Unreal levels don't need to be sealed. You can have a simple floor BSP brush that you build on top of with meshes and blocking volumes. Unreal doesn't have a rule about airtight BSP or anything like that. There's no VIS process that needs to run here.
More On Blocking Volumes
I still don't get how the blocking volumes are supposed to end-up "in front" of the meshes acting as their clipping boundaries. If we use the map shown at http://www.3dbuzz.com/vbforum/showthread.php?t=167198
as an example:
The guy added a bunch of brushes to the empty world to make the basic map layout. Then he started adding meshes. Quite obviously the meshes are placed INSIDE the boundaries of the map layout, otherwise he would just end-up with meshes stuck inside solid walls. Now, towards the end of the map development process, you convert the initial additive bsp layout brushes into blocking volumes, okay... but at what point do they magically jump from being walls BEHIND the meshes to being IN FRONT of them acting as their clipping boundaries?
As I said, you can convert the additive brushes to blocking volumes. I'm not 100% sure if this shipped or not but trying right clicking an additive brush. Do you see a "Convert to blocking volume" menu option there somewhere? If so, that's how.
Otherwise you need to:
- right click the brush
- choose "Polygons -> To Brush"
- delete the brush
- right click the volume button on the left side of the editor and choose "BlockingVolume"
Blocking volumes are invisible, odorless and tasteless. They will collide exactly the same way that the BSP did but you can't see them. So if the player is running over a blocking volume floor that has static meshes inside of it that don't have collision, the visual result is that they are running on top of the meshes.
Granted, none of this REQUIRED - this is just how we tend to do it around here. Feel free to leave the floor as BSP or have the player run on the meshes themselves. We just find that colliding the player with a nice smooth skin of blocking volumes is best for gameplay because you don't get snagged in weird spots or corners or edges.
That Doesn't Explain
How the brush jumps from being behind a mesh to being in a blocking volume front of it, let me try to visualise, imagine looking at a room from a side view. At first you build a map like this:
| BSPwall | Mesh | Room
Now how exactly does that turn into this:
| Mesh | BlockingVolume | Room
Nothing jumps anywhere. The blocking volume is invisible so whatever meshes you've placed inside or behind it or in front of it are visible.
OK, for example ... let's say while creating your level you want a pillar to be in the middle of the room so you throw a BSP block there to represent where you want the pillar.
Later on, you decide it's time to mesh the level. At that point, you convert the BSP brush to a blocking volume. You then place the static mesh you want to use inside of that blocking volume and turn it's collision off. Now you have the exact same collision as before, but now there's a static mesh pillar instead of a BSP block.
Meshes don't have any real relation to the volumes. It's just wherever you happen to place them. You can have an entire level made of blocking volumes if you want to. The players will be running around in a weird empty void with collision.
If you look closely, 90% of the meshes are behind the grid texture, the parts that do stick out slightly wont be noticeable that the player clips through them.
Im sure there a few special cases where the SM's do need collision enabled but for the most part the blocking volume method seems very solid.
Thanks for all the comments all. I had started a map with subtractive editing mode but it will be a lot easier remaking it with additive brushes! Some great tips here.
Any quick and dirty tips for lighting we should know about?
"How the brush jumps from being behind a mesh to being in a blocking volume front of it, let me try to visualise, imagine looking at a room from a side view. "
Hang on, I think I see the disconnect. We don't mesh on TOP of the blocking volumes, we mesh INSIDE of them. The BSP and BlockingVolumes occupy the exact same locations.
I'm Pondering The Same As Jago
and haven't seen an answer yet.
Build world from 3d brushes like in quake.
This world has an empty inner space.
Now put meshes in that empty inner space. They are not inside the brushes but in the inner space.
Now, the world brushes clearly can't help in clipping whatever options you click on them since they are behind the meshes. They are further from the player than the meshes.
Ah Willem Responded
so you put the meshes inside the wall brushes.
Well, lighting is an art in itself. Start off with a basic skylight for ambience and maybe some directional lights to represent the sun.
Now add some bounce lights - these are just normal lights that are dim and colored to match the surrounding meshes. They give you a basic radisoity effect. To place them, hold CONTROL and L down while clicking on something in the level. A light will get added that matches the color of what you clicked on. Move it into a good position and edit the properties - I generally lighten up the color slightly and crank the brightness to at least 0.5 and often I just go to 1.0.
Once you've done this your level should be basically lit with natural light. Now go through and put lights on your various sources (lamps, fires, etc). A good idea here is to use 2 lights - add 1 that is pretty bright but with a small radius, and a second one that is dimmer but has a larger radius to give you a fall off effect.
That should get you 90% of the way there.
"so you put the meshes inside the wall brushes."
Right. Forget about inner and outer spaces - Unreal doesn't have that concept anymore. There are no leaks or voids. Meshes can go anywhere you want them to.
Right, I Get It Now
but now that I do, I see that as a rather cumbersome approach. Basically, you need to have the entire map layout as well as scale pretty much narrowed down before you can start adding meshes. It seems much easier and natural to use BSP to narrow down layout of a single room, throw in a few meshes on the "inside" of that BSP layout, proceed to add a few more rooms, add some more meshes, go back, readjust, repeat ad nauseum.
This gives you quick and visual results regarding where your overall scale and map theme are going and at least for me, helps me keep my focus and ideas keep flowing in my head.
I guess it could be possible to combine both approches: first design a map the way I am used to, then when the map is near finished, go through the entire map deleting the "outer edge" BSP brushes, turning off mesh player collision and adding blocking volumes where needed.
What are the perfomance ramifications of these different approaches btw? Does UE3 render BSP that is completely hidden behind a mesh? Is mesh-based collision detection very CPU-expensive compared to blocking volumes?
"Does UE3 render BSP that is completely hidden behind a mesh?"
Yes. The best you can do is turn off the lighting on the BSP surfaces that are hidden so at least you aren't eating lightmap space.
"Is mesh-based collision detection very CPU-expensive compared to blocking volumes?"
It depends on the mesh. A complicated mesh with multiple collision hulls will be slower than a simple blocking volume.
At any rate, the best way to learn is to try. I'm telling you the conclusions that we've arrived at after years of trial and error - but what works best for us might not be best for you. So give multiple methods a shot and build small rooms using those methods. Whichever way you feel most comfortable with will become clear.
And with DM maps, you don't have to worry too much. The engine can brute force a lot of stuff through the video card and CPU before it becomes an actual performance problem.
If you're going to start making large warfare or vctf levels, you'll need to start paying careful attention to what methods you employ.
BWT, if you're having trouble visualizing the blocking volumes turn on the button on the toolbar that looks like a red box with a line through it. That will make any selected blocking volume (as well as the builder brush) draw it's polygons with a translucent material. That lets you see exactly where they intersect the world.
I find it pretty interesting that UE3 uses an empty world (like Quake) where as UE1 and UE2 had that solid stuff. Is there some interesting technical explanation (maybe already written and available online)? I remember toying around with the editor in UT back then and it was so much easier than Quake's Evil Void Leaks (well, as an amateur at least).
Various technical reasons. Also so we could use huge meshes off in the distance as sky boxes. Most skies in UT3 and Gears are huge skydome meshes.
Among the technical reasons were streaming complications, ease of world building, etc.
Different tech, different limitations, you know...
I guess one of the big reasons was that there's no penalty for seeing the void anymore - because there is no "void". I think that was the single significant reason. So the entire world space is open to the level designer to do with as he pleases.
Lighting On Additive BSP Brushes
I decided to have a go at remaking what I've made so far in my UT3 map using the Quake'ish approach of purely adding brushes to empty space. First note: damn, I need a lot more brushes this way. Second note: why does lighting in places where 2 additive brushes meet each other look so horrendously shit?
If you have 1 large brush with a large shadow on it, it looks ok, but if you split the brush in 2, the "seam" where these 2 brushes meet will have absolutely craptastic lighting. Why is this and what can I do about it?
There's nothing you can do about it, sadly. Either make it one smooth surface or replace it with static meshes (lay a trim mesh over itm for example). It sucks and we've bitched about it here but the coders don't have a solution yet.
Heh yeah...realism is not really a strong point of mine and those are definitely good observations. I was on a tight schedule so I didn't have a lot of time to 2nd guess or redo things which is probably why I won't release that map publicly until I can give it proper love.
Thanks For All The Tips
I am now on my way creating a ut3 map :)
I must say once you learn the basics its extremely fun to work with the engine, still having some issues with lighting, for instance, directional lights dont seem to actually light anything, which is a bit odd, and I cant find a solution at the moment, so I've resorted to using large AOE spotlights, not a pretty solution but it works for the time being.
Thanks for all the help!
Directional lights need to be able to reach whatever you want them to light. A room with no windows will receive no light. Also make sure that stuff like your sky dome isn't set to cast shadows.
DaZ go finish your base map please! then u can go make your ut3 map :p