Download exampleSeamless level transitions are something very cool and versatile. They allow you to break up your level into several different parts, thus reducing the size of you level if it were a single .bsp. We'll be talking about two different entities in this tutorial and they are as follows:
trigger_changelevel,
info_landmark, and
trigger_transition.
Simple Level Transitions
To create a simple level transition, all you need is the
trigger_changelevel entity. The
trigger_changelevel entity is another brush based entity so create the brush, and then tie it to
trigger_changelevel. Now go into it's properties, which are pretty self-explanatory, but the main one we're concerned with is
new map name. For this type in the name of your map so if it were nixon.bsp, you would type in nixon.
Seamless Level Transitions
The most common type of level transition in Half-Life is the Seamless Level Transition. To do this we'll need another entity, the
info_landmark. You also need an area in the two maps that is exactly the same. Ok now place the
info_landmark entity in the exact same place in both of the levels as shown in the picture on the right. Now create two
trigger_changelevel entities, one in each level, and place them like shown on the right. You need to have a
trigger_changelevel in each map or the level change won't work.
The arrows indicate the direction of gameflow. Now to set the attributes. The
info_landmarks both need names, and these should be the same. Now go into the
trigger_changelevel entity's properties and for
landmark name put in the name you gave to the
info_landmark. Set up the other attributes as you did for simple level transitions. Now say you want a one way level change. This is also easy to do. Set it up exactly as above, only put one of the
trigger_chanelevel s up near the ceiling where the player won't be able to touch it. I usually make it a small cube up in the corner of the ceiling. If it doesn't work, ask yourself the following questions:
- Did I set the attributes up according to the tutorial?
- Do I have a trigger_changelevel on each map?
- Did I run the level from WorldCraft? (see More on Level Transitions)
- Did I skip over parts of the tutorial?
Trigger_transition
The
trigger_transition is another brush based entity. Basically, it creates an area that enables a
trigger_changelevel. That is, the level change will only occur if the player is in this area. It is really simple to set up. Give it a
name and in the
trigger_changelevel entity, put that name in for
landmark name. If you are using an
info_landmark entity, give the
trigger_transition the same
name as the
info_landmark
More on Level Transitions
If you compile your level and then run it from WorldCraft, then when you get to your level transition, you will end up in a wall in the next level. This is due to a bug in Worldcraft. So what should you do? Compile your level as normal and then start up Half-Life and load your level from the console. You can find an example map
here.