Portals are a powerful mapping feature which allow a variety of rendering effects; they allow an architectural surface to be used as a "window" which can display something besides the texture that would normally cover the surface. Anything from simple fixed plane, to another area of the map can be rendered within these surfaces via the same architecture.
'Portal window' refers to the area of the screen that a portal occupies. For example:
This is a simple map with no portal surfaces, and no portal window.
This is the same simple map with a fixed plane portal applied to the ceiling of the sector. The portal window is outlined in white.
This is the map, but the same plane portal is applied to the ceiling and the far wall. The two surfaces display the same portal, and as such, they share a common portal window (also outlined in white).
All surfaces in a scene that have a common portal will share the same portal window.
A sector off of the main map area which is used by line or sector specials as a model, or as housing for lines which need to be a specific size.
Your answer was just what I nedeed. It's made my day!
Horizon Plane Portals
Horizon portals display two planes which appear to go on forever until they meet in the middle (horizon). The plane coordinates are not fixed, and will appear to move with the camera. This can be used to achieve the illusion that water or grass goes off far into the distance without having to make overly large sectors.
- 286 Apply horizon portal to the ceilings of tagged sectors
- 287 Apply horizon portal to the floors of tagged sectors
- 288 Apply horizon portal to the floors and ceilings of tagged sectors
Like the fixed plane portals, the front sector of the special line is used. The top plane uses the front sector ceiling (height, texture, scrolling, light) as its model, and the bottom plane uses the front sector floor (height, texture, scrolling, light) as its model. Example:
This map has a horizon portal applied to the ceiling and wall of the sector where the player starts. Both sectors have a floor height of 0, and a ceiling height of 72, but the floor texture in the dummy sector is set to a grass texture, and the ceiling texture is set to FSKY_1. This produces a field of grass which goes on into the horizon. If the camera moves up or down, the floor plane will appear to move along with it. If the ceiling plane had a regular texture on it, it would also move with the camera and appear to go off into the distance.
Note: If the camera ever travels below the floor height of a horizon portal, the bottom plane will appear to move in the opposite direction of the camera movement until the camera is once again above the floor height.
Good points all around. Truly arppeicaetd.
Anchored portals are the most powerful and complex of all the basic portal types. Anchored portals will render another area of the map into the portal window, but the portal camera moves as the player moves, creating the illusion that the other area of the map is actually connected to the main area. This can be used to create the appearance of 3D architecture. Before use, however, an understanding of how these portals work is important.
In order to piece the parts of a map together, an anchored portal needs to know how far apart they are. The distance is determined with the use of specific line specials. Each anchored portal needs a "portal line" (the line with the anchored portal special) which usually area the portal should render, and an "anchor line" which is usually located in the main map area. The distance between these lines becomes the offset, that is, how far Eternity needs to move the camera from where the player stands to get the portal area.
- 295 Apply anchored portal to the ceilings of all tagged sectors
- 296 Apply anchored portal to the floors of all tagged sectors
- 297 Apply anchored portal to the floors and ceilings of all tagged sectors
- 298 Anchor line (for specials 295 and 297)
- 299 Anchor line (for special 296)
There are two different anchor line types so a different anchored portal can be placed on the ceiling and floor of the same sector. The two portals will share the sector tag.
The above map has a single anchored portal applied to the inner sector of the area the player start is in. The "portal area" is to the right, and the "main area" is to the left. The view height is not changed, so the portal area needs to be set above the main area, or there will be HOM in the portal window. Note that no camera objects are needed for this effect. The portal will create a temporary camera automatically.
Here's how it works:
When the map is loaded, the the centers of both lines (the portal and the anchor line) are calculated, and the distance between those centers is determined:
In the example, the distance is 512 units to the east and 0 units north. This set of numbers becomes the "portal offset" (distance between where the player stands and where the portal camera should go) and when the portal is rendered, the portal camera is place 512 map units east of the player camera, and the map is rendered from the portal camera.
If the portal camera becomes obstructed, unwanted results can occur:
In the example above, the camera actually "wanders" out of the portal area and into the main part of the map resulting in an unwanted wall rendering in the portal window. To prevent occurrences such as this, it is usually a good idea to place the portal area a good distance away from any other map architecture to prevent the camera from "wandering into" anything else. If the camera moves out of the portal area, it won't cause problems as long as it is not obstructed by other map architecture.
- See: Linked portals